diff --git a/.github/workflows/autogen-remote-changes.yml b/.github/workflows/autogen-remote-changes.yml
index 13bc201..8cc24cc 100644
--- a/.github/workflows/autogen-remote-changes.yml
+++ b/.github/workflows/autogen-remote-changes.yml
@@ -20,9 +20,9 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v3
with:
- node-version: '18'
+ node-version: '18'
- name: Install OpenAPI Generator CLI
- run: npm install @openapitools/openapi-generator-cli -g
+ run: npm install @openapitools/openapi-generator-cli@2.31.1 -g
- name: Install dependencies
run: |
python -m pip install --upgrade pip
@@ -32,11 +32,33 @@ jobs:
- name: Check for changes
id: check_changes
run: |
- if git diff --quiet; then
+ git add -A
+ if git diff --cached --quiet; then
echo "changes=false" >> $GITHUB_ENV
else
echo "changes=true" >> $GITHUB_ENV
fi
+ - name: Install GitHub CLI
+ if: env.changes == 'true'
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y gh
+ - name: Check for existing pull request
+ if: env.changes == 'true'
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ id: check_pr
+ run: |
+ PR_EXISTS=$(gh pr list --search "Auto-update SDK" --base main --state open --json number,headRefName -q '.[0].number')
+ if [[ -n "$PR_EXISTS" ]]; then
+ echo "pr_exists=true" >> $GITHUB_ENV
+ echo "PR_NUMBER=$PR_EXISTS" >> $GITHUB_ENV
+ EXISTING_BRANCH=$(gh pr list --search "Auto-update SDK" --base main --state open --json number,headRefName -q '.[0].headRefName')
+ echo "BRANCH_NAME=$EXISTING_BRANCH" >> $GITHUB_ENV
+ else
+ echo "pr_exists=false" >> $GITHUB_ENV
+ echo "BRANCH_NAME=auto-update-sdk-$(date +'%Y-%m-%d-%H-%M-%S')" >> $GITHUB_ENV
+ fi
- name: Set up Git
if: env.changes == 'true'
run: |
@@ -45,34 +67,13 @@ jobs:
- name: Commit changes
if: env.changes == 'true'
run: |
- BRANCH_NAME="auto-update-sdk-$(date +'%Y-%m-%d-%H-%M-%S')"
- echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
git checkout -b $BRANCH_NAME || git checkout $BRANCH_NAME
- git add .
git commit -m "Auto-update SDK on $(date +'%Y-%m-%d')"
- name: Push changes
if: env.changes == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: git push --force --set-upstream origin $BRANCH_NAME
- - name: Install GitHub CLI
- if: env.changes == 'true'
- run: |
- sudo apt-get update
- sudo apt-get install -y gh
- - name: Check for existing pull request
- if: env.changes == 'true'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- id: check_pr
- run: |
- PR_EXISTS=$(gh pr list --search "Auto-update SDK" --base main --state open --json number -q '.[0].number')
- if [[ -n "$PR_EXISTS" ]]; then
- echo "pr_exists=true" >> $GITHUB_ENV
- echo "PR_NUMBER=$PR_EXISTS" >> $GITHUB_ENV
- else
- echo "pr_exists=false" >> $GITHUB_ENV
- fi
- name: Create a pull request
if: env.changes == 'true' && env.pr_exists == 'false'
env:
@@ -81,12 +82,9 @@ jobs:
PR_TITLE="Auto-update SDK on $(date +'%Y-%m-%d')"
PR_BODY="This pull request was automatically created by GitHub Actions to update the SDK with the latest remote OpenAPI specification."
gh pr create --title "$PR_TITLE" --body "$PR_BODY" --head $BRANCH_NAME --base main
- - name: Update existing pull request
+ - name: Comment on existing pull request
if: env.changes == 'true' && env.pr_exists == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- echo "An existing pull request titled 'Auto-update SDK' is already open. Updating it with the latest changes."
- git push --set-upstream origin $BRANCH_NAME --force
gh pr comment $PR_NUMBER --body "This pull request has been updated with the latest changes from the automated SDK update process on $(date +'%Y-%m-%d %H:%M:%S')."
-
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 65b06b9..43995bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,5 +62,5 @@ docs/_build/
# PyBuilder
target/
-# Ipython Notebook
+#Ipython Notebook
.ipynb_checkpoints
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5ebcb62..8d6b781 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,6 +14,9 @@ stages:
- pip install -r test-requirements.txt
- pytest --cov=opal_security
+pytest-3.8:
+ extends: .pytest
+ image: python:3.8-alpine
pytest-3.9:
extends: .pytest
image: python:3.9-alpine
@@ -26,6 +29,3 @@ pytest-3.11:
pytest-3.12:
extends: .pytest
image: python:3.12-alpine
-pytest-3.13:
- extends: .pytest
- image: python:3.13-alpine
diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index d7b8a2d..ae34470 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -13,6 +13,7 @@ docs/AddGroupResourceRequest.md
docs/AddGroupUserRequest.md
docs/AddResourceNhiRequest.md
docs/AddResourceUserRequest.md
+docs/ApiAccessLevelEnum.md
docs/App.md
docs/AppTypeEnum.md
docs/AppValidation.md
@@ -71,6 +72,7 @@ docs/GroupRemoteInfoActiveDirectoryGroup.md
docs/GroupRemoteInfoAwsSsoGroup.md
docs/GroupRemoteInfoAzureAdMicrosoft365Group.md
docs/GroupRemoteInfoAzureAdSecurityGroup.md
+docs/GroupRemoteInfoClickhouseRole.md
docs/GroupRemoteInfoConnectorGroup.md
docs/GroupRemoteInfoDatabricksAccountGroup.md
docs/GroupRemoteInfoDevinGroup.md
@@ -87,6 +89,7 @@ docs/GroupRemoteInfoPagerdutyOnCallSchedule.md
docs/GroupRemoteInfoRootlyOnCallSchedule.md
docs/GroupRemoteInfoSnowflakeRole.md
docs/GroupRemoteInfoTailscaleGroup.md
+docs/GroupRemoteInfoTwingateGroup.md
docs/GroupRemoteInfoWorkdayUserSecurityGroup.md
docs/GroupResource.md
docs/GroupResourceList.md
@@ -125,6 +128,7 @@ docs/PaginatedOwnersList.md
docs/PaginatedRemoteUsersList.md
docs/PaginatedResourcesList.md
docs/PaginatedTagsList.md
+docs/PaginatedTokensList.md
docs/PaginatedUARsList.md
docs/PaginatedUsersList.md
docs/PropagationStatus.md
@@ -177,10 +181,13 @@ docs/ResourceRemoteInfoAzureStorageContainer.md
docs/ResourceRemoteInfoAzureSubscription.md
docs/ResourceRemoteInfoAzureUserAssignedManagedIdentity.md
docs/ResourceRemoteInfoAzureVirtualMachine.md
+docs/ResourceRemoteInfoClickhouseDatabase.md
+docs/ResourceRemoteInfoClickhouseTable.md
docs/ResourceRemoteInfoCoupaRole.md
docs/ResourceRemoteInfoCursorOrganization.md
docs/ResourceRemoteInfoCustomConnector.md
docs/ResourceRemoteInfoDatabricksAccountServicePrincipal.md
+docs/ResourceRemoteInfoDatadogRole.md
docs/ResourceRemoteInfoDatastaxAstraRole.md
docs/ResourceRemoteInfoDevinOrganization.md
docs/ResourceRemoteInfoDevinRole.md
@@ -201,6 +208,7 @@ docs/ResourceRemoteInfoGithubRepo.md
docs/ResourceRemoteInfoGitlabProject.md
docs/ResourceRemoteInfoGoogleWorkspaceRole.md
docs/ResourceRemoteInfoIlevelAdvancedRole.md
+docs/ResourceRemoteInfoNetsuiteRole.md
docs/ResourceRemoteInfoOktaApp.md
docs/ResourceRemoteInfoOktaCustomRole.md
docs/ResourceRemoteInfoOktaStandardRole.md
@@ -216,6 +224,7 @@ docs/ResourceRemoteInfoSnowflakeSchema.md
docs/ResourceRemoteInfoSnowflakeTable.md
docs/ResourceRemoteInfoTailscaleSsh.md
docs/ResourceRemoteInfoTeleportRole.md
+docs/ResourceRemoteInfoTwingateResource.md
docs/ResourceRemoteInfoWorkdayRole.md
docs/ResourceTypeEnum.md
docs/ResourceUser.md
@@ -250,6 +259,8 @@ docs/TagsList.md
docs/ThirdPartyProviderEnum.md
docs/TicketPropagationConfiguration.md
docs/TicketingProviderEnum.md
+docs/Token.md
+docs/TokensApi.md
docs/UAR.md
docs/UARReviewerAssignmentPolicyEnum.md
docs/UARScope.md
@@ -296,6 +307,7 @@ opal_security/api/requests_api.py
opal_security/api/resources_api.py
opal_security/api/sessions_api.py
opal_security/api/tags_api.py
+opal_security/api/tokens_api.py
opal_security/api/uars_api.py
opal_security/api/users_api.py
opal_security/api_client.py
@@ -312,6 +324,7 @@ opal_security/models/add_group_resource_request.py
opal_security/models/add_group_user_request.py
opal_security/models/add_resource_nhi_request.py
opal_security/models/add_resource_user_request.py
+opal_security/models/api_access_level_enum.py
opal_security/models/app.py
opal_security/models/app_type_enum.py
opal_security/models/app_validation.py
@@ -364,6 +377,7 @@ opal_security/models/group_remote_info_active_directory_group.py
opal_security/models/group_remote_info_aws_sso_group.py
opal_security/models/group_remote_info_azure_ad_microsoft365_group.py
opal_security/models/group_remote_info_azure_ad_security_group.py
+opal_security/models/group_remote_info_clickhouse_role.py
opal_security/models/group_remote_info_connector_group.py
opal_security/models/group_remote_info_databricks_account_group.py
opal_security/models/group_remote_info_devin_group.py
@@ -380,6 +394,7 @@ opal_security/models/group_remote_info_pagerduty_on_call_schedule.py
opal_security/models/group_remote_info_rootly_on_call_schedule.py
opal_security/models/group_remote_info_snowflake_role.py
opal_security/models/group_remote_info_tailscale_group.py
+opal_security/models/group_remote_info_twingate_group.py
opal_security/models/group_remote_info_workday_user_security_group.py
opal_security/models/group_resource.py
opal_security/models/group_resource_list.py
@@ -412,6 +427,7 @@ opal_security/models/paginated_owners_list.py
opal_security/models/paginated_remote_users_list.py
opal_security/models/paginated_resources_list.py
opal_security/models/paginated_tags_list.py
+opal_security/models/paginated_tokens_list.py
opal_security/models/paginated_uars_list.py
opal_security/models/paginated_users_list.py
opal_security/models/propagation_status.py
@@ -463,10 +479,13 @@ opal_security/models/resource_remote_info_azure_storage_container.py
opal_security/models/resource_remote_info_azure_subscription.py
opal_security/models/resource_remote_info_azure_user_assigned_managed_identity.py
opal_security/models/resource_remote_info_azure_virtual_machine.py
+opal_security/models/resource_remote_info_clickhouse_database.py
+opal_security/models/resource_remote_info_clickhouse_table.py
opal_security/models/resource_remote_info_coupa_role.py
opal_security/models/resource_remote_info_cursor_organization.py
opal_security/models/resource_remote_info_custom_connector.py
opal_security/models/resource_remote_info_databricks_account_service_principal.py
+opal_security/models/resource_remote_info_datadog_role.py
opal_security/models/resource_remote_info_datastax_astra_role.py
opal_security/models/resource_remote_info_devin_organization.py
opal_security/models/resource_remote_info_devin_role.py
@@ -487,6 +506,7 @@ opal_security/models/resource_remote_info_github_repo.py
opal_security/models/resource_remote_info_gitlab_project.py
opal_security/models/resource_remote_info_google_workspace_role.py
opal_security/models/resource_remote_info_ilevel_advanced_role.py
+opal_security/models/resource_remote_info_netsuite_role.py
opal_security/models/resource_remote_info_okta_app.py
opal_security/models/resource_remote_info_okta_custom_role.py
opal_security/models/resource_remote_info_okta_standard_role.py
@@ -502,6 +522,7 @@ opal_security/models/resource_remote_info_snowflake_schema.py
opal_security/models/resource_remote_info_snowflake_table.py
opal_security/models/resource_remote_info_tailscale_ssh.py
opal_security/models/resource_remote_info_teleport_role.py
+opal_security/models/resource_remote_info_twingate_resource.py
opal_security/models/resource_remote_info_workday_role.py
opal_security/models/resource_type_enum.py
opal_security/models/resource_user.py
@@ -533,6 +554,7 @@ opal_security/models/tags_list.py
opal_security/models/third_party_provider_enum.py
opal_security/models/ticket_propagation_configuration.py
opal_security/models/ticketing_provider_enum.py
+opal_security/models/token.py
opal_security/models/uar.py
opal_security/models/uar_reviewer_assignment_policy_enum.py
opal_security/models/uar_scope.py
@@ -565,4 +587,15 @@ setup.cfg
setup.py
test-requirements.txt
test/__init__.py
+test/test_api_access_level_enum.py
+test/test_group_remote_info_clickhouse_role.py
+test/test_group_remote_info_twingate_group.py
+test/test_paginated_tokens_list.py
+test/test_resource_remote_info_clickhouse_database.py
+test/test_resource_remote_info_clickhouse_table.py
+test/test_resource_remote_info_datadog_role.py
+test/test_resource_remote_info_netsuite_role.py
+test/test_resource_remote_info_twingate_resource.py
+test/test_token.py
+test/test_tokens_api.py
tox.ini
diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION
index 3821090..758bb9c 100644
--- a/.openapi-generator/VERSION
+++ b/.openapi-generator/VERSION
@@ -1 +1 @@
-7.19.0
+7.10.0
diff --git a/.travis.yml b/.travis.yml
index ccfd00c..6c5030e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,13 +1,13 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
+ - "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- - "3.13"
# uncomment the following if needed
- #- "3.13-dev" # 3.13 development branch
+ #- "3.12-dev" # 3.12 development branch
#- "nightly" # nightly build
# command to install dependencies
install:
diff --git a/README.md b/README.md
index d02bce9..78b7c4b 100644
--- a/README.md
+++ b/README.md
@@ -5,14 +5,14 @@ This Python package is automatically generated by the [OpenAPI Generator](https:
- API version: 1.0
- [Releases](https://github.com/opalsecurity/opal-python/releases/)
-- Generator version: 7.19.0
+- Generator version: 7.10.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://www.opal.dev/](https://www.opal.dev/)
## Requirements.
-Python 3.9+
+Python 3.8+
## Installation & Usage
### pip install
@@ -77,6 +77,7 @@ configuration = opal.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
+
# Enter a context with an instance of the API client
with opal.ApiClient(configuration) as api_client:
# Create an instance of the API class
@@ -168,6 +169,7 @@ Class | Method | HTTP request | Description
*DelegationsApi* | [**get_delegation**](docs/DelegationsApi.md#get_delegation) | **GET** /delegations/{delegation_id} | Get delegation by ID
*DelegationsApi* | [**get_delegations**](docs/DelegationsApi.md#get_delegations) | **GET** /delegations | Get delegations
*EventsApi* | [**events**](docs/EventsApi.md#events) | **GET** /events |
+*EventsApi* | [**get_event**](docs/EventsApi.md#get_event) | **GET** /events/{event_id} | Get event by ID
*GroupBindingsApi* | [**create_group_binding**](docs/GroupBindingsApi.md#create_group_binding) | **POST** /group-bindings |
*GroupBindingsApi* | [**delete_group_binding**](docs/GroupBindingsApi.md#delete_group_binding) | **DELETE** /group-bindings/{group_binding_id} |
*GroupBindingsApi* | [**get_group_binding**](docs/GroupBindingsApi.md#get_group_binding) | **GET** /group-bindings/{group_binding_id} | Get group binding by ID
@@ -268,6 +270,8 @@ Class | Method | HTTP request | Description
*TagsApi* | [**remove_group_tag**](docs/TagsApi.md#remove_group_tag) | **DELETE** /tags/{tag_id}/groups/{group_id} |
*TagsApi* | [**remove_resource_tag**](docs/TagsApi.md#remove_resource_tag) | **DELETE** /tags/{tag_id}/resources/{resource_id} |
*TagsApi* | [**remove_user_tag**](docs/TagsApi.md#remove_user_tag) | **DELETE** /tags/{tag_id}/users/{user_id} |
+*TokensApi* | [**delete_token**](docs/TokensApi.md#delete_token) | **DELETE** /tokens/{token_id} | Delete token
+*TokensApi* | [**get_tokens**](docs/TokensApi.md#get_tokens) | **GET** /tokens | Get tokens
*UarsApi* | [**create_uar**](docs/UarsApi.md#create_uar) | **POST** /uar |
*UarsApi* | [**get_uar**](docs/UarsApi.md#get_uar) | **GET** /uar/{uar_id} |
*UarsApi* | [**get_uars**](docs/UarsApi.md#get_uars) | **GET** /uars |
@@ -288,6 +292,7 @@ Class | Method | HTTP request | Description
- [AddGroupUserRequest](docs/AddGroupUserRequest.md)
- [AddResourceNhiRequest](docs/AddResourceNhiRequest.md)
- [AddResourceUserRequest](docs/AddResourceUserRequest.md)
+ - [ApiAccessLevelEnum](docs/ApiAccessLevelEnum.md)
- [App](docs/App.md)
- [AppTypeEnum](docs/AppTypeEnum.md)
- [AppValidation](docs/AppValidation.md)
@@ -340,6 +345,7 @@ Class | Method | HTTP request | Description
- [GroupRemoteInfoAwsSsoGroup](docs/GroupRemoteInfoAwsSsoGroup.md)
- [GroupRemoteInfoAzureAdMicrosoft365Group](docs/GroupRemoteInfoAzureAdMicrosoft365Group.md)
- [GroupRemoteInfoAzureAdSecurityGroup](docs/GroupRemoteInfoAzureAdSecurityGroup.md)
+ - [GroupRemoteInfoClickhouseRole](docs/GroupRemoteInfoClickhouseRole.md)
- [GroupRemoteInfoConnectorGroup](docs/GroupRemoteInfoConnectorGroup.md)
- [GroupRemoteInfoDatabricksAccountGroup](docs/GroupRemoteInfoDatabricksAccountGroup.md)
- [GroupRemoteInfoDevinGroup](docs/GroupRemoteInfoDevinGroup.md)
@@ -356,6 +362,7 @@ Class | Method | HTTP request | Description
- [GroupRemoteInfoRootlyOnCallSchedule](docs/GroupRemoteInfoRootlyOnCallSchedule.md)
- [GroupRemoteInfoSnowflakeRole](docs/GroupRemoteInfoSnowflakeRole.md)
- [GroupRemoteInfoTailscaleGroup](docs/GroupRemoteInfoTailscaleGroup.md)
+ - [GroupRemoteInfoTwingateGroup](docs/GroupRemoteInfoTwingateGroup.md)
- [GroupRemoteInfoWorkdayUserSecurityGroup](docs/GroupRemoteInfoWorkdayUserSecurityGroup.md)
- [GroupResource](docs/GroupResource.md)
- [GroupResourceList](docs/GroupResourceList.md)
@@ -388,6 +395,7 @@ Class | Method | HTTP request | Description
- [PaginatedRemoteUsersList](docs/PaginatedRemoteUsersList.md)
- [PaginatedResourcesList](docs/PaginatedResourcesList.md)
- [PaginatedTagsList](docs/PaginatedTagsList.md)
+ - [PaginatedTokensList](docs/PaginatedTokensList.md)
- [PaginatedUARsList](docs/PaginatedUARsList.md)
- [PaginatedUsersList](docs/PaginatedUsersList.md)
- [PropagationStatus](docs/PropagationStatus.md)
@@ -439,10 +447,13 @@ Class | Method | HTTP request | Description
- [ResourceRemoteInfoAzureSubscription](docs/ResourceRemoteInfoAzureSubscription.md)
- [ResourceRemoteInfoAzureUserAssignedManagedIdentity](docs/ResourceRemoteInfoAzureUserAssignedManagedIdentity.md)
- [ResourceRemoteInfoAzureVirtualMachine](docs/ResourceRemoteInfoAzureVirtualMachine.md)
+ - [ResourceRemoteInfoClickhouseDatabase](docs/ResourceRemoteInfoClickhouseDatabase.md)
+ - [ResourceRemoteInfoClickhouseTable](docs/ResourceRemoteInfoClickhouseTable.md)
- [ResourceRemoteInfoCoupaRole](docs/ResourceRemoteInfoCoupaRole.md)
- [ResourceRemoteInfoCursorOrganization](docs/ResourceRemoteInfoCursorOrganization.md)
- [ResourceRemoteInfoCustomConnector](docs/ResourceRemoteInfoCustomConnector.md)
- [ResourceRemoteInfoDatabricksAccountServicePrincipal](docs/ResourceRemoteInfoDatabricksAccountServicePrincipal.md)
+ - [ResourceRemoteInfoDatadogRole](docs/ResourceRemoteInfoDatadogRole.md)
- [ResourceRemoteInfoDatastaxAstraRole](docs/ResourceRemoteInfoDatastaxAstraRole.md)
- [ResourceRemoteInfoDevinOrganization](docs/ResourceRemoteInfoDevinOrganization.md)
- [ResourceRemoteInfoDevinRole](docs/ResourceRemoteInfoDevinRole.md)
@@ -463,6 +474,7 @@ Class | Method | HTTP request | Description
- [ResourceRemoteInfoGitlabProject](docs/ResourceRemoteInfoGitlabProject.md)
- [ResourceRemoteInfoGoogleWorkspaceRole](docs/ResourceRemoteInfoGoogleWorkspaceRole.md)
- [ResourceRemoteInfoIlevelAdvancedRole](docs/ResourceRemoteInfoIlevelAdvancedRole.md)
+ - [ResourceRemoteInfoNetsuiteRole](docs/ResourceRemoteInfoNetsuiteRole.md)
- [ResourceRemoteInfoOktaApp](docs/ResourceRemoteInfoOktaApp.md)
- [ResourceRemoteInfoOktaCustomRole](docs/ResourceRemoteInfoOktaCustomRole.md)
- [ResourceRemoteInfoOktaStandardRole](docs/ResourceRemoteInfoOktaStandardRole.md)
@@ -478,6 +490,7 @@ Class | Method | HTTP request | Description
- [ResourceRemoteInfoSnowflakeTable](docs/ResourceRemoteInfoSnowflakeTable.md)
- [ResourceRemoteInfoTailscaleSsh](docs/ResourceRemoteInfoTailscaleSsh.md)
- [ResourceRemoteInfoTeleportRole](docs/ResourceRemoteInfoTeleportRole.md)
+ - [ResourceRemoteInfoTwingateResource](docs/ResourceRemoteInfoTwingateResource.md)
- [ResourceRemoteInfoWorkdayRole](docs/ResourceRemoteInfoWorkdayRole.md)
- [ResourceTypeEnum](docs/ResourceTypeEnum.md)
- [ResourceUser](docs/ResourceUser.md)
@@ -509,6 +522,7 @@ Class | Method | HTTP request | Description
- [ThirdPartyProviderEnum](docs/ThirdPartyProviderEnum.md)
- [TicketPropagationConfiguration](docs/TicketPropagationConfiguration.md)
- [TicketingProviderEnum](docs/TicketingProviderEnum.md)
+ - [Token](docs/Token.md)
- [UAR](docs/UAR.md)
- [UARReviewerAssignmentPolicyEnum](docs/UARReviewerAssignmentPolicyEnum.md)
- [UARScope](docs/UARScope.md)
@@ -550,3 +564,4 @@ Authentication schemes defined for the API:
hello@opal.dev
+
diff --git a/api/openapi.yaml b/api/openapi.yaml
index e1dbfdc..dd34b00 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -46,6 +46,8 @@ tags:
description: Operations related to sessions
- name: tags
description: Operations related to tags
+ - name: tokens
+ description: Operations related to API tokens
- name: uars
description: Operations related to UARs
- name: users
@@ -742,6 +744,35 @@ paths:
- BearerAuth: []
tags:
- events
+ /events/{event_id}:
+ get:
+ summary: Get event by ID
+ description: Returns an `Event` object.
+ operationId: getEvent
+ parameters:
+ - description: The ID of the event.
+ example: 29827fb8-f2dd-4e80-9576-28e31e9934ac
+ explode: true
+ in: path
+ name: event_id
+ required: true
+ schema:
+ format: uuid
+ type: string
+ style: simple
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/Event"
+ description: The requested `Event`.
+ "404":
+ description: Event not found.
+ security:
+ - BearerAuth: []
+ tags:
+ - events
/groups:
get:
summary: Get groups
@@ -800,6 +831,15 @@ paths:
schema:
type: string
style: form
+ - description: The IDs of the tags to filter by. Returns only groups that have any of these tags applied.
+ in: query
+ name: tag_ids
+ required: false
+ schema:
+ type: array
+ items:
+ format: uuid
+ type: string
responses:
"200":
content:
@@ -1091,13 +1131,23 @@ paths:
format: uuid
type: string
style: simple
+ - description: The access level's remote ID to filter by.
+ example: arn:aws:iam::590304332660:role/AdministratorAccess
+ explode: true
+ in: query
+ name: access_level_remote_id
+ required: false
+ schema:
+ type: string
+ style: form
+
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/GroupContainingGroupList"
- description: The resources that the group gives access to.
+ description: The groups that the group gives access to.
security:
- BearerAuth: []
tags:
@@ -2337,6 +2387,24 @@ paths:
format: uuid
type: string
style: form
+ - description: Filter requests by the resource ID that was requested.
+ example: 37cb7e41-12ba-46da-92ff-030abe0450b1
+ in: query
+ name: resource_id
+ required: false
+ schema:
+ format: uuid
+ type: string
+ style: form
+ - description: Filter requests by the group ID that was requested.
+ example: 37cb7e41-12ba-46da-92ff-030abe0450b1
+ in: query
+ name: group_id
+ required: false
+ schema:
+ format: uuid
+ type: string
+ style: form
- description: The pagination cursor value.
example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
explode: true
@@ -2732,6 +2800,16 @@ paths:
schema:
type: string
style: form
+ - description: The IDs of the tags to filter by. Returns only resources that have any of these tags applied.
+ in: query
+ name: tag_ids
+ required: false
+ schema:
+ type: array
+ items:
+ format: uuid
+ type: string
+ style: form
responses:
"200":
content:
@@ -3834,6 +3912,16 @@ paths:
type: integer
maximum: 1000
style: form
+ - description: The IDs of the tags to filter by. Returns only users that have any of these tags applied.
+ in: query
+ name: tag_ids
+ required: false
+ schema:
+ type: array
+ items:
+ format: uuid
+ type: string
+ style: form
responses:
"200":
content:
@@ -4507,6 +4595,90 @@ paths:
- BearerAuth: []
tags:
- on-call-schedules
+ /tokens:
+ get:
+ summary: Get tokens
+ description: Returns a list of first-party API tokens for your organization. Requires admin access.
+ operationId: getTokens
+ parameters:
+ - description: The pagination cursor value.
+ example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
+ explode: true
+ in: query
+ name: cursor
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Number of results to return per page. Default is 200.
+ example: 200
+ explode: true
+ in: query
+ name: page_size
+ required: false
+ schema:
+ type: integer
+ maximum: 1000
+ style: form
+ - description: Filter by token IDs.
+ explode: false
+ in: query
+ name: token_ids
+ required: false
+ schema:
+ items:
+ format: uuid
+ type: string
+ type: array
+ style: form
+ - description: Filter by user ID.
+ example: 29827fb8-f2dd-4e80-9576-28e31e9934ac
+ explode: true
+ in: query
+ name: user_id
+ required: false
+ schema:
+ format: uuid
+ type: string
+ style: form
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/PaginatedTokensList"
+ description: A list of API tokens for your organization.
+ security:
+ - BearerAuth: []
+ tags:
+ - tokens
+ /tokens/{token_id}:
+ delete:
+ summary: Delete token
+ description: Deletes a first-party API token. Admins can delete any token. Non-admins can only delete their own tokens when the organization allows all users to create API tokens.
+ operationId: deleteToken
+ parameters:
+ - description: The ID of the token to delete.
+ example: f454d283-ca87-4a8a-bdbb-df212eca5353
+ explode: false
+ in: path
+ name: token_id
+ required: true
+ schema:
+ format: uuid
+ type: string
+ style: simple
+ responses:
+ "200":
+ description: The token was successfully deleted.
+ "403":
+ description: Not authorized to delete this token.
+ "404":
+ description: Token not found.
+ security:
+ - BearerAuth: []
+ tags:
+ - tokens
/uars:
get:
description: Returns a list of `UAR` objects.
@@ -5210,6 +5382,7 @@ components:
- COUPA
- CURSOR
- CUSTOM
+ - CUSTOM_CONNECTOR
- DATABRICKS
- DATASTAX_ASTRA
- DUO
@@ -5225,6 +5398,8 @@ components:
- MONGO
- MONGO_ATLAS
- MYSQL
+ - NETSUITE
+ - DATADOG
- OKTA_DIRECTORY
- OPENAI_PLATFORM
- OPAL
@@ -5233,6 +5408,7 @@ components:
- SNOWFLAKE
- TAILSCALE
- TELEPORT
+ - TWINGATE
- WORKDAY
example: OKTA_DIRECTORY
type: string
@@ -6646,6 +6822,9 @@ components:
- ROOTLY_ON_CALL_SCHEDULE
- DEVIN_GROUP
- GIT_HUB_ENTERPRISE_TEAM
+ - GRAFANA_TEAM
+ - CLICKHOUSE_ROLE
+ - TWINGATE_GROUP
example: OPAL_GROUP
type: string
ResourceTypeEnum:
@@ -6694,6 +6873,8 @@ components:
- GOOGLE_WORKSPACE_ROLE
- MONGO_INSTANCE
- MONGO_ATLAS_INSTANCE
+ - NETSUITE_ROLE
+ - DATADOG_ROLE
- OKTA_APP
- OKTA_ROLE
- OPAL_ROLE
@@ -6726,6 +6907,13 @@ components:
- VAULT_POLICY
- VAULT_OIDC_ROLE
- GIT_HUB_ENTERPRISE_ROLE
+ - GRAFANA_FOLDER
+ - GRAFANA_DASHBOARD
+ - GRAFANA_BASIC_ROLE
+ - GRAFANA_ROLE
+ - CLICKHOUSE_DATABASE
+ - CLICKHOUSE_TABLE
+ - TWINGATE_RESOURCE
example: AWS_IAM_ROLE
type: string
VisibilityTypeEnum:
@@ -7018,6 +7206,8 @@ components:
owner_ids:
- 7870617d-e72a-47f5-a84c-693817ab4567
- 1520617d-e72a-47f5-a84c-693817ab48ad2
+ service_user_ids:
+ - 7870617d-e72a-47f5-a84c-693817ab4568
properties:
require_manager_approval:
description: Whether this reviewer stage should require manager approval.
@@ -7035,6 +7225,13 @@ components:
example: AND
type: string
owner_ids:
+ description: The IDs of owners assigned as reviewers for this stage.
+ items:
+ type: string
+ format: uuid
+ type: array
+ service_user_ids:
+ description: The IDs of service users assigned as reviewers for this stage.
items:
type: string
format: uuid
@@ -7200,6 +7397,16 @@ components:
type: object
required:
- group_id
+ twingate_group:
+ description: Remote info for Twingate group.
+ properties:
+ group_id:
+ description: The id of the Twingate group.
+ example: R3JvdXA6MTIzNA==
+ type: string
+ type: object
+ required:
+ - group_id
aws_sso_group:
description: Remote info for AWS SSO group.
properties:
@@ -7395,6 +7602,16 @@ components:
type: object
required:
- group_name
+ clickhouse_role:
+ description: Remote info for ClickHouse role.
+ properties:
+ role_id:
+ description: The name of the ClickHouse role.
+ example: my_clickhouse_role
+ type: string
+ type: object
+ required:
+ - role_id
type: object
ResourceRemoteInfo:
description: Information that defines the remote resource. This replaces the deprecated remote_id and metadata fields.
@@ -8007,6 +8224,16 @@ components:
type: object
required:
- tag_name
+ twingate_resource:
+ description: Remote info for Twingate resource.
+ properties:
+ resource_id:
+ description: The id of the Twingate resource.
+ example: UmVzb3VyY2U6MTIzNA==
+ type: string
+ type: object
+ required:
+ - resource_id
pagerduty_role:
description: Remote info for Pagerduty role.
properties:
@@ -8168,6 +8395,51 @@ components:
type: object
required:
- role_id
+ netsuite_role:
+ description: Remote info for NetSuite role.
+ properties:
+ role_id:
+ description: The id of the role.
+ example: 123e4567-e89b-12d3-a456-426614174000
+ type: string
+ type: object
+ required:
+ - role_id
+ datadog_role:
+ description: Remote info for Datadog role.
+ properties:
+ role_id:
+ description: The id of the role.
+ example: 123e4567-e89b-12d3-a456-426614174000
+ type: string
+ type: object
+ required:
+ - role_id
+ clickhouse_database:
+ description: Remote info for ClickHouse database.
+ properties:
+ database_name:
+ description: The name of the ClickHouse database.
+ example: my_database
+ type: string
+ type: object
+ required:
+ - database_name
+ clickhouse_table:
+ description: Remote info for ClickHouse table.
+ properties:
+ database_name:
+ description: The name of the ClickHouse database containing the table.
+ example: my_database
+ type: string
+ table_name:
+ description: The name of the ClickHouse table.
+ example: my_table
+ type: string
+ type: object
+ required:
+ - database_name
+ - table_name
type: object
RiskSensitivityEnum:
type: string
@@ -11196,6 +11468,98 @@ components:
- start_time
- end_time
- reason
+ ApiAccessLevelEnum:
+ description: The access level of an API token.
+ enum:
+ - READ_ONLY
+ - FULL_ACCESS
+ type: string
+ Token:
+ description: A first-party API token.
+ example:
+ token_id: f454d283-ca87-4a8a-bdbb-df212eca5353
+ created_at: 2022-01-23T04:56:07Z
+ token_preview: ab123
+ token_label: My API Token
+ creator_user_id: d4a7d928-783e-4599-8ec6-088d635a5bcc
+ user_id: d4a7d928-783e-4599-8ec6-088d635a5bcc
+ access_level: READ_ONLY
+ properties:
+ token_id:
+ description: The ID of the API token.
+ example: f454d283-ca87-4a8a-bdbb-df212eca5353
+ format: uuid
+ type: string
+ created_at:
+ description: The date and time the token was created.
+ example: 2022-01-23T04:56:07Z
+ format: date-time
+ type: string
+ token_label:
+ description: A human-readable label for the token.
+ example: My API Token
+ type: string
+ creator_user_id:
+ description: The ID of the user who created the token.
+ example: d4a7d928-783e-4599-8ec6-088d635a5bcc
+ format: uuid
+ type: string
+ user_id:
+ description: The ID of the user the token authenticates as.
+ example: d4a7d928-783e-4599-8ec6-088d635a5bcc
+ format: uuid
+ type: string
+ last_used_at:
+ description: The date and time the token was last used.
+ example: 2022-01-23T04:56:07Z
+ format: date-time
+ nullable: true
+ type: string
+ access_level:
+ $ref: "#/components/schemas/ApiAccessLevelEnum"
+ expires_at:
+ description: The date and time the token expires.
+ example: 2023-01-23T04:56:07Z
+ format: date-time
+ nullable: true
+ type: string
+ required:
+ - token_id
+ - created_at
+ - token_label
+ - creator_user_id
+ - user_id
+ - access_level
+ type: object
+ PaginatedTokensList:
+ example:
+ next: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
+ previous: cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ
+ results:
+ - token_id: f454d283-ca87-4a8a-bdbb-df212eca5353
+ created_at: 2022-01-23T04:56:07Z
+ token_label: My API Token
+ creator_user_id: d4a7d928-783e-4599-8ec6-088d635a5bcc
+ user_id: d4a7d928-783e-4599-8ec6-088d635a5bcc
+ access_level: READ_ONLY
+ properties:
+ next:
+ description: The cursor with which to continue pagination if additional result pages exist.
+ example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
+ nullable: true
+ type: string
+ previous:
+ description: The cursor used to obtain the current result page.
+ example: cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ
+ nullable: true
+ type: string
+ results:
+ items:
+ $ref: "#/components/schemas/Token"
+ type: array
+ required:
+ - results
+ type: object
securitySchemes:
BearerAuth:
scheme: bearer
diff --git a/docs/Access.md b/docs/Access.md
index bdd49ba..b4f9af5 100644
--- a/docs/Access.md
+++ b/docs/Access.md
@@ -6,9 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**principal_id** | **UUID** | The ID of the principal with access. |
+**principal_id** | **str** | The ID of the principal with access. |
**principal_type** | [**EntityTypeEnum**](EntityTypeEnum.md) | |
-**entity_id** | **UUID** | The ID of the entity being accessed. |
+**entity_id** | **str** | The ID of the entity being accessed. |
**entity_type** | [**EntityTypeEnum**](EntityTypeEnum.md) | |
**access_level** | [**ResourceAccessLevel**](ResourceAccessLevel.md) | | [optional]
**expiration_date** | **datetime** | The day and time the principal's access will expire. | [optional]
diff --git a/docs/AccessRule.md b/docs/AccessRule.md
index fd609da..943471b 100644
--- a/docs/AccessRule.md
+++ b/docs/AccessRule.md
@@ -6,10 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**access_rule_id** | **UUID** | The ID (group ID) of the access rule. |
+**access_rule_id** | **str** | The ID (group ID) of the access rule. |
**name** | **str** | The name of the access rule. |
**description** | **str** | A description of the group. |
-**admin_owner_id** | **UUID** | The ID of the owner of the group. |
+**admin_owner_id** | **str** | The ID of the owner of the group. |
**status** | **str** | The status of the access rule. |
**rule_clauses** | [**RuleClauses**](RuleClauses.md) | |
diff --git a/docs/AccessRulesApi.md b/docs/AccessRulesApi.md
index 34e92d3..5c9f233 100644
--- a/docs/AccessRulesApi.md
+++ b/docs/AccessRulesApi.md
@@ -12,6 +12,8 @@ Method | HTTP request | Description
# **create_access_rule**
> AccessRule create_access_rule(update_access_rule_info)
+
+
Creates a new access rule config for the given group_id.
### Example
@@ -90,6 +92,8 @@ Name | Type | Description | Notes
# **get_access_rule**
> AccessRule get_access_rule(access_rule_id)
+
+
Returns a list of access rule config given the group_id of the access rule.
### Example
@@ -124,7 +128,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.AccessRulesApi(api_client)
- access_rule_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The access rule ID (group ID) of the access rule.
+ access_rule_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The access rule ID (group ID) of the access rule.
try:
api_response = api_instance.get_access_rule(access_rule_id)
@@ -141,7 +145,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **access_rule_id** | **UUID**| The access rule ID (group ID) of the access rule. |
+ **access_rule_id** | **str**| The access rule ID (group ID) of the access rule. |
### Return type
@@ -167,6 +171,8 @@ Name | Type | Description | Notes
# **update_access_rule**
> AccessRule update_access_rule(access_rule_id, update_access_rule_info)
+
+
Updates the access rule config for the given group_id.
### Example
@@ -202,7 +208,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.AccessRulesApi(api_client)
- access_rule_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The access rule ID (group ID) of the access rule.
+ access_rule_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The access rule ID (group ID) of the access rule.
update_access_rule_info = opal_security.UpdateAccessRuleInfo() # UpdateAccessRuleInfo |
try:
@@ -220,7 +226,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **access_rule_id** | **UUID**| The access rule ID (group ID) of the access rule. |
+ **access_rule_id** | **str**| The access rule ID (group ID) of the access rule. |
**update_access_rule_info** | [**UpdateAccessRuleInfo**](UpdateAccessRuleInfo.md)| |
### Return type
diff --git a/docs/AddBundleGroupRequest.md b/docs/AddBundleGroupRequest.md
index baff33c..964cc21 100644
--- a/docs/AddBundleGroupRequest.md
+++ b/docs/AddBundleGroupRequest.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group to add. |
+**group_id** | **str** | The ID of the group to add. |
**access_level_remote_id** | **str** | The remote ID of the access level to grant to this user. Required if the group being added requires an access level. If omitted, the default access level remote ID value (empty string) is used. | [optional]
**access_level_name** | **str** | The name of the access level to grant to this user. If omitted, the default access level name value (empty string) is used. | [optional]
diff --git a/docs/AddBundleResourceRequest.md b/docs/AddBundleResourceRequest.md
index 149614d..1e9cc63 100644
--- a/docs/AddBundleResourceRequest.md
+++ b/docs/AddBundleResourceRequest.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource to add. |
+**resource_id** | **str** | The ID of the resource to add. |
**access_level_remote_id** | **str** | The remote ID of the access level to grant to this user. Required if the resource being added requires an access level. If omitted, the default access level remote ID value (empty string) is used. | [optional]
**access_level_name** | **str** | The name of the access level to grant to this user. If omitted, the default access level name value (empty string) is used. | [optional]
diff --git a/docs/ApiAccessLevelEnum.md b/docs/ApiAccessLevelEnum.md
new file mode 100644
index 0000000..4b74de5
--- /dev/null
+++ b/docs/ApiAccessLevelEnum.md
@@ -0,0 +1,13 @@
+# ApiAccessLevelEnum
+
+The access level of an API token.
+
+## Enum
+
+* `READ_ONLY` (value: `'READ_ONLY'`)
+
+* `FULL_ACCESS` (value: `'FULL_ACCESS'`)
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/App.md b/docs/App.md
index d430853..ecf9c58 100644
--- a/docs/App.md
+++ b/docs/App.md
@@ -6,10 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**app_id** | **UUID** | The ID of the app. |
+**app_id** | **str** | The ID of the app. |
**name** | **str** | The name of the app. |
**description** | **str** | A description of the app. |
-**admin_owner_id** | **UUID** | The ID of the owner of the app. |
+**admin_owner_id** | **str** | The ID of the owner of the app. |
**app_type** | [**AppTypeEnum**](AppTypeEnum.md) | |
**validations** | [**List[AppValidation]**](AppValidation.md) | Validation checks of an apps' configuration and permissions. | [optional]
diff --git a/docs/AppTypeEnum.md b/docs/AppTypeEnum.md
index 39ddd28..9b9198a 100644
--- a/docs/AppTypeEnum.md
+++ b/docs/AppTypeEnum.md
@@ -20,6 +20,8 @@ The type of an app.
* `CUSTOM` (value: `'CUSTOM'`)
+* `CUSTOM_CONNECTOR` (value: `'CUSTOM_CONNECTOR'`)
+
* `DATABRICKS` (value: `'DATABRICKS'`)
* `DATASTAX_ASTRA` (value: `'DATASTAX_ASTRA'`)
@@ -50,6 +52,10 @@ The type of an app.
* `MYSQL` (value: `'MYSQL'`)
+* `NETSUITE` (value: `'NETSUITE'`)
+
+* `DATADOG` (value: `'DATADOG'`)
+
* `OKTA_DIRECTORY` (value: `'OKTA_DIRECTORY'`)
* `OPENAI_PLATFORM` (value: `'OPENAI_PLATFORM'`)
@@ -66,6 +72,8 @@ The type of an app.
* `TELEPORT` (value: `'TELEPORT'`)
+* `TWINGATE` (value: `'TWINGATE'`)
+
* `WORKDAY` (value: `'WORKDAY'`)
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/AppsApi.md b/docs/AppsApi.md
index c431723..571c9d5 100644
--- a/docs/AppsApi.md
+++ b/docs/AppsApi.md
@@ -48,7 +48,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.AppsApi(api_client)
- app_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the app.
+ app_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the app.
try:
# Get app by ID
@@ -66,7 +66,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_id** | **UUID**| The ID of the app. |
+ **app_id** | **str**| The ID of the app. |
### Return type
@@ -130,7 +130,7 @@ with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.AppsApi(api_client)
app_type_filter = [opal_security.AppTypeEnum()] # List[AppTypeEnum] | A list of app types to filter by. (optional)
- owner_filter = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | An owner ID to filter by. (optional)
+ owner_filter = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | An owner ID to filter by. (optional)
try:
# Get apps
@@ -149,7 +149,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**app_type_filter** | [**List[AppTypeEnum]**](AppTypeEnum.md)| A list of app types to filter by. | [optional]
- **owner_filter** | **UUID**| An owner ID to filter by. | [optional]
+ **owner_filter** | **str**| An owner ID to filter by. | [optional]
### Return type
@@ -175,6 +175,8 @@ Name | Type | Description | Notes
# **get_sync_errors**
> List[SyncErrorList] get_sync_errors(app_id=app_id, resource_id=resource_id, group_id=group_id)
+
+
Returns a list of recent sync errors that have occurred since the last successful sync.
### Example
@@ -209,9 +211,9 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.AppsApi(api_client)
- app_id = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | The ID of the app to list sync errors for. (optional)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource to list sync errors for. (optional)
- group_id = UUID('9546209c-42c2-4801-96d7-9ec42df0f59c') # UUID | The ID of the group to list sync errors for. (optional)
+ app_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | The ID of the app to list sync errors for. (optional)
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource to list sync errors for. (optional)
+ group_id = '9546209c-42c2-4801-96d7-9ec42df0f59c' # str | The ID of the group to list sync errors for. (optional)
try:
api_response = api_instance.get_sync_errors(app_id=app_id, resource_id=resource_id, group_id=group_id)
@@ -228,9 +230,9 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_id** | **UUID**| The ID of the app to list sync errors for. | [optional]
- **resource_id** | **UUID**| The ID of the resource to list sync errors for. | [optional]
- **group_id** | **UUID**| The ID of the group to list sync errors for. | [optional]
+ **app_id** | **str**| The ID of the app to list sync errors for. | [optional]
+ **resource_id** | **str**| The ID of the resource to list sync errors for. | [optional]
+ **group_id** | **str**| The ID of the group to list sync errors for. | [optional]
### Return type
diff --git a/docs/Bundle.md b/docs/Bundle.md
index d4e8920..320cab4 100644
--- a/docs/Bundle.md
+++ b/docs/Bundle.md
@@ -5,12 +5,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**bundle_id** | **UUID** | The ID of the bundle. | [optional] [readonly]
+**bundle_id** | **str** | The ID of the bundle. | [optional] [readonly]
**name** | **str** | The name of the bundle. | [optional]
**description** | **str** | The description of the bundle. | [optional]
**created_at** | **datetime** | The creation timestamp of the bundle, in ISO 8601 format | [optional] [readonly]
**updated_at** | **datetime** | The last updated timestamp of the bundle, in ISO 8601 format | [optional] [readonly]
-**admin_owner_id** | **UUID** | The ID of the owner of the bundle. | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the bundle. | [optional]
**total_num_items** | **int** | The total number of items in the bundle. | [optional] [readonly]
**total_num_resources** | **int** | The total number of resources in the bundle. | [optional] [readonly]
**total_num_groups** | **int** | The total number of groups in the bundle. | [optional] [readonly]
diff --git a/docs/BundleGroup.md b/docs/BundleGroup.md
index bf3e350..cfc76e8 100644
--- a/docs/BundleGroup.md
+++ b/docs/BundleGroup.md
@@ -5,8 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**bundle_id** | **UUID** | The ID of the bundle containing the group. | [optional] [readonly]
-**group_id** | **UUID** | The ID of the group within a bundle. | [optional] [readonly]
+**bundle_id** | **str** | The ID of the bundle containing the group. | [optional] [readonly]
+**group_id** | **str** | The ID of the group within a bundle. | [optional] [readonly]
**access_level_name** | **str** | The access level of the group within a bundle. | [optional]
**access_level_remote_id** | **str** | The remote ID of the access level of the group within a bundle. | [optional]
diff --git a/docs/BundleResource.md b/docs/BundleResource.md
index 522ff73..85b9285 100644
--- a/docs/BundleResource.md
+++ b/docs/BundleResource.md
@@ -5,8 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**bundle_id** | **UUID** | The ID of the bundle containing the resource. | [optional] [readonly]
-**resource_id** | **UUID** | The ID of the resource within a bundle. | [optional] [readonly]
+**bundle_id** | **str** | The ID of the bundle containing the resource. | [optional] [readonly]
+**resource_id** | **str** | The ID of the resource within a bundle. | [optional] [readonly]
**access_level_name** | **str** | The access level of the resource within a bundle. | [optional]
**access_level_remote_id** | **str** | The remote ID of the access level of the resource within a bundle. | [optional]
diff --git a/docs/BundlesApi.md b/docs/BundlesApi.md
index 1afe0d3..1f56fb9 100644
--- a/docs/BundlesApi.md
+++ b/docs/BundlesApi.md
@@ -22,6 +22,8 @@ Method | HTTP request | Description
# **add_bundle_group**
> BundleGroup add_bundle_group(bundle_id, add_bundle_group_request)
+
+
Adds a group to a bundle.
### Example
@@ -57,7 +59,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
add_bundle_group_request = opal_security.AddBundleGroupRequest() # AddBundleGroupRequest |
try:
@@ -75,7 +77,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
**add_bundle_group_request** | [**AddBundleGroupRequest**](AddBundleGroupRequest.md)| |
### Return type
@@ -102,6 +104,8 @@ Name | Type | Description | Notes
# **add_bundle_resource**
> BundleResource add_bundle_resource(bundle_id, add_bundle_resource_request=add_bundle_resource_request)
+
+
Adds a resource to a bundle.
### Example
@@ -137,7 +141,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
add_bundle_resource_request = opal_security.AddBundleResourceRequest() # AddBundleResourceRequest | (optional)
try:
@@ -155,7 +159,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
**add_bundle_resource_request** | [**AddBundleResourceRequest**](AddBundleResourceRequest.md)| | [optional]
### Return type
@@ -182,6 +186,8 @@ Name | Type | Description | Notes
# **create_bundle**
> Bundle create_bundle(create_bundle_info)
+
+
Creates a bundle.
### Example
@@ -260,6 +266,8 @@ Name | Type | Description | Notes
# **delete_bundle**
> delete_bundle(bundle_id)
+
+
Deletes a bundle.
### Example
@@ -293,7 +301,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
try:
api_instance.delete_bundle(bundle_id)
@@ -308,7 +316,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
### Return type
@@ -370,7 +378,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
try:
# Get bundle by ID
@@ -388,7 +396,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
### Return type
@@ -414,6 +422,8 @@ Name | Type | Description | Notes
# **get_bundle_groups**
> PaginatedBundleGroupList get_bundle_groups(bundle_id, page_size=page_size, cursor=cursor)
+
+
Returns a list of `Group` objects in a given bundle.
### Example
@@ -448,7 +458,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
page_size = 200 # int | The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | A cursor indicating where to start fetching items after a specific point. (optional)
@@ -467,7 +477,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
**page_size** | **int**| The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000. | [optional]
**cursor** | **str**| A cursor indicating where to start fetching items after a specific point. | [optional]
@@ -495,6 +505,8 @@ Name | Type | Description | Notes
# **get_bundle_resources**
> PaginatedBundleResourceList get_bundle_resources(bundle_id, page_size=page_size, cursor=cursor)
+
+
Returns a list of `Resource` objects in a given bundle.
### Example
@@ -529,7 +541,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
page_size = 200 # int | The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | A cursor indicating where to start fetching items after a specific point. (optional)
@@ -548,7 +560,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
**page_size** | **int**| The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000. | [optional]
**cursor** | **str**| A cursor indicating where to start fetching items after a specific point. | [optional]
@@ -576,6 +588,8 @@ Name | Type | Description | Notes
# **get_bundle_visibility**
> VisibilityInfo get_bundle_visibility(bundle_id)
+
+
Gets the visibility of the bundle.
### Example
@@ -610,7 +624,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
try:
api_response = api_instance.get_bundle_visibility(bundle_id)
@@ -627,7 +641,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
### Return type
@@ -737,6 +751,8 @@ Name | Type | Description | Notes
# **remove_bundle_group**
> remove_bundle_group(bundle_id, group_id, access_level_remote_id=access_level_remote_id)
+
+
Removes a group from a bundle.
### Example
@@ -770,8 +786,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
- group_id = UUID('72e75a6f-7183-48c5-94ff-6013f213314b') # UUID | The ID of the group to remove.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
+ group_id = '72e75a6f-7183-48c5-94ff-6013f213314b' # str | The ID of the group to remove.
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level to remove. (optional)
try:
@@ -787,8 +803,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
- **group_id** | **UUID**| The ID of the group to remove. |
+ **bundle_id** | **str**| The ID of the bundle. |
+ **group_id** | **str**| The ID of the group to remove. |
**access_level_remote_id** | **str**| The remote ID of the access level to remove. | [optional]
### Return type
@@ -815,6 +831,8 @@ void (empty response body)
# **remove_bundle_resource**
> remove_bundle_resource(bundle_id, resource_id, access_level_remote_id=access_level_remote_id)
+
+
Removes a resource from a bundle.
### Example
@@ -848,8 +866,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
- resource_id = UUID('72e75a6f-7183-48c5-94ff-6013f213314b') # UUID | The ID of the resource to remove.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
+ resource_id = '72e75a6f-7183-48c5-94ff-6013f213314b' # str | The ID of the resource to remove.
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used. (optional)
try:
@@ -865,8 +883,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
- **resource_id** | **UUID**| The ID of the resource to remove. |
+ **bundle_id** | **str**| The ID of the bundle. |
+ **resource_id** | **str**| The ID of the resource to remove. |
**access_level_remote_id** | **str**| The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used. | [optional]
### Return type
@@ -893,6 +911,8 @@ void (empty response body)
# **set_bundle_visibility**
> set_bundle_visibility(bundle_id, visibility_info)
+
+
Sets the visibility of the bundle.
### Example
@@ -927,7 +947,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle.
visibility_info = opal_security.VisibilityInfo() # VisibilityInfo |
try:
@@ -943,7 +963,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle. |
+ **bundle_id** | **str**| The ID of the bundle. |
**visibility_info** | [**VisibilityInfo**](VisibilityInfo.md)| |
### Return type
@@ -970,6 +990,8 @@ void (empty response body)
# **update_bundle**
> Bundle update_bundle(bundle_id, bundle)
+
+
Updates a bundle.
### Example
@@ -1004,7 +1026,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.BundlesApi(api_client)
- bundle_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the bundle to be updated.
+ bundle_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the bundle to be updated.
bundle = opal_security.Bundle() # Bundle |
try:
@@ -1022,7 +1044,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **bundle_id** | **UUID**| The ID of the bundle to be updated. |
+ **bundle_id** | **str**| The ID of the bundle to be updated. |
**bundle** | [**Bundle**](Bundle.md)| |
### Return type
diff --git a/docs/Condition.md b/docs/Condition.md
index 96cdedc..bf1d6ca 100644
--- a/docs/Condition.md
+++ b/docs/Condition.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_ids** | **List[UUID]** | The list of group IDs to match. | [optional]
+**group_ids** | **List[str]** | The list of group IDs to match. | [optional]
**role_remote_ids** | **List[str]** | The list of role remote IDs to match. | [optional]
## Example
diff --git a/docs/ConfigurationTemplate.md b/docs/ConfigurationTemplate.md
index 749d708..fd67c7f 100644
--- a/docs/ConfigurationTemplate.md
+++ b/docs/ConfigurationTemplate.md
@@ -6,14 +6,14 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**configuration_template_id** | **UUID** | The ID of the configuration template. | [optional]
+**configuration_template_id** | **str** | The ID of the configuration template. | [optional]
**name** | **str** | The name of the configuration template. | [optional]
-**admin_owner_id** | **UUID** | The ID of the owner of the configuration template. | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the configuration template. | [optional]
**visibility** | [**VisibilityInfo**](VisibilityInfo.md) | The visibility info of the configuration template. | [optional]
-**linked_audit_message_channel_ids** | **List[UUID]** | The IDs of the audit message channels linked to the configuration template. | [optional]
-**request_configuration_id** | **UUID** | The ID of the request configuration linked to the configuration template. | [optional]
-**member_oncall_schedule_ids** | **List[UUID]** | The IDs of the on-call schedules linked to the configuration template. | [optional]
-**break_glass_user_ids** | **List[UUID]** | The IDs of the break glass users linked to the configuration template. | [optional]
+**linked_audit_message_channel_ids** | **List[str]** | The IDs of the audit message channels linked to the configuration template. | [optional]
+**request_configuration_id** | **str** | The ID of the request configuration linked to the configuration template. | [optional]
+**member_oncall_schedule_ids** | **List[str]** | The IDs of the on-call schedules linked to the configuration template. | [optional]
+**break_glass_user_ids** | **List[str]** | The IDs of the break glass users linked to the configuration template. | [optional]
**require_mfa_to_approve** | **bool** | A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template. | [optional]
**require_mfa_to_connect** | **bool** | A bool representing whether or not to require MFA to connect to resources associated with this configuration template. | [optional]
**ticket_propagation** | [**TicketPropagationConfiguration**](TicketPropagationConfiguration.md) | | [optional]
diff --git a/docs/ConfigurationTemplatesApi.md b/docs/ConfigurationTemplatesApi.md
index 0271618..c10b46f 100644
--- a/docs/ConfigurationTemplatesApi.md
+++ b/docs/ConfigurationTemplatesApi.md
@@ -13,6 +13,8 @@ Method | HTTP request | Description
# **create_configuration_template**
> ConfigurationTemplate create_configuration_template(create_configuration_template_info)
+
+
Creates a configuration template.
### Example
@@ -91,6 +93,8 @@ Name | Type | Description | Notes
# **delete_configuration_template**
> delete_configuration_template(configuration_template_id)
+
+
Deletes a configuration template.
### Example
@@ -124,7 +128,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ConfigurationTemplatesApi(api_client)
- configuration_template_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the configuration template.
+ configuration_template_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the configuration template.
try:
api_instance.delete_configuration_template(configuration_template_id)
@@ -139,7 +143,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **configuration_template_id** | **UUID**| The ID of the configuration template. |
+ **configuration_template_id** | **str**| The ID of the configuration template. |
### Return type
@@ -165,6 +169,8 @@ void (empty response body)
# **get_configuration_templates**
> PaginatedConfigurationTemplateList get_configuration_templates()
+
+
Returns a list of `ConfigurationTemplate` objects.
### Example
@@ -238,6 +244,8 @@ This endpoint does not need any parameter.
# **update_configuration_template**
> ConfigurationTemplate update_configuration_template(update_configuration_template_info)
+
+
Update a configuration template.
### Example
diff --git a/docs/CreateConfigurationTemplateInfo.md b/docs/CreateConfigurationTemplateInfo.md
index b041f65..f4ecc26 100644
--- a/docs/CreateConfigurationTemplateInfo.md
+++ b/docs/CreateConfigurationTemplateInfo.md
@@ -6,11 +6,11 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**admin_owner_id** | **UUID** | The ID of the owner of the configuration template. |
+**admin_owner_id** | **str** | The ID of the owner of the configuration template. |
**visibility** | [**VisibilityInfo**](VisibilityInfo.md) | The visibility info of the configuration template. |
-**linked_audit_message_channel_ids** | **List[UUID]** | The IDs of the audit message channels linked to the configuration template. | [optional]
-**member_oncall_schedule_ids** | **List[UUID]** | The IDs of the on-call schedules linked to the configuration template. | [optional]
-**break_glass_user_ids** | **List[UUID]** | The IDs of the break glass users linked to the configuration template. | [optional]
+**linked_audit_message_channel_ids** | **List[str]** | The IDs of the audit message channels linked to the configuration template. | [optional]
+**member_oncall_schedule_ids** | **List[str]** | The IDs of the on-call schedules linked to the configuration template. | [optional]
+**break_glass_user_ids** | **List[str]** | The IDs of the break glass users linked to the configuration template. | [optional]
**require_mfa_to_approve** | **bool** | A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template. |
**require_mfa_to_connect** | **bool** | A bool representing whether or not to require MFA to connect to resources associated with this configuration template. |
**name** | **str** | The name of the configuration template. |
diff --git a/docs/CreateDelegationRequest.md b/docs/CreateDelegationRequest.md
index 1bc3e1e..8ef0955 100644
--- a/docs/CreateDelegationRequest.md
+++ b/docs/CreateDelegationRequest.md
@@ -6,8 +6,8 @@ Request body for creating a new delegation of access review requests from one us
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**delegator_user_id** | **UUID** | The ID of the user delegating their access review requests. |
-**delegate_user_id** | **UUID** | The ID of the user being delegated to. |
+**delegator_user_id** | **str** | The ID of the user delegating their access review requests. |
+**delegate_user_id** | **str** | The ID of the user being delegated to. |
**start_time** | **datetime** | The start time of the delegation. |
**end_time** | **datetime** | The end time of the delegation. |
**reason** | **str** | The reason for the delegation. |
diff --git a/docs/CreateGroupBindingInfo.md b/docs/CreateGroupBindingInfo.md
index 432ea8f..638b6ef 100644
--- a/docs/CreateGroupBindingInfo.md
+++ b/docs/CreateGroupBindingInfo.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**source_group_id** | **UUID** | The ID of the source group. |
+**source_group_id** | **str** | The ID of the source group. |
**groups** | [**List[CreateGroupBindingInfoGroupsInner]**](CreateGroupBindingInfoGroupsInner.md) | The list of groups. |
## Example
diff --git a/docs/CreateGroupBindingInfoGroupsInner.md b/docs/CreateGroupBindingInfoGroupsInner.md
index 75d80db..7b42c06 100644
--- a/docs/CreateGroupBindingInfoGroupsInner.md
+++ b/docs/CreateGroupBindingInfoGroupsInner.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
+**group_id** | **str** | The ID of the group. |
## Example
diff --git a/docs/CreateGroupInfo.md b/docs/CreateGroupInfo.md
index 28c71d7..178f8e8 100644
--- a/docs/CreateGroupInfo.md
+++ b/docs/CreateGroupInfo.md
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
**name** | **str** | The name of the remote group. |
**description** | **str** | A description of the remote group. | [optional]
**group_type** | [**GroupTypeEnum**](GroupTypeEnum.md) | |
-**app_id** | **UUID** | The ID of the app for the group. |
+**app_id** | **str** | The ID of the app for the group. |
**remote_info** | [**GroupRemoteInfo**](GroupRemoteInfo.md) | | [optional]
**remote_group_id** | **str** | Deprecated - use remote_info instead. The ID of the group on the remote system. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field. | [optional]
**metadata** | **str** | Deprecated - use remote_info instead. JSON metadata about the remote group. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field. The required format is dependent on group_type and should have the following schema: <style type=\"text/css\"> code {max-height:300px !important} </style> ```json { \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\": \"Group Metadata\", \"properties\": { \"ad_group\": { \"properties\": { \"object_guid\": { \"type\": \"string\" } }, \"required\": [\"object_guid\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Active Directory Group\" }, \"duo_group\": { \"properties\": { \"group_id\": { \"type\": \"string\" } }, \"required\": [\"group_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Duo Group\" }, \"git_hub_team\": { \"properties\": { \"org_name\": { \"type\": \"string\" }, \"team_slug\": { \"type\": \"string\" } }, \"required\": [\"org_name\", \"team_slug\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GitHub Team\" }, \"google_groups_group\": { \"properties\": { \"group_id\": { \"type\": \"string\" } }, \"required\": [\"group_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Google Groups Group\" }, \"ldap_group\": { \"properties\": { \"group_uid\": { \"type\": \"string\" } }, \"required\": [\"group_uid\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"LDAP Group\" }, \"okta_directory_group\": { \"properties\": { \"group_id\": { \"type\": \"string\" } }, \"required\": [\"group_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Okta Directory Group\" } }, \"additionalProperties\": false, \"minProperties\": 1, \"maxProperties\": 1, \"type\": \"object\" } ``` | [optional]
diff --git a/docs/CreateOwnerInfo.md b/docs/CreateOwnerInfo.md
index 7faa6e9..f93de7b 100644
--- a/docs/CreateOwnerInfo.md
+++ b/docs/CreateOwnerInfo.md
@@ -9,9 +9,9 @@ Name | Type | Description | Notes
**name** | **str** | The name of the owner. |
**description** | **str** | A description of the owner. | [optional]
**access_request_escalation_period** | **int** | The amount of time (in minutes) before the next reviewer is notified. Use 0 to remove escalation policy. | [optional]
-**user_ids** | **List[UUID]** | Users to add to the created owner. If setting a source_group_id this list must be empty. |
+**user_ids** | **List[str]** | Users to add to the created owner. If setting a source_group_id this list must be empty. |
**reviewer_message_channel_id** | **str** | The message channel id for the reviewer channel. | [optional]
-**source_group_id** | **UUID** | Sync this owner's user list with a source group. | [optional]
+**source_group_id** | **str** | Sync this owner's user list with a source group. | [optional]
## Example
diff --git a/docs/CreateRequest200Response.md b/docs/CreateRequest200Response.md
index 2148f3e..d6b8473 100644
--- a/docs/CreateRequest200Response.md
+++ b/docs/CreateRequest200Response.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | | [optional]
+**id** | **str** | | [optional]
## Example
diff --git a/docs/CreateRequestInfo.md b/docs/CreateRequestInfo.md
index 013a85a..94cccb3 100644
--- a/docs/CreateRequestInfo.md
+++ b/docs/CreateRequestInfo.md
@@ -8,8 +8,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**resources** | [**List[CreateRequestInfoResourcesInner]**](CreateRequestInfoResourcesInner.md) | |
**groups** | [**List[CreateRequestInfoGroupsInner]**](CreateRequestInfoGroupsInner.md) | |
-**target_user_id** | **UUID** | The ID of the user to be granted access. Should not be specified if target_group_id is specified. | [optional]
-**target_group_id** | **UUID** | The ID of the group the request is for. Should not be specified if target_user_id is specified. | [optional]
+**target_user_id** | **str** | The ID of the user to be granted access. Should not be specified if target_group_id is specified. | [optional]
+**target_group_id** | **str** | The ID of the group the request is for. Should not be specified if target_user_id is specified. | [optional]
**reason** | **str** | |
**support_ticket** | [**CreateRequestInfoSupportTicket**](CreateRequestInfoSupportTicket.md) | | [optional]
**duration_minutes** | **int** | The duration of the request in minutes. -1 represents an indefinite duration |
diff --git a/docs/CreateRequestInfoGroupsInner.md b/docs/CreateRequestInfoGroupsInner.md
index 26c34be..45f80bb 100644
--- a/docs/CreateRequestInfoGroupsInner.md
+++ b/docs/CreateRequestInfoGroupsInner.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | The ID of the group requested. Should not be specified if resource_id is specified. |
+**id** | **str** | The ID of the group requested. Should not be specified if resource_id is specified. |
**access_level_remote_id** | **str** | The ID of the access level requested on the remote system. | [optional]
**access_level_name** | **str** | The ID of the access level requested on the remote system. | [optional]
diff --git a/docs/CreateRequestInfoResourcesInner.md b/docs/CreateRequestInfoResourcesInner.md
index e862d8e..cda443b 100644
--- a/docs/CreateRequestInfoResourcesInner.md
+++ b/docs/CreateRequestInfoResourcesInner.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | The ID of the resource requested. Should not be specified if group_id is specified. | [optional]
+**id** | **str** | The ID of the resource requested. Should not be specified if group_id is specified. | [optional]
**access_level_remote_id** | **str** | The ID of the access level requested on the remote system. | [optional]
**access_level_name** | **str** | The ID of the access level requested on the remote system. This field is deprecated and no longer required. We will populate based on the access_level_remote_id. | [optional]
diff --git a/docs/CreateResourceInfo.md b/docs/CreateResourceInfo.md
index 6d0e662..546ca08 100644
--- a/docs/CreateResourceInfo.md
+++ b/docs/CreateResourceInfo.md
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
**name** | **str** | The name of the remote resource. |
**description** | **str** | A description of the remote resource. | [optional]
**resource_type** | [**ResourceTypeEnum**](ResourceTypeEnum.md) | |
-**app_id** | **UUID** | The ID of the app for the resource. |
+**app_id** | **str** | The ID of the app for the resource. |
**remote_info** | [**ResourceRemoteInfo**](ResourceRemoteInfo.md) | | [optional]
**remote_resource_id** | **str** | Deprecated - use remote_info instead. The ID of the resource on the remote system. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field. | [optional]
**metadata** | **str** | Deprecated - use remote_info instead. JSON metadata about the remote resource. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field. The required format is dependent on resource_type and should have the following schema: <style type=\"text/css\"> code {max-height:300px !important} </style> ```json { \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\": \"Resource Metadata\", \"properties\": { \"aws_ec2_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"region\": { \"type\": \"string\" } }, \"required\": [\"instance_id\", \"region\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS EC2 Instance\" }, \"aws_eks_cluster\": { \"properties\": { \"cluster_name\": { \"type\": \"string\" }, \"cluster_region\": { \"type\": \"string\" }, \"cluster_arn\": { \"type\": \"string\" } }, \"required\": [\"cluster_name\", \"cluster_region\", \"cluster_arn\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS EKS Cluster\" }, \"aws_rds_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"engine\": { \"type\": \"string\" }, \"region\": { \"type\": \"string\" }, \"resource_id\": { \"type\": \"string\" }, \"database_name\": { \"type\": \"string\" } }, \"required\": [ \"instance_id\", \"engine\", \"region\", \"resource_id\", \"database_name\" ], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS RDS Instance\" }, \"aws_role\": { \"properties\": { \"arn\": { \"type\": \"string\" }, \"name\": { \"type\": \"string\" } }, \"required\": [\"arn\", \"name\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS Role\" }, \"gcp_bucket\": { \"properties\": { \"bucket_id\": { \"type\": \"string\" } }, \"required\": [\"bucket_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Bucket\" }, \"gcp_compute_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"project_id\": { \"type\": \"string\" }, \"zone\": { \"type\": \"string\" } }, \"required\": [\"instance_id\", \"project_id\", \"zone\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Compute Instance\" }, \"gcp_folder\": { \"properties\": { \"folder_id\": { \"type\": \"string\" } }, \"required\": [\"folder_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Folder\" }, \"gcp_gke_cluster\": { \"properties\": { \"cluster_name\": { \"type\": \"string\" } }, \"required\": [\"cluster_name\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP GKE Cluster\" }, \"gcp_project\": { \"properties\": { \"project_id\": { \"type\": \"string\" } }, \"required\": [\"project_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Project\" }, \"gcp_sql_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"project_id\": { \"type\": \"string\" } }, \"required\": [\"instance_id\", \"project_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP SQL Instance\" }, \"git_hub_repo\": { \"properties\": { \"org_name\": { \"type\": \"string\" }, \"repo_name\": { \"type\": \"string\" } }, \"required\": [\"org_name\", \"repo_name\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GitHub Repo\" }, \"okta_directory_app\": { \"properties\": { \"app_id\": { \"type\": \"string\" }, \"logo_url\": { \"type\": \"string\" } }, \"required\": [\"app_id\", \"logo_url\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Okta Directory App\" }, \"okta_directory_role\": { \"properties\": { \"role_type\": { \"type\": \"string\" }, \"role_id\": { \"type\": \"string\" } }, \"required\": [\"role_type\", \"role_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Okta Directory Role\" }, \"salesforce_profile\": { \"properties\": { \"user_license\": { \"type\": \"string\" } }, \"required\": [\"user_license\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Salesforce Profile\" } }, \"additionalProperties\": false, \"minProperties\": 1, \"maxProperties\": 1, \"type\": \"object\" } ``` | [optional]
diff --git a/docs/Delegation.md b/docs/Delegation.md
index 2a9f50e..6e186b6 100644
--- a/docs/Delegation.md
+++ b/docs/Delegation.md
@@ -6,9 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | The ID of the delegation. |
-**delegator_user_id** | **UUID** | The ID of the user delegating their access review requests. |
-**delegate_user_id** | **UUID** | The ID of the user being delegated to. |
+**id** | **str** | The ID of the delegation. |
+**delegator_user_id** | **str** | The ID of the user delegating their access review requests. |
+**delegate_user_id** | **str** | The ID of the user being delegated to. |
**start_time** | **datetime** | The start time of the delegation. |
**end_time** | **datetime** | The end time of the delegation. |
**reason** | **str** | The reason for the delegation. |
diff --git a/docs/DelegationsApi.md b/docs/DelegationsApi.md
index 0c5259e..4754605 100644
--- a/docs/DelegationsApi.md
+++ b/docs/DelegationsApi.md
@@ -13,6 +13,8 @@ Method | HTTP request | Description
# **create_delegation**
> Delegation create_delegation(create_delegation_request)
+
+
Creates a new request reviewer delegation to delegate access review requests from one user to another.
### Example
@@ -91,6 +93,8 @@ Name | Type | Description | Notes
# **delete_delegation**
> delete_delegation(delegation_id)
+
+
Deletes a delegation by its ID.
### Example
@@ -124,7 +128,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.DelegationsApi(api_client)
- delegation_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the delegation to remove.
+ delegation_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the delegation to remove.
try:
api_instance.delete_delegation(delegation_id)
@@ -139,7 +143,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **delegation_id** | **UUID**| The ID of the delegation to remove. |
+ **delegation_id** | **str**| The ID of the delegation to remove. |
### Return type
@@ -201,7 +205,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.DelegationsApi(api_client)
- delegation_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the delegation to retrieve.
+ delegation_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the delegation to retrieve.
try:
# Get delegation by ID
@@ -219,7 +223,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **delegation_id** | **UUID**| The ID of the delegation to retrieve. |
+ **delegation_id** | **str**| The ID of the delegation to retrieve. |
### Return type
@@ -281,8 +285,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.DelegationsApi(api_client)
- delegator_user_id = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | The delegator user ID to filter delegations by the user delegating their access review requests. (optional)
- delegate_user_id = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | The delegate user ID to filter delegations by the user being delegated to. (optional)
+ delegator_user_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | The delegator user ID to filter delegations by the user delegating their access review requests. (optional)
+ delegate_user_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | The delegate user ID to filter delegations by the user being delegated to. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | A cursor to indicate where to start fetching results. (optional)
page_size = 200 # int | The maximum number of results to return per page. The default is 200. (optional)
@@ -302,8 +306,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **delegator_user_id** | **UUID**| The delegator user ID to filter delegations by the user delegating their access review requests. | [optional]
- **delegate_user_id** | **UUID**| The delegate user ID to filter delegations by the user being delegated to. | [optional]
+ **delegator_user_id** | **str**| The delegator user ID to filter delegations by the user delegating their access review requests. | [optional]
+ **delegate_user_id** | **str**| The delegate user ID to filter delegations by the user being delegated to. | [optional]
**cursor** | **str**| A cursor to indicate where to start fetching results. | [optional]
**page_size** | **int**| The maximum number of results to return per page. The default is 200. | [optional]
diff --git a/docs/Event.md b/docs/Event.md
index 8ff4cc1..d1b9b9c 100644
--- a/docs/Event.md
+++ b/docs/Event.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**event_id** | **UUID** | The ID of the event. |
-**actor_user_id** | **UUID** | The ID of the actor user. |
+**event_id** | **str** | The ID of the event. |
+**actor_user_id** | **str** | The ID of the actor user. |
**actor_name** | **object** | |
**actor_email** | **str** | The email of the actor user. | [optional]
**event_type** | **str** | The event type. |
diff --git a/docs/EventsApi.md b/docs/EventsApi.md
index d71cefc..1c8edba 100644
--- a/docs/EventsApi.md
+++ b/docs/EventsApi.md
@@ -5,11 +5,14 @@ All URIs are relative to *https://api.opal.dev/v1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**events**](EventsApi.md#events) | **GET** /events |
+[**get_event**](EventsApi.md#get_event) | **GET** /events/{event_id} | Get event by ID
# **events**
> PaginatedEventList events(start_date_filter=start_date_filter, end_date_filter=end_date_filter, actor_filter=actor_filter, object_filter=object_filter, event_type_filter=event_type_filter, api_token_filter=api_token_filter, cursor=cursor, page_size=page_size)
+
+
Returns a list of `Event` objects.
### Example
@@ -46,8 +49,8 @@ with opal_security.ApiClient(configuration) as api_client:
api_instance = opal_security.EventsApi(api_client)
start_date_filter = '2021-11-01' # str | A start date filter for the events. (optional)
end_date_filter = '2021-11-12' # str | An end date filter for the events. (optional)
- actor_filter = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | An actor filter for the events. Supply the ID of the actor. (optional)
- object_filter = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | An object filter for the events. Supply the ID of the object. (optional)
+ actor_filter = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | An actor filter for the events. Supply the ID of the actor. (optional)
+ object_filter = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | An object filter for the events. Supply the ID of the object. (optional)
event_type_filter = 'USER_MFA_RESET' # str | An event type filter for the events. (optional)
api_token_filter = 'fullaccess:**************************M_g==' # str | An API filter for the events. Supply the name and preview of the API token. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
@@ -70,8 +73,8 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**start_date_filter** | **str**| A start date filter for the events. | [optional]
**end_date_filter** | **str**| An end date filter for the events. | [optional]
- **actor_filter** | **UUID**| An actor filter for the events. Supply the ID of the actor. | [optional]
- **object_filter** | **UUID**| An object filter for the events. Supply the ID of the object. | [optional]
+ **actor_filter** | **str**| An actor filter for the events. Supply the ID of the actor. | [optional]
+ **object_filter** | **str**| An object filter for the events. Supply the ID of the object. | [optional]
**event_type_filter** | **str**| An event type filter for the events. | [optional]
**api_token_filter** | **str**| An API filter for the events. Supply the name and preview of the API token. | [optional]
**cursor** | **str**| The pagination cursor value. | [optional]
@@ -98,3 +101,84 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **get_event**
+> Event get_event(event_id)
+
+Get event by ID
+
+Returns an `Event` object.
+
+### Example
+
+* Bearer Authentication (BearerAuth):
+
+```python
+import opal_security
+from opal_security.models.event import Event
+from opal_security.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://api.opal.dev/v1
+# See configuration.py for a list of all supported configuration parameters.
+import opal_security as opal
+
+configuration = opal.Configuration(
+ host = "https://api.opal.dev/v1"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: BearerAuth
+configuration = opal.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with opal_security.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = opal_security.EventsApi(api_client)
+ event_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | The ID of the event.
+
+ try:
+ # Get event by ID
+ api_response = api_instance.get_event(event_id)
+ print("The response of EventsApi->get_event:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling EventsApi->get_event: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **event_id** | **str**| The ID of the event. |
+
+### Return type
+
+[**Event**](Event.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | The requested `Event`. | - |
+**404** | Event not found. | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/Group.md b/docs/Group.md
index 45928d5..17ae2d2 100644
--- a/docs/Group.md
+++ b/docs/Group.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
-**app_id** | **UUID** | The ID of the group's app. | [optional]
+**group_id** | **str** | The ID of the group. |
+**app_id** | **str** | The ID of the group's app. | [optional]
**name** | **str** | The name of the group. | [optional]
**description** | **str** | A description of the group. | [optional]
-**admin_owner_id** | **UUID** | The ID of the owner of the group. | [optional]
-**group_leader_user_ids** | **List[UUID]** | A list of User IDs for the group leaders of the group | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the group. | [optional]
+**group_leader_user_ids** | **List[str]** | A list of User IDs for the group leaders of the group | [optional]
**remote_id** | **str** | The ID of the remote. | [optional]
**remote_name** | **str** | The name of the remote. | [optional]
**group_type** | [**GroupTypeEnum**](GroupTypeEnum.md) | | [optional]
@@ -23,9 +23,9 @@ Name | Type | Description | Notes
**require_mfa_to_approve** | **bool** | A bool representing whether or not to require MFA for reviewers to approve requests for this group. | [optional]
**require_mfa_to_request** | **bool** | A bool representing whether or not to require MFA for requesting access to this group. | [optional]
**auto_approval** | **bool** | A bool representing whether or not to automatically approve requests to this group. | [optional]
-**request_template_id** | **UUID** | The ID of the associated request template. | [optional]
-**configuration_template_id** | **UUID** | The ID of the associated configuration template. | [optional]
-**group_binding_id** | **UUID** | The ID of the associated group binding. | [optional]
+**request_template_id** | **str** | The ID of the associated request template. | [optional]
+**configuration_template_id** | **str** | The ID of the associated configuration template. | [optional]
+**group_binding_id** | **str** | The ID of the associated group binding. | [optional]
**is_requestable** | **bool** | A bool representing whether or not to allow access requests to this group. | [optional]
**request_configurations** | [**List[RequestConfiguration]**](RequestConfiguration.md) | A list of request configurations for this group. | [optional]
**request_configuration_list** | [**List[RequestConfiguration]**](RequestConfiguration.md) | A list of request configurations for this group. Deprecated in favor of `request_configurations`. | [optional]
diff --git a/docs/GroupBinding.md b/docs/GroupBinding.md
index d695775..3268905 100644
--- a/docs/GroupBinding.md
+++ b/docs/GroupBinding.md
@@ -6,10 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_binding_id** | **UUID** | The ID of the group binding. |
-**created_by_id** | **UUID** | The ID of the user that created the group binding. |
+**group_binding_id** | **str** | The ID of the group binding. |
+**created_by_id** | **str** | The ID of the user that created the group binding. |
**created_at** | **datetime** | The date the group binding was created. |
-**source_group_id** | **UUID** | The ID of the source group. |
+**source_group_id** | **str** | The ID of the source group. |
**groups** | [**List[GroupBindingGroup]**](GroupBindingGroup.md) | The list of groups. |
## Example
diff --git a/docs/GroupBindingGroup.md b/docs/GroupBindingGroup.md
index 115af3f..28817a8 100644
--- a/docs/GroupBindingGroup.md
+++ b/docs/GroupBindingGroup.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
+**group_id** | **str** | The ID of the group. |
**group_type** | [**GroupTypeEnum**](GroupTypeEnum.md) | |
## Example
diff --git a/docs/GroupBindingsApi.md b/docs/GroupBindingsApi.md
index 12166a9..0c72847 100644
--- a/docs/GroupBindingsApi.md
+++ b/docs/GroupBindingsApi.md
@@ -14,6 +14,8 @@ Method | HTTP request | Description
# **create_group_binding**
> GroupBinding create_group_binding(create_group_binding_info)
+
+
Creates a group binding.
### Example
@@ -92,6 +94,8 @@ Name | Type | Description | Notes
# **delete_group_binding**
> delete_group_binding(group_binding_id)
+
+
Deletes a group binding.
### Example
@@ -125,7 +129,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupBindingsApi(api_client)
- group_binding_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group binding.
+ group_binding_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group binding.
try:
api_instance.delete_group_binding(group_binding_id)
@@ -140,7 +144,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_binding_id** | **UUID**| The ID of the group binding. |
+ **group_binding_id** | **str**| The ID of the group binding. |
### Return type
@@ -202,7 +206,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupBindingsApi(api_client)
- group_binding_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the group binding.
+ group_binding_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the group binding.
try:
# Get group binding by ID
@@ -220,7 +224,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_binding_id** | **UUID**| The ID of the group binding. |
+ **group_binding_id** | **str**| The ID of the group binding. |
### Return type
@@ -328,6 +332,8 @@ Name | Type | Description | Notes
# **update_group_bindings**
> update_group_bindings(update_group_binding_info_list)
+
+
Bulk updates a list of group bindings.
### Example
diff --git a/docs/GroupContainingGroup.md b/docs/GroupContainingGroup.md
index ed7139c..33f0617 100644
--- a/docs/GroupContainingGroup.md
+++ b/docs/GroupContainingGroup.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**containing_group_id** | **UUID** | The groupID of the containing group. |
+**containing_group_id** | **str** | The groupID of the containing group. |
**duration_minutes** | **int** | The updated duration for which the group can be accessed (in minutes). Use 0 for indefinite. | [optional]
**access_level_remote_id** | **str** | The updated remote ID of the access level granted to this group. | [optional]
diff --git a/docs/GroupRemoteInfo.md b/docs/GroupRemoteInfo.md
index 8c437a9..9246310 100644
--- a/docs/GroupRemoteInfo.md
+++ b/docs/GroupRemoteInfo.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**active_directory_group** | [**GroupRemoteInfoActiveDirectoryGroup**](GroupRemoteInfoActiveDirectoryGroup.md) | | [optional]
**tailscale_group** | [**GroupRemoteInfoTailscaleGroup**](GroupRemoteInfoTailscaleGroup.md) | | [optional]
+**twingate_group** | [**GroupRemoteInfoTwingateGroup**](GroupRemoteInfoTwingateGroup.md) | | [optional]
**aws_sso_group** | [**GroupRemoteInfoAwsSsoGroup**](GroupRemoteInfoAwsSsoGroup.md) | | [optional]
**databricks_account_group** | [**GroupRemoteInfoDatabricksAccountGroup**](GroupRemoteInfoDatabricksAccountGroup.md) | | [optional]
**connector_group** | [**GroupRemoteInfoConnectorGroup**](GroupRemoteInfoConnectorGroup.md) | | [optional]
@@ -27,6 +28,7 @@ Name | Type | Description | Notes
**incidentio_on_call_schedule** | [**GroupRemoteInfoIncidentioOnCallSchedule**](GroupRemoteInfoIncidentioOnCallSchedule.md) | | [optional]
**rootly_on_call_schedule** | [**GroupRemoteInfoRootlyOnCallSchedule**](GroupRemoteInfoRootlyOnCallSchedule.md) | | [optional]
**devin_group** | [**GroupRemoteInfoDevinGroup**](GroupRemoteInfoDevinGroup.md) | | [optional]
+**clickhouse_role** | [**GroupRemoteInfoClickhouseRole**](GroupRemoteInfoClickhouseRole.md) | | [optional]
## Example
diff --git a/docs/GroupRemoteInfoClickhouseRole.md b/docs/GroupRemoteInfoClickhouseRole.md
new file mode 100644
index 0000000..84e3c32
--- /dev/null
+++ b/docs/GroupRemoteInfoClickhouseRole.md
@@ -0,0 +1,30 @@
+# GroupRemoteInfoClickhouseRole
+
+Remote info for ClickHouse role.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**role_id** | **str** | The name of the ClickHouse role. |
+
+## Example
+
+```python
+from opal_security.models.group_remote_info_clickhouse_role import GroupRemoteInfoClickhouseRole
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of GroupRemoteInfoClickhouseRole from a JSON string
+group_remote_info_clickhouse_role_instance = GroupRemoteInfoClickhouseRole.from_json(json)
+# print the JSON string representation of the object
+print(GroupRemoteInfoClickhouseRole.to_json())
+
+# convert the object into a dict
+group_remote_info_clickhouse_role_dict = group_remote_info_clickhouse_role_instance.to_dict()
+# create an instance of GroupRemoteInfoClickhouseRole from a dict
+group_remote_info_clickhouse_role_from_dict = GroupRemoteInfoClickhouseRole.from_dict(group_remote_info_clickhouse_role_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GroupRemoteInfoTwingateGroup.md b/docs/GroupRemoteInfoTwingateGroup.md
new file mode 100644
index 0000000..bb96f34
--- /dev/null
+++ b/docs/GroupRemoteInfoTwingateGroup.md
@@ -0,0 +1,30 @@
+# GroupRemoteInfoTwingateGroup
+
+Remote info for Twingate group.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**group_id** | **str** | The id of the Twingate group. |
+
+## Example
+
+```python
+from opal_security.models.group_remote_info_twingate_group import GroupRemoteInfoTwingateGroup
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of GroupRemoteInfoTwingateGroup from a JSON string
+group_remote_info_twingate_group_instance = GroupRemoteInfoTwingateGroup.from_json(json)
+# print the JSON string representation of the object
+print(GroupRemoteInfoTwingateGroup.to_json())
+
+# convert the object into a dict
+group_remote_info_twingate_group_dict = group_remote_info_twingate_group_instance.to_dict()
+# create an instance of GroupRemoteInfoTwingateGroup from a dict
+group_remote_info_twingate_group_from_dict = GroupRemoteInfoTwingateGroup.from_dict(group_remote_info_twingate_group_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GroupResource.md b/docs/GroupResource.md
index a33105f..d591583 100644
--- a/docs/GroupResource.md
+++ b/docs/GroupResource.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
-**resource_id** | **UUID** | The ID of the resource. |
+**group_id** | **str** | The ID of the group. |
+**resource_id** | **str** | The ID of the resource. |
**group_name** | **str** | The name of the group | [optional]
**resource_name** | **str** | The name of the resource | [optional]
**expiration_date** | **datetime** | The day and time the group's access will expire. | [optional]
diff --git a/docs/GroupTypeEnum.md b/docs/GroupTypeEnum.md
index bde50ae..21cf51a 100644
--- a/docs/GroupTypeEnum.md
+++ b/docs/GroupTypeEnum.md
@@ -52,6 +52,12 @@ The type of the group.
* `GIT_HUB_ENTERPRISE_TEAM` (value: `'GIT_HUB_ENTERPRISE_TEAM'`)
+* `GRAFANA_TEAM` (value: `'GRAFANA_TEAM'`)
+
+* `CLICKHOUSE_ROLE` (value: `'CLICKHOUSE_ROLE'`)
+
+* `TWINGATE_GROUP` (value: `'TWINGATE_GROUP'`)
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/GroupUser.md b/docs/GroupUser.md
index 457bf0a..380f6bd 100644
--- a/docs/GroupUser.md
+++ b/docs/GroupUser.md
@@ -6,10 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
+**group_id** | **str** | The ID of the group. |
**group_name** | **str** | The name of the group. |
**description** | **str** | The description of the group. |
-**user_id** | **UUID** | The ID of the user. |
+**user_id** | **str** | The ID of the user. |
**access_level** | [**GroupAccessLevel**](GroupAccessLevel.md) | | [optional]
**full_name** | **str** | The user's full name. |
**email** | **str** | The user's email. |
diff --git a/docs/GroupWithAccessLevel.md b/docs/GroupWithAccessLevel.md
index 1ffc929..14c078e 100644
--- a/docs/GroupWithAccessLevel.md
+++ b/docs/GroupWithAccessLevel.md
@@ -6,7 +6,7 @@ Information about a group and corresponding access level
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
+**group_id** | **str** | The ID of the group. |
**access_level_remote_id** | **str** | The ID of the resource. | [optional]
## Example
diff --git a/docs/GroupsApi.md b/docs/GroupsApi.md
index 8ffc357..4a41d75 100644
--- a/docs/GroupsApi.md
+++ b/docs/GroupsApi.md
@@ -37,6 +37,8 @@ Method | HTTP request | Description
# **add_group_containing_group**
> GroupContainingGroup add_group_containing_group(group_id, group_containing_group)
+
+
Creates a new containing group.
### Example
@@ -71,7 +73,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
group_containing_group = opal_security.GroupContainingGroup() # GroupContainingGroup |
try:
@@ -89,7 +91,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**group_containing_group** | [**GroupContainingGroup**](GroupContainingGroup.md)| |
### Return type
@@ -116,6 +118,8 @@ Name | Type | Description | Notes
# **add_group_resource**
> GroupResource add_group_resource(group_id, resource_id, access_level_remote_id=access_level_remote_id, add_group_resource_request=add_group_resource_request)
+
+
Adds a resource to a group.
### Example
@@ -151,8 +155,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used. (optional)
add_group_resource_request = opal_security.AddGroupResourceRequest() # AddGroupResourceRequest | (optional)
@@ -171,8 +175,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
- **resource_id** | **UUID**| The ID of the resource. |
+ **group_id** | **str**| The ID of the group. |
+ **resource_id** | **str**| The ID of the resource. |
**access_level_remote_id** | **str**| The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used. | [optional]
**add_group_resource_request** | [**AddGroupResourceRequest**](AddGroupResourceRequest.md)| | [optional]
@@ -200,6 +204,8 @@ Name | Type | Description | Notes
# **add_group_user**
> GroupUser add_group_user(group_id, user_id, duration_minutes=duration_minutes, access_level_remote_id=access_level_remote_id, add_group_user_request=add_group_user_request)
+
+
Adds a user to this group.
### Example
@@ -235,8 +241,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
- user_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of the user to add.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
+ user_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of the user to add.
duration_minutes = 60 # int | The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite. (optional)
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used. (optional)
add_group_user_request = opal_security.AddGroupUserRequest() # AddGroupUserRequest | (optional)
@@ -256,8 +262,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
- **user_id** | **UUID**| The ID of the user to add. |
+ **group_id** | **str**| The ID of the group. |
+ **user_id** | **str**| The ID of the user to add. |
**duration_minutes** | **int**| The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite. | [optional]
**access_level_remote_id** | **str**| The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used. | [optional]
**add_group_user_request** | [**AddGroupUserRequest**](AddGroupUserRequest.md)| | [optional]
@@ -286,6 +292,8 @@ Name | Type | Description | Notes
# **create_group**
> Group create_group(create_group_info)
+
+
Creates an Opal group or [imports a remote group](https://docs.opal.dev/reference/end-system-objects).
### Example
@@ -364,6 +372,8 @@ Name | Type | Description | Notes
# **delete_group**
> delete_group(group_id)
+
+
Deletes a group.
### Example
@@ -397,7 +407,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_instance.delete_group(group_id)
@@ -412,7 +422,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -438,6 +448,8 @@ void (empty response body)
# **delete_group_user**
> delete_group_user(group_id, user_id, access_level_remote_id=access_level_remote_id)
+
+
Removes a user's access from this group.
### Example
@@ -471,8 +483,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
- user_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of a user to remove from this group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
+ user_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of a user to remove from this group.
access_level_remote_id = '30' # str | The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed. (optional)
try:
@@ -488,8 +500,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
- **user_id** | **UUID**| The ID of a user to remove from this group. |
+ **group_id** | **str**| The ID of the group. |
+ **user_id** | **str**| The ID of a user to remove from this group. |
**access_level_remote_id** | **str**| The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed. | [optional]
### Return type
@@ -552,7 +564,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the group.
+ group_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the group.
try:
# Get group by ID
@@ -570,7 +582,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -632,8 +644,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
- containing_group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the containing group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
+ containing_group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the containing group.
try:
# Get nested group by ID
@@ -651,8 +663,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
- **containing_group_id** | **UUID**| The ID of the containing group. |
+ **group_id** | **str**| The ID of the group. |
+ **containing_group_id** | **str**| The ID of the containing group. |
### Return type
@@ -676,7 +688,7 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_group_containing_groups**
-> GroupContainingGroupList get_group_containing_groups(group_id)
+> GroupContainingGroupList get_group_containing_groups(group_id, access_level_remote_id=access_level_remote_id)
Get nested groups
@@ -714,11 +726,12 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
+ access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The access level's remote ID to filter by. (optional)
try:
# Get nested groups
- api_response = api_instance.get_group_containing_groups(group_id)
+ api_response = api_instance.get_group_containing_groups(group_id, access_level_remote_id=access_level_remote_id)
print("The response of GroupsApi->get_group_containing_groups:\n")
pprint(api_response)
except Exception as e:
@@ -732,7 +745,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
+ **access_level_remote_id** | **str**| The access level's remote ID to filter by. | [optional]
### Return type
@@ -751,13 +765,15 @@ Name | Type | Description | Notes
| Status code | Description | Response headers |
|-------------|-------------|------------------|
-**200** | The resources that the group gives access to. | - |
+**200** | The groups that the group gives access to. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_group_message_channels**
> MessageChannelList get_group_message_channels(group_id)
+
+
Gets the list of audit and reviewer message channels attached to a group.
### Example
@@ -792,7 +808,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_group_message_channels(group_id)
@@ -809,7 +825,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -835,6 +851,8 @@ Name | Type | Description | Notes
# **get_group_on_call_schedules**
> OnCallScheduleList get_group_on_call_schedules(group_id)
+
+
Gets the list of on call schedules attached to a group.
### Example
@@ -869,7 +887,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_group_on_call_schedules(group_id)
@@ -886,7 +904,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -912,6 +930,8 @@ Name | Type | Description | Notes
# **get_group_resources**
> GroupResourceList get_group_resources(group_id)
+
+
Gets the list of resources that the group gives access to.
### Example
@@ -946,7 +966,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_group_resources(group_id)
@@ -963,7 +983,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -989,6 +1009,8 @@ Name | Type | Description | Notes
# **get_group_reviewer_stages**
> List[ReviewerStage] get_group_reviewer_stages(group_id)
+
+
Gets the list of reviewer stages for a group.
### Example
@@ -1023,7 +1045,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_group_reviewer_stages(group_id)
@@ -1040,7 +1062,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -1064,7 +1086,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_group_reviewers**
-> List[UUID] get_group_reviewers(group_id)
+> List[str] get_group_reviewers(group_id)
+
+
Gets the list of owner IDs of the reviewers for a group.
@@ -1099,7 +1123,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_group_reviewers(group_id)
@@ -1116,11 +1140,11 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -1142,6 +1166,8 @@ Name | Type | Description | Notes
# **get_group_tags**
> TagsList get_group_tags(group_id)
+
+
Returns all tags applied to the group.
### Example
@@ -1176,7 +1202,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the group whose tags to return.
+ group_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the group whose tags to return.
try:
api_response = api_instance.get_group_tags(group_id)
@@ -1193,7 +1219,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group whose tags to return. |
+ **group_id** | **str**| The ID of the group whose tags to return. |
### Return type
@@ -1219,6 +1245,8 @@ Name | Type | Description | Notes
# **get_group_users**
> GroupUserList get_group_users(group_id, cursor=cursor, page_size=page_size)
+
+
Gets the list of users for this group.
### Example
@@ -1253,7 +1281,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
@@ -1272,7 +1300,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
@@ -1300,6 +1328,8 @@ Name | Type | Description | Notes
# **get_group_visibility**
> VisibilityInfo get_group_visibility(group_id)
+
+
Gets the visibility of this group.
### Example
@@ -1334,7 +1364,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_group_visibility(group_id)
@@ -1351,7 +1381,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -1375,7 +1405,7 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_groups**
-> PaginatedGroupsList get_groups(cursor=cursor, page_size=page_size, group_type_filter=group_type_filter, group_ids=group_ids, group_name=group_name)
+> PaginatedGroupsList get_groups(cursor=cursor, page_size=page_size, group_type_filter=group_type_filter, group_ids=group_ids, group_name=group_name, tag_ids=tag_ids)
Get groups
@@ -1417,12 +1447,13 @@ with opal_security.ApiClient(configuration) as api_client:
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
group_type_filter = opal_security.GroupTypeEnum() # GroupTypeEnum | The group type to filter by. (optional)
- group_ids = [["4baf8423-db0a-4037-a4cf-f79c60cb67a5","1b978423-db0a-4037-a4cf-f79c60cb67b3"]] # List[UUID] | The group ids to filter by. (optional)
+ group_ids = ['[\"4baf8423-db0a-4037-a4cf-f79c60cb67a5\",\"1b978423-db0a-4037-a4cf-f79c60cb67b3\"]'] # List[str] | The group ids to filter by. (optional)
group_name = 'example-name' # str | Group name. (optional)
+ tag_ids = ['tag_ids_example'] # List[str] | The IDs of the tags to filter by. Returns only groups that have any of these tags applied. (optional)
try:
# Get groups
- api_response = api_instance.get_groups(cursor=cursor, page_size=page_size, group_type_filter=group_type_filter, group_ids=group_ids, group_name=group_name)
+ api_response = api_instance.get_groups(cursor=cursor, page_size=page_size, group_type_filter=group_type_filter, group_ids=group_ids, group_name=group_name, tag_ids=tag_ids)
print("The response of GroupsApi->get_groups:\n")
pprint(api_response)
except Exception as e:
@@ -1439,8 +1470,9 @@ Name | Type | Description | Notes
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
**group_type_filter** | [**GroupTypeEnum**](.md)| The group type to filter by. | [optional]
- **group_ids** | [**List[UUID]**](UUID.md)| The group ids to filter by. | [optional]
+ **group_ids** | [**List[str]**](str.md)| The group ids to filter by. | [optional]
**group_name** | **str**| Group name. | [optional]
+ **tag_ids** | [**List[str]**](str.md)| The IDs of the tags to filter by. Returns only groups that have any of these tags applied. | [optional]
### Return type
@@ -1466,6 +1498,8 @@ Name | Type | Description | Notes
# **get_user_groups**
> GroupUserList get_user_groups(user_id, cursor=cursor, page_size=page_size)
+
+
Returns all groups that the user is a member of.
### Example
@@ -1500,7 +1534,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- user_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the user whose groups to return.
+ user_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the user whose groups to return.
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
@@ -1519,7 +1553,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **user_id** | **UUID**| The ID of the user whose groups to return. |
+ **user_id** | **str**| The ID of the user whose groups to return. |
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
@@ -1547,6 +1581,8 @@ Name | Type | Description | Notes
# **remove_group_containing_group**
> remove_group_containing_group(group_id, containing_group_id, access_level_remote_id=access_level_remote_id)
+
+
Removes a containing group from a group.
### Example
@@ -1580,8 +1616,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the member group to remove.
- containing_group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the containing group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the member group to remove.
+ containing_group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the containing group.
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the member group's access level to filter by. (optional)
try:
@@ -1597,8 +1633,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the member group to remove. |
- **containing_group_id** | **UUID**| The ID of the containing group. |
+ **group_id** | **str**| The ID of the member group to remove. |
+ **containing_group_id** | **str**| The ID of the containing group. |
**access_level_remote_id** | **str**| The remote ID of the member group's access level to filter by. | [optional]
### Return type
@@ -1623,7 +1659,9 @@ void (empty response body)
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **set_group_message_channels**
-> List[UUID] set_group_message_channels(group_id, message_channel_id_list)
+> List[str] set_group_message_channels(group_id, message_channel_id_list)
+
+
Sets the list of audit message channels attached to a group.
@@ -1659,7 +1697,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
message_channel_id_list = opal_security.MessageChannelIDList() # MessageChannelIDList |
try:
@@ -1677,12 +1715,12 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**message_channel_id_list** | [**MessageChannelIDList**](MessageChannelIDList.md)| |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -1702,7 +1740,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **set_group_on_call_schedules**
-> List[UUID] set_group_on_call_schedules(group_id, on_call_schedule_id_list)
+> List[str] set_group_on_call_schedules(group_id, on_call_schedule_id_list)
+
+
Sets the list of on call schedules attached to a group.
@@ -1738,7 +1778,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
on_call_schedule_id_list = opal_security.OnCallScheduleIDList() # OnCallScheduleIDList |
try:
@@ -1756,12 +1796,12 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**on_call_schedule_id_list** | [**OnCallScheduleIDList**](OnCallScheduleIDList.md)| |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -1783,6 +1823,8 @@ Name | Type | Description | Notes
# **set_group_resources**
> set_group_resources(group_id, update_group_resources_info)
+
+
Sets the list of resources that the group gives access to.
### Example
@@ -1817,7 +1859,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
update_group_resources_info = opal_security.UpdateGroupResourcesInfo() # UpdateGroupResourcesInfo |
try:
@@ -1833,7 +1875,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**update_group_resources_info** | [**UpdateGroupResourcesInfo**](UpdateGroupResourcesInfo.md)| |
### Return type
@@ -1860,6 +1902,8 @@ void (empty response body)
# **set_group_reviewer_stages**
> List[ReviewerStage] set_group_reviewer_stages(group_id, reviewer_stage_list)
+
+
Sets the list of reviewer stages for a group.
### Example
@@ -1895,7 +1939,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
reviewer_stage_list = opal_security.ReviewerStageList() # ReviewerStageList |
try:
@@ -1913,7 +1957,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**reviewer_stage_list** | [**ReviewerStageList**](ReviewerStageList.md)| |
### Return type
@@ -1938,7 +1982,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **set_group_reviewers**
-> List[UUID] set_group_reviewers(group_id, reviewer_id_list)
+> List[str] set_group_reviewers(group_id, reviewer_id_list)
+
+
Sets the list of reviewers for a group.
@@ -1974,7 +2020,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
reviewer_id_list = opal_security.ReviewerIDList() # ReviewerIDList |
try:
@@ -1992,12 +2038,12 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**reviewer_id_list** | [**ReviewerIDList**](ReviewerIDList.md)| |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -2019,6 +2065,8 @@ Name | Type | Description | Notes
# **set_group_visibility**
> VisibilityInfo set_group_visibility(group_id, visibility_info)
+
+
Sets the visibility of this group.
### Example
@@ -2053,7 +2101,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
visibility_info = opal_security.VisibilityInfo() # VisibilityInfo |
try:
@@ -2071,7 +2119,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
+ **group_id** | **str**| The ID of the group. |
**visibility_info** | [**VisibilityInfo**](VisibilityInfo.md)| |
### Return type
@@ -2098,6 +2146,8 @@ Name | Type | Description | Notes
# **update_group_user**
> GroupUser update_group_user(group_id, user_id, update_group_user_request)
+
+
Updates a user's access level or duration in this group.
### Example
@@ -2133,8 +2183,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.GroupsApi(api_client)
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
- user_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of the user whose access is being updated.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
+ user_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of the user whose access is being updated.
update_group_user_request = opal_security.UpdateGroupUserRequest() # UpdateGroupUserRequest |
try:
@@ -2152,8 +2202,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **group_id** | **UUID**| The ID of the group. |
- **user_id** | **UUID**| The ID of the user whose access is being updated. |
+ **group_id** | **str**| The ID of the group. |
+ **user_id** | **str**| The ID of the user whose access is being updated. |
**update_group_user_request** | [**UpdateGroupUserRequest**](UpdateGroupUserRequest.md)| |
### Return type
@@ -2180,6 +2230,8 @@ Name | Type | Description | Notes
# **update_groups**
> UpdateGroupInfoList update_groups(update_group_info_list)
+
+
Bulk updates a list of groups.
### Example
diff --git a/docs/IdpGroupMapping.md b/docs/IdpGroupMapping.md
index 562580f..df8b1a5 100644
--- a/docs/IdpGroupMapping.md
+++ b/docs/IdpGroupMapping.md
@@ -6,8 +6,8 @@ Information about a group mapping.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**app_resource_id** | **UUID** | The ID of the app resource. | [optional]
-**group_id** | **UUID** | The ID of the group. |
+**app_resource_id** | **str** | The ID of the app resource. | [optional]
+**group_id** | **str** | The ID of the group. |
**alias** | **str** | The alias of the group. | [optional]
**hidden_from_end_user** | **bool** | A bool representing whether or not the group is hidden from the end user. |
diff --git a/docs/IdpGroupMappingsApi.md b/docs/IdpGroupMappingsApi.md
index d9191e8..c3c5f2e 100644
--- a/docs/IdpGroupMappingsApi.md
+++ b/docs/IdpGroupMappingsApi.md
@@ -14,12 +14,9 @@ Method | HTTP request | Description
# **create_idp_group_mapping**
> IdpGroupMapping create_idp_group_mapping(app_resource_id, group_id, create_idp_group_mapping_request=create_idp_group_mapping_request)
-Creates or updates an individual `IdpGroupMapping` object (upsert operation).
-**Behavior:**
-- If the mapping doesn't exist, it will be created with the provided values
-- If the mapping exists, only the fields provided in the request will be updated
+Creates or updates an individual `IdpGroupMapping` object (upsert operation). **Behavior:** - If the mapping doesn't exist, it will be created with the provided values - If the mapping exists, only the fields provided in the request will be updated
### Example
@@ -54,8 +51,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.IdpGroupMappingsApi(api_client)
- app_resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the Okta app.
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ app_resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the Okta app.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
create_idp_group_mapping_request = opal_security.CreateIdpGroupMappingRequest() # CreateIdpGroupMappingRequest | (optional)
try:
@@ -73,8 +70,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_resource_id** | **UUID**| The ID of the Okta app. |
- **group_id** | **UUID**| The ID of the group. |
+ **app_resource_id** | **str**| The ID of the Okta app. |
+ **group_id** | **str**| The ID of the group. |
**create_idp_group_mapping_request** | [**CreateIdpGroupMappingRequest**](CreateIdpGroupMappingRequest.md)| | [optional]
### Return type
@@ -101,6 +98,8 @@ Name | Type | Description | Notes
# **delete_idp_group_mappings**
> delete_idp_group_mappings(app_resource_id, group_id)
+
+
Deletes an `IdpGroupMapping` object.
### Example
@@ -134,8 +133,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.IdpGroupMappingsApi(api_client)
- app_resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the Okta app.
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ app_resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the Okta app.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_instance.delete_idp_group_mappings(app_resource_id, group_id)
@@ -150,8 +149,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_resource_id** | **UUID**| The ID of the Okta app. |
- **group_id** | **UUID**| The ID of the group. |
+ **app_resource_id** | **str**| The ID of the Okta app. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -177,6 +176,8 @@ void (empty response body)
# **get_idp_group_mapping**
> IdpGroupMapping get_idp_group_mapping(app_resource_id, group_id)
+
+
Gets an `IdpGroupMapping` object for an Okta app and group.
### Example
@@ -211,8 +212,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.IdpGroupMappingsApi(api_client)
- app_resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the Okta app.
- group_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the group.
+ app_resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the Okta app.
+ group_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the group.
try:
api_response = api_instance.get_idp_group_mapping(app_resource_id, group_id)
@@ -229,8 +230,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_resource_id** | **UUID**| The ID of the Okta app. |
- **group_id** | **UUID**| The ID of the group. |
+ **app_resource_id** | **str**| The ID of the Okta app. |
+ **group_id** | **str**| The ID of the group. |
### Return type
@@ -256,6 +257,8 @@ Name | Type | Description | Notes
# **get_idp_group_mappings**
> IdpGroupMappingList get_idp_group_mappings(app_resource_id)
+
+
Returns the configured set of available `IdpGroupMapping` objects for an Okta app.
### Example
@@ -290,7 +293,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.IdpGroupMappingsApi(api_client)
- app_resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the Okta app.
+ app_resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the Okta app.
try:
api_response = api_instance.get_idp_group_mappings(app_resource_id)
@@ -307,7 +310,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_resource_id** | **UUID**| The ID of the Okta app. |
+ **app_resource_id** | **str**| The ID of the Okta app. |
### Return type
@@ -333,6 +336,8 @@ Name | Type | Description | Notes
# **update_idp_group_mappings**
> update_idp_group_mappings(app_resource_id, update_idp_group_mappings_request)
+
+
Updates the list of available `IdpGroupMapping` objects for an Okta app.
### Example
@@ -367,7 +372,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.IdpGroupMappingsApi(api_client)
- app_resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the Okta app.
+ app_resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the Okta app.
update_idp_group_mappings_request = opal_security.UpdateIdpGroupMappingsRequest() # UpdateIdpGroupMappingsRequest |
try:
@@ -383,7 +388,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **app_resource_id** | **UUID**| The ID of the Okta app. |
+ **app_resource_id** | **str**| The ID of the Okta app. |
**update_idp_group_mappings_request** | [**UpdateIdpGroupMappingsRequest**](UpdateIdpGroupMappingsRequest.md)| |
### Return type
diff --git a/docs/MessageChannel.md b/docs/MessageChannel.md
index 13f3dbb..ef09577 100644
--- a/docs/MessageChannel.md
+++ b/docs/MessageChannel.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**message_channel_id** | **UUID** | The ID of the message channel. |
+**message_channel_id** | **str** | The ID of the message channel. |
**third_party_provider** | [**MessageChannelProviderEnum**](MessageChannelProviderEnum.md) | | [optional]
**remote_id** | **str** | The remote ID of the message channel | [optional]
**name** | **str** | The name of the message channel. | [optional]
diff --git a/docs/MessageChannelIDList.md b/docs/MessageChannelIDList.md
index 1692c4b..ba6b97d 100644
--- a/docs/MessageChannelIDList.md
+++ b/docs/MessageChannelIDList.md
@@ -6,7 +6,7 @@ A list of message channel IDs.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**message_channel_ids** | **List[UUID]** | |
+**message_channel_ids** | **List[str]** | |
## Example
diff --git a/docs/MessageChannelsApi.md b/docs/MessageChannelsApi.md
index 7dfd368..e36c5e8 100644
--- a/docs/MessageChannelsApi.md
+++ b/docs/MessageChannelsApi.md
@@ -12,6 +12,8 @@ Method | HTTP request | Description
# **create_message_channel**
> MessageChannel create_message_channel(create_message_channel_info)
+
+
Creates a `MessageChannel` objects.
### Example
@@ -126,7 +128,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.MessageChannelsApi(api_client)
- message_channel_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the message_channel.
+ message_channel_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the message_channel.
try:
# Get message channel by ID
@@ -144,7 +146,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **message_channel_id** | **UUID**| The ID of the message_channel. |
+ **message_channel_id** | **str**| The ID of the message_channel. |
### Return type
diff --git a/docs/NonHumanIdentitiesApi.md b/docs/NonHumanIdentitiesApi.md
index 040c778..511955d 100644
--- a/docs/NonHumanIdentitiesApi.md
+++ b/docs/NonHumanIdentitiesApi.md
@@ -10,6 +10,8 @@ Method | HTTP request | Description
# **get_nhis**
> PaginatedResourcesList get_nhis(cursor=cursor, page_size=page_size)
+
+
Returns a list of non-human identities for your organization.
### Example
diff --git a/docs/OnCallSchedule.md b/docs/OnCallSchedule.md
index 64c33d5..9ee6b89 100644
--- a/docs/OnCallSchedule.md
+++ b/docs/OnCallSchedule.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**on_call_schedule_id** | **UUID** | The ID of the on-call schedule. | [optional]
+**on_call_schedule_id** | **str** | The ID of the on-call schedule. | [optional]
**third_party_provider** | [**OnCallScheduleProviderEnum**](OnCallScheduleProviderEnum.md) | | [optional]
**remote_id** | **str** | The remote ID of the on call schedule | [optional]
**name** | **str** | The name of the on call schedule. | [optional]
diff --git a/docs/OnCallScheduleIDList.md b/docs/OnCallScheduleIDList.md
index bbf8108..92d1e0c 100644
--- a/docs/OnCallScheduleIDList.md
+++ b/docs/OnCallScheduleIDList.md
@@ -6,7 +6,7 @@ A list of on call schedule Opal UUIDs. To get the matching remote IDs, use the /
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**on_call_schedule_ids** | **List[UUID]** | |
+**on_call_schedule_ids** | **List[str]** | |
## Example
diff --git a/docs/OnCallSchedulesApi.md b/docs/OnCallSchedulesApi.md
index 9c24729..d14080e 100644
--- a/docs/OnCallSchedulesApi.md
+++ b/docs/OnCallSchedulesApi.md
@@ -12,6 +12,8 @@ Method | HTTP request | Description
# **create_on_call_schedule**
> OnCallSchedule create_on_call_schedule(create_on_call_schedule_info)
+
+
Creates a `OnCallSchedule` objects.
### Example
@@ -126,7 +128,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.OnCallSchedulesApi(api_client)
- on_call_schedule_id = UUID('9546209c-42c2-4801-96d7-9ec42df0f59c') # UUID | The ID of the on_call_schedule.
+ on_call_schedule_id = '9546209c-42c2-4801-96d7-9ec42df0f59c' # str | The ID of the on_call_schedule.
try:
# Get on call schedule by ID
@@ -144,7 +146,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **on_call_schedule_id** | **UUID**| The ID of the on_call_schedule. |
+ **on_call_schedule_id** | **str**| The ID of the on_call_schedule. |
### Return type
diff --git a/docs/Owner.md b/docs/Owner.md
index c21f550..3336f21 100644
--- a/docs/Owner.md
+++ b/docs/Owner.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**owner_id** | **UUID** | The ID of the owner. |
+**owner_id** | **str** | The ID of the owner. |
**name** | **str** | The name of the owner. | [optional]
**description** | **str** | A description of the owner. | [optional]
**access_request_escalation_period** | **int** | The amount of time (in minutes) before the next reviewer is notified. Use 0 to remove escalation policy. | [optional]
-**reviewer_message_channel_id** | **UUID** | | [optional]
-**source_group_id** | **UUID** | | [optional]
+**reviewer_message_channel_id** | **str** | | [optional]
+**source_group_id** | **str** | | [optional]
## Example
diff --git a/docs/OwnersApi.md b/docs/OwnersApi.md
index 8eee62d..90fdf58 100644
--- a/docs/OwnersApi.md
+++ b/docs/OwnersApi.md
@@ -17,6 +17,8 @@ Method | HTTP request | Description
# **create_owner**
> Owner create_owner(create_owner_info)
+
+
Creates an owner.
### Example
@@ -95,6 +97,8 @@ Name | Type | Description | Notes
# **delete_owner**
> delete_owner(owner_id)
+
+
Deletes an owner.
### Example
@@ -128,7 +132,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.OwnersApi(api_client)
- owner_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the owner.
+ owner_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the owner.
try:
api_instance.delete_owner(owner_id)
@@ -143,7 +147,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **owner_id** | **UUID**| The ID of the owner. |
+ **owner_id** | **str**| The ID of the owner. |
### Return type
@@ -205,7 +209,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.OwnersApi(api_client)
- owner_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the owner.
+ owner_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the owner.
try:
# Get owner by ID
@@ -223,7 +227,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **owner_id** | **UUID**| The ID of the owner. |
+ **owner_id** | **str**| The ID of the owner. |
### Return type
@@ -249,6 +253,8 @@ Name | Type | Description | Notes
# **get_owner_from_name**
> Owner get_owner_from_name(owner_name)
+
+
Returns an `Owner` object. Does not support owners with `/` in their name, use /owners?name=... instead.
### Example
@@ -326,6 +332,8 @@ Name | Type | Description | Notes
# **get_owner_users**
> UserList get_owner_users(owner_id)
+
+
Gets the list of users for this owner, in escalation priority order if applicable.
### Example
@@ -360,7 +368,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.OwnersApi(api_client)
- owner_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the owner.
+ owner_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the owner.
try:
api_response = api_instance.get_owner_users(owner_id)
@@ -377,7 +385,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **owner_id** | **UUID**| The ID of the owner. |
+ **owner_id** | **str**| The ID of the owner. |
### Return type
@@ -487,6 +495,8 @@ Name | Type | Description | Notes
# **set_owner_users**
> UserList set_owner_users(owner_id, user_id_list)
+
+
Sets the list of users for this owner. If escalation is enabled, the order of this list is the escalation priority order of the users. If the owner has a source group, adding or removing users from this list won't be possible.
### Example
@@ -522,7 +532,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.OwnersApi(api_client)
- owner_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the owner.
+ owner_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the owner.
user_id_list = opal_security.UserIDList() # UserIDList |
try:
@@ -540,7 +550,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **owner_id** | **UUID**| The ID of the owner. |
+ **owner_id** | **str**| The ID of the owner. |
**user_id_list** | [**UserIDList**](UserIDList.md)| |
### Return type
@@ -567,6 +577,8 @@ Name | Type | Description | Notes
# **update_owners**
> UpdateOwnerInfoList update_owners(update_owner_info_list)
+
+
Bulk updates a list of owners.
### Example
diff --git a/docs/PaginatedTokensList.md b/docs/PaginatedTokensList.md
new file mode 100644
index 0000000..d58d383
--- /dev/null
+++ b/docs/PaginatedTokensList.md
@@ -0,0 +1,31 @@
+# PaginatedTokensList
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**next** | **str** | The cursor with which to continue pagination if additional result pages exist. | [optional]
+**previous** | **str** | The cursor used to obtain the current result page. | [optional]
+**results** | [**List[Token]**](Token.md) | |
+
+## Example
+
+```python
+from opal_security.models.paginated_tokens_list import PaginatedTokensList
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of PaginatedTokensList from a JSON string
+paginated_tokens_list_instance = PaginatedTokensList.from_json(json)
+# print the JSON string representation of the object
+print(PaginatedTokensList.to_json())
+
+# convert the object into a dict
+paginated_tokens_list_dict = paginated_tokens_list_instance.to_dict()
+# create an instance of PaginatedTokensList from a dict
+paginated_tokens_list_from_dict = PaginatedTokensList.from_dict(paginated_tokens_list_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/RemoteUser.md b/docs/RemoteUser.md
index e26f373..06aa797 100644
--- a/docs/RemoteUser.md
+++ b/docs/RemoteUser.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**user_id** | **UUID** | The ID of the user. |
+**user_id** | **str** | The ID of the user. |
**remote_id** | **str** | The ID of the remote user. |
**third_party_provider** | [**ThirdPartyProviderEnum**](ThirdPartyProviderEnum.md) | The third party provider of the remote user. |
diff --git a/docs/Request.md b/docs/Request.md
index dc5f9c9..45e9f3e 100644
--- a/docs/Request.md
+++ b/docs/Request.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | The unique identifier of the request. |
+**id** | **str** | The unique identifier of the request. |
**created_at** | **datetime** | The date and time the request was created. |
**updated_at** | **datetime** | The date and time the request was last updated. |
-**requester_id** | **UUID** | The unique identifier of the user who created the request. |
-**target_user_id** | **UUID** | The unique identifier of the user who is the target of the request. | [optional]
-**target_group_id** | **UUID** | The unique identifier of the group who is the target of the request. | [optional]
+**requester_id** | **str** | The unique identifier of the user who created the request. |
+**target_user_id** | **str** | The unique identifier of the user who is the target of the request. | [optional]
+**target_group_id** | **str** | The unique identifier of the group who is the target of the request. | [optional]
**status** | [**RequestStatusEnum**](RequestStatusEnum.md) | The status of the request. |
**reason** | **str** | The reason for the request. |
**duration_minutes** | **int** | The duration of the request in minutes. | [optional]
diff --git a/docs/RequestComment.md b/docs/RequestComment.md
index c8d900c..a143ecc 100644
--- a/docs/RequestComment.md
+++ b/docs/RequestComment.md
@@ -7,8 +7,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**created_at** | **datetime** | The date and time the comment was created. |
-**request_id** | **UUID** | The unique identifier of the request the comment is associated with. |
-**user_id** | **UUID** | The unique identifier of the user who made the comment. |
+**request_id** | **str** | The unique identifier of the request the comment is associated with. |
+**user_id** | **str** | The unique identifier of the user who made the comment. |
**user_full_name** | **str** | The user's full name. | [optional]
**user_email** | **str** | The user's email address. | [optional]
**comment** | **str** | The content of the comment. |
diff --git a/docs/RequestConfiguration.md b/docs/RequestConfiguration.md
index 5af185d..abc7642 100644
--- a/docs/RequestConfiguration.md
+++ b/docs/RequestConfiguration.md
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**recommended_duration_minutes** | **int** | The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration. | [optional]
**require_support_ticket** | **bool** | A bool representing whether or not access requests to the resource require an access ticket. |
**extensions_duration_in_minutes** | **int** | The duration for which access can be extended (in minutes). Set to 0 to disable extensions. When > 0, extensions are enabled for the specified duration. | [optional]
-**request_template_id** | **UUID** | The ID of the associated request template. | [optional]
+**request_template_id** | **str** | The ID of the associated request template. | [optional]
**reviewer_stages** | [**List[ReviewerStage]**](ReviewerStage.md) | The list of reviewer stages for the request configuration. | [optional]
**priority** | **int** | The priority of the request configuration. |
diff --git a/docs/RequestReviewer.md b/docs/RequestReviewer.md
index f3e41ed..3619b7f 100644
--- a/docs/RequestReviewer.md
+++ b/docs/RequestReviewer.md
@@ -6,7 +6,7 @@ A reviewer in a request stage
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | The unique identifier of the reviewer |
+**id** | **str** | The unique identifier of the reviewer |
**full_name** | **str** | The user's full name. | [optional]
**status** | **str** | The status of this reviewer's review |
diff --git a/docs/RequestedItem.md b/docs/RequestedItem.md
index 0537405..48082e7 100644
--- a/docs/RequestedItem.md
+++ b/docs/RequestedItem.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource requested. | [optional]
-**group_id** | **UUID** | The ID of the group requested. | [optional]
+**resource_id** | **str** | The ID of the resource requested. | [optional]
+**group_id** | **str** | The ID of the group requested. | [optional]
**access_level_name** | **str** | The name of the access level requested. | [optional]
**access_level_remote_id** | **str** | The ID of the access level requested on the remote system. | [optional]
**name** | **str** | The name of the target. | [optional]
diff --git a/docs/RequestsApi.md b/docs/RequestsApi.md
index dd23ce1..388beab 100644
--- a/docs/RequestsApi.md
+++ b/docs/RequestsApi.md
@@ -17,6 +17,8 @@ Method | HTTP request | Description
# **approve_request**
> ApproveRequest200Response approve_request(id, approve_request_request)
+
+
Approve an access request
### Example
@@ -52,7 +54,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.RequestsApi(api_client)
- id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | The ID of the request to approve
+ id = 'id_example' # str | The ID of the request to approve
approve_request_request = opal_security.ApproveRequestRequest() # ApproveRequestRequest | Approval parameters
try:
@@ -70,7 +72,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **id** | **UUID**| The ID of the request to approve |
+ **id** | **str**| The ID of the request to approve |
**approve_request_request** | [**ApproveRequestRequest**](ApproveRequestRequest.md)| Approval parameters |
### Return type
@@ -97,6 +99,8 @@ Name | Type | Description | Notes
# **create_request**
> CreateRequest200Response create_request(create_request_info)
+
+
Create an access request
### Example
@@ -175,6 +179,8 @@ Name | Type | Description | Notes
# **create_request_comment**
> ApproveRequest200Response create_request_comment(id, create_request_comment_request)
+
+
Comment on an access request
### Example
@@ -210,7 +216,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.RequestsApi(api_client)
- id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | The ID of the request to comment on
+ id = 'id_example' # str | The ID of the request to comment on
create_request_comment_request = opal_security.CreateRequestCommentRequest() # CreateRequestCommentRequest | Comment parameters
try:
@@ -228,7 +234,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **id** | **UUID**| The ID of the request to comment on |
+ **id** | **str**| The ID of the request to comment on |
**create_request_comment_request** | [**CreateRequestCommentRequest**](CreateRequestCommentRequest.md)| Comment parameters |
### Return type
@@ -255,6 +261,8 @@ Name | Type | Description | Notes
# **deny_request**
> ApproveRequest200Response deny_request(id, deny_request_request)
+
+
Deny an access request
### Example
@@ -290,7 +298,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.RequestsApi(api_client)
- id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | The ID of the request to deny
+ id = 'id_example' # str | The ID of the request to deny
deny_request_request = opal_security.DenyRequestRequest() # DenyRequestRequest | Denial parameters
try:
@@ -308,7 +316,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **id** | **UUID**| The ID of the request to deny |
+ **id** | **str**| The ID of the request to deny |
**deny_request_request** | [**DenyRequestRequest**](DenyRequestRequest.md)| Denial parameters |
### Return type
@@ -371,7 +379,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.RequestsApi(api_client)
- id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the request.
+ id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the request.
try:
# Get request by ID
@@ -389,7 +397,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **id** | **UUID**| The ID of the request. |
+ **id** | **str**| The ID of the request. |
### Return type
@@ -415,6 +423,8 @@ Name | Type | Description | Notes
# **get_request_comments**
> RequestCommentList get_request_comments(id)
+
+
Returns a list of comments for a specific request.
### Example
@@ -449,7 +459,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.RequestsApi(api_client)
- id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | The ID of the request to get comments for
+ id = 'id_example' # str | The ID of the request to get comments for
try:
api_response = api_instance.get_request_comments(id)
@@ -466,7 +476,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **id** | **UUID**| The ID of the request to get comments for |
+ **id** | **str**| The ID of the request to get comments for |
### Return type
@@ -490,7 +500,7 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_requests**
-> RequestList get_requests(start_date_filter=start_date_filter, end_date_filter=end_date_filter, requester_id=requester_id, target_user_id=target_user_id, cursor=cursor, page_size=page_size, show_pending_only=show_pending_only)
+> RequestList get_requests(start_date_filter=start_date_filter, end_date_filter=end_date_filter, requester_id=requester_id, target_user_id=target_user_id, resource_id=resource_id, group_id=group_id, cursor=cursor, page_size=page_size, show_pending_only=show_pending_only)
Get requests
@@ -530,15 +540,17 @@ with opal_security.ApiClient(configuration) as api_client:
api_instance = opal_security.RequestsApi(api_client)
start_date_filter = '2021-11-01' # str | A start date filter for the events. (optional)
end_date_filter = '2021-11-12' # str | An end date filter for the events. (optional)
- requester_id = UUID('37cb7e41-12ba-46da-92ff-030abe0450b1') # UUID | Filter requests by their requester ID. (optional)
- target_user_id = UUID('37cb7e41-12ba-46da-92ff-030abe0450b1') # UUID | Filter requests by their target user ID. (optional)
+ requester_id = '37cb7e41-12ba-46da-92ff-030abe0450b1' # str | Filter requests by their requester ID. (optional)
+ target_user_id = '37cb7e41-12ba-46da-92ff-030abe0450b1' # str | Filter requests by their target user ID. (optional)
+ resource_id = '37cb7e41-12ba-46da-92ff-030abe0450b1' # str | Filter requests by the resource ID that was requested. (optional)
+ group_id = '37cb7e41-12ba-46da-92ff-030abe0450b1' # str | Filter requests by the group ID that was requested. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
show_pending_only = True # bool | Boolean toggle for if it should only show pending requests. (optional)
try:
# Get requests
- api_response = api_instance.get_requests(start_date_filter=start_date_filter, end_date_filter=end_date_filter, requester_id=requester_id, target_user_id=target_user_id, cursor=cursor, page_size=page_size, show_pending_only=show_pending_only)
+ api_response = api_instance.get_requests(start_date_filter=start_date_filter, end_date_filter=end_date_filter, requester_id=requester_id, target_user_id=target_user_id, resource_id=resource_id, group_id=group_id, cursor=cursor, page_size=page_size, show_pending_only=show_pending_only)
print("The response of RequestsApi->get_requests:\n")
pprint(api_response)
except Exception as e:
@@ -554,8 +566,10 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**start_date_filter** | **str**| A start date filter for the events. | [optional]
**end_date_filter** | **str**| An end date filter for the events. | [optional]
- **requester_id** | **UUID**| Filter requests by their requester ID. | [optional]
- **target_user_id** | **UUID**| Filter requests by their target user ID. | [optional]
+ **requester_id** | **str**| Filter requests by their requester ID. | [optional]
+ **target_user_id** | **str**| Filter requests by their target user ID. | [optional]
+ **resource_id** | **str**| Filter requests by the resource ID that was requested. | [optional]
+ **group_id** | **str**| Filter requests by the group ID that was requested. | [optional]
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
**show_pending_only** | **bool**| Boolean toggle for if it should only show pending requests. | [optional]
@@ -626,8 +640,8 @@ with opal_security.ApiClient(configuration) as api_client:
last = 10 # int | Number of results to return before the cursor. Use either first/after or last/before, not both. (optional)
before = 'Y3Vyc29yOnYyOpK5MjAyMS0wMS0wN1QwNzo0MToyNy4xMTlaFjYwZmM2YmJlZjk4YzE1N2ZhNjFhYjk4Nw==' # str | Cursor to fetch results before. Used with 'last' for backward pagination. (optional)
status = opal_security.RequestStatusEnum() # RequestStatusEnum | Filter requests by their status. (optional)
- to = UUID('37cb7e41-12ba-46da-92ff-030abe0450b1') # UUID | Filter requests assigned to a specific user ID. (optional)
- var_from = UUID('37cb7e41-12ba-46da-92ff-030abe0450b1') # UUID | Filter requests made by a specific user ID. (optional)
+ to = '37cb7e41-12ba-46da-92ff-030abe0450b1' # str | Filter requests assigned to a specific user ID. (optional)
+ var_from = '37cb7e41-12ba-46da-92ff-030abe0450b1' # str | Filter requests made by a specific user ID. (optional)
try:
# Get requests via Relay
@@ -650,8 +664,8 @@ Name | Type | Description | Notes
**last** | **int**| Number of results to return before the cursor. Use either first/after or last/before, not both. | [optional]
**before** | **str**| Cursor to fetch results before. Used with 'last' for backward pagination. | [optional]
**status** | [**RequestStatusEnum**](.md)| Filter requests by their status. | [optional]
- **to** | **UUID**| Filter requests assigned to a specific user ID. | [optional]
- **var_from** | **UUID**| Filter requests made by a specific user ID. | [optional]
+ **to** | **str**| Filter requests assigned to a specific user ID. | [optional]
+ **var_from** | **str**| Filter requests made by a specific user ID. | [optional]
### Return type
diff --git a/docs/Resource.md b/docs/Resource.md
index f87a8d0..dfc9515 100644
--- a/docs/Resource.md
+++ b/docs/Resource.md
@@ -6,11 +6,11 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
-**app_id** | **UUID** | The ID of the app. | [optional]
+**resource_id** | **str** | The ID of the resource. |
+**app_id** | **str** | The ID of the app. | [optional]
**name** | **str** | The name of the resource. | [optional]
**description** | **str** | A description of the resource. | [optional]
-**admin_owner_id** | **UUID** | The ID of the owner of the resource. | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the resource. | [optional]
**remote_resource_id** | **str** | The ID of the resource on the remote system. | [optional]
**remote_resource_name** | **str** | The name of the resource on the remote system. | [optional]
**resource_type** | [**ResourceTypeEnum**](ResourceTypeEnum.md) | | [optional]
@@ -23,10 +23,10 @@ Name | Type | Description | Notes
**require_mfa_to_request** | **bool** | A bool representing whether or not to require MFA for requesting access to this resource. | [optional]
**require_mfa_to_connect** | **bool** | A bool representing whether or not to require MFA to connect to this resource. | [optional]
**auto_approval** | **bool** | A bool representing whether or not to automatically approve requests to this resource. | [optional]
-**request_template_id** | **UUID** | The ID of the associated request template. | [optional]
+**request_template_id** | **str** | The ID of the associated request template. | [optional]
**is_requestable** | **bool** | A bool representing whether or not to allow access requests to this resource. | [optional]
-**parent_resource_id** | **UUID** | The ID of the parent resource. | [optional]
-**configuration_template_id** | **UUID** | The ID of the associated configuration template. | [optional]
+**parent_resource_id** | **str** | The ID of the parent resource. | [optional]
+**configuration_template_id** | **str** | The ID of the associated configuration template. | [optional]
**request_configurations** | [**List[RequestConfiguration]**](RequestConfiguration.md) | A list of configurations for requests to this resource. | [optional]
**request_configuration_list** | [**List[RequestConfiguration]**](RequestConfiguration.md) | A list of configurations for requests to this resource. Deprecated in favor of `request_configurations`. | [optional]
**ticket_propagation** | [**TicketPropagationConfiguration**](TicketPropagationConfiguration.md) | | [optional]
@@ -35,8 +35,8 @@ Name | Type | Description | Notes
**risk_sensitivity_override** | [**RiskSensitivityEnum**](RiskSensitivityEnum.md) | | [optional]
**metadata** | **str** | JSON metadata about the remote resource. Only set for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details. | [optional]
**remote_info** | [**ResourceRemoteInfo**](ResourceRemoteInfo.md) | | [optional]
-**ancestor_resource_ids** | **List[UUID]** | List of resource IDs that are ancestors of this resource. | [optional]
-**descendant_resource_ids** | **List[UUID]** | List of resource IDs that are descendants of this resource. | [optional]
+**ancestor_resource_ids** | **List[str]** | List of resource IDs that are ancestors of this resource. | [optional]
+**descendant_resource_ids** | **List[str]** | List of resource IDs that are descendants of this resource. | [optional]
**last_successful_sync** | [**SyncTask**](SyncTask.md) | Information about the last successful sync of this resource. | [optional] [readonly]
## Example
diff --git a/docs/ResourceAccessUser.md b/docs/ResourceAccessUser.md
index 6277592..28ce04b 100644
--- a/docs/ResourceAccessUser.md
+++ b/docs/ResourceAccessUser.md
@@ -6,10 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
+**resource_id** | **str** | The ID of the resource. |
**resource_name** | **str** | The name of the resource. | [optional]
**description** | **str** | The description of the resource. | [optional]
-**user_id** | **UUID** | The ID of the user. |
+**user_id** | **str** | The ID of the user. |
**access_level** | [**ResourceAccessLevel**](ResourceAccessLevel.md) | |
**full_name** | **str** | The user's full name. |
**email** | **str** | The user's email. |
diff --git a/docs/ResourceNHI.md b/docs/ResourceNHI.md
index 2e45342..f9b5ad9 100644
--- a/docs/ResourceNHI.md
+++ b/docs/ResourceNHI.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
-**non_human_identity_id** | **UUID** | The resource ID of the non-human identity. |
+**resource_id** | **str** | The ID of the resource. |
+**non_human_identity_id** | **str** | The resource ID of the non-human identity. |
**access_level** | [**ResourceAccessLevel**](ResourceAccessLevel.md) | | [optional]
**expiration_date** | **datetime** | The day and time the non-human identity's access will expire. | [optional]
diff --git a/docs/ResourceRemoteInfo.md b/docs/ResourceRemoteInfo.md
index 0f3b9f7..b78ff34 100644
--- a/docs/ResourceRemoteInfo.md
+++ b/docs/ResourceRemoteInfo.md
@@ -53,6 +53,7 @@ Name | Type | Description | Notes
**snowflake_table** | [**ResourceRemoteInfoSnowflakeTable**](ResourceRemoteInfoSnowflakeTable.md) | | [optional]
**ilevel_advanced_role** | [**ResourceRemoteInfoIlevelAdvancedRole**](ResourceRemoteInfoIlevelAdvancedRole.md) | | [optional]
**tailscale_ssh** | [**ResourceRemoteInfoTailscaleSsh**](ResourceRemoteInfoTailscaleSsh.md) | | [optional]
+**twingate_resource** | [**ResourceRemoteInfoTwingateResource**](ResourceRemoteInfoTwingateResource.md) | | [optional]
**pagerduty_role** | [**ResourceRemoteInfoPagerdutyRole**](ResourceRemoteInfoPagerdutyRole.md) | | [optional]
**workday_role** | [**ResourceRemoteInfoWorkdayRole**](ResourceRemoteInfoWorkdayRole.md) | | [optional]
**salesforce_permission_set** | [**ResourceRemoteInfoSalesforcePermissionSet**](ResourceRemoteInfoSalesforcePermissionSet.md) | | [optional]
@@ -68,6 +69,10 @@ Name | Type | Description | Notes
**oracle_fusion_role** | [**ResourceRemoteInfoOracleFusionRole**](ResourceRemoteInfoOracleFusionRole.md) | | [optional]
**devin_organization** | [**ResourceRemoteInfoDevinOrganization**](ResourceRemoteInfoDevinOrganization.md) | | [optional]
**devin_role** | [**ResourceRemoteInfoDevinRole**](ResourceRemoteInfoDevinRole.md) | | [optional]
+**netsuite_role** | [**ResourceRemoteInfoNetsuiteRole**](ResourceRemoteInfoNetsuiteRole.md) | | [optional]
+**datadog_role** | [**ResourceRemoteInfoDatadogRole**](ResourceRemoteInfoDatadogRole.md) | | [optional]
+**clickhouse_database** | [**ResourceRemoteInfoClickhouseDatabase**](ResourceRemoteInfoClickhouseDatabase.md) | | [optional]
+**clickhouse_table** | [**ResourceRemoteInfoClickhouseTable**](ResourceRemoteInfoClickhouseTable.md) | | [optional]
## Example
diff --git a/docs/ResourceRemoteInfoClickhouseDatabase.md b/docs/ResourceRemoteInfoClickhouseDatabase.md
new file mode 100644
index 0000000..8c2b6f5
--- /dev/null
+++ b/docs/ResourceRemoteInfoClickhouseDatabase.md
@@ -0,0 +1,30 @@
+# ResourceRemoteInfoClickhouseDatabase
+
+Remote info for ClickHouse database.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**database_name** | **str** | The name of the ClickHouse database. |
+
+## Example
+
+```python
+from opal_security.models.resource_remote_info_clickhouse_database import ResourceRemoteInfoClickhouseDatabase
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ResourceRemoteInfoClickhouseDatabase from a JSON string
+resource_remote_info_clickhouse_database_instance = ResourceRemoteInfoClickhouseDatabase.from_json(json)
+# print the JSON string representation of the object
+print(ResourceRemoteInfoClickhouseDatabase.to_json())
+
+# convert the object into a dict
+resource_remote_info_clickhouse_database_dict = resource_remote_info_clickhouse_database_instance.to_dict()
+# create an instance of ResourceRemoteInfoClickhouseDatabase from a dict
+resource_remote_info_clickhouse_database_from_dict = ResourceRemoteInfoClickhouseDatabase.from_dict(resource_remote_info_clickhouse_database_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ResourceRemoteInfoClickhouseTable.md b/docs/ResourceRemoteInfoClickhouseTable.md
new file mode 100644
index 0000000..b52bfaf
--- /dev/null
+++ b/docs/ResourceRemoteInfoClickhouseTable.md
@@ -0,0 +1,31 @@
+# ResourceRemoteInfoClickhouseTable
+
+Remote info for ClickHouse table.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**database_name** | **str** | The name of the ClickHouse database containing the table. |
+**table_name** | **str** | The name of the ClickHouse table. |
+
+## Example
+
+```python
+from opal_security.models.resource_remote_info_clickhouse_table import ResourceRemoteInfoClickhouseTable
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ResourceRemoteInfoClickhouseTable from a JSON string
+resource_remote_info_clickhouse_table_instance = ResourceRemoteInfoClickhouseTable.from_json(json)
+# print the JSON string representation of the object
+print(ResourceRemoteInfoClickhouseTable.to_json())
+
+# convert the object into a dict
+resource_remote_info_clickhouse_table_dict = resource_remote_info_clickhouse_table_instance.to_dict()
+# create an instance of ResourceRemoteInfoClickhouseTable from a dict
+resource_remote_info_clickhouse_table_from_dict = ResourceRemoteInfoClickhouseTable.from_dict(resource_remote_info_clickhouse_table_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ResourceRemoteInfoDatadogRole.md b/docs/ResourceRemoteInfoDatadogRole.md
new file mode 100644
index 0000000..30d6526
--- /dev/null
+++ b/docs/ResourceRemoteInfoDatadogRole.md
@@ -0,0 +1,30 @@
+# ResourceRemoteInfoDatadogRole
+
+Remote info for Datadog role.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**role_id** | **str** | The id of the role. |
+
+## Example
+
+```python
+from opal_security.models.resource_remote_info_datadog_role import ResourceRemoteInfoDatadogRole
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ResourceRemoteInfoDatadogRole from a JSON string
+resource_remote_info_datadog_role_instance = ResourceRemoteInfoDatadogRole.from_json(json)
+# print the JSON string representation of the object
+print(ResourceRemoteInfoDatadogRole.to_json())
+
+# convert the object into a dict
+resource_remote_info_datadog_role_dict = resource_remote_info_datadog_role_instance.to_dict()
+# create an instance of ResourceRemoteInfoDatadogRole from a dict
+resource_remote_info_datadog_role_from_dict = ResourceRemoteInfoDatadogRole.from_dict(resource_remote_info_datadog_role_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ResourceRemoteInfoNetsuiteRole.md b/docs/ResourceRemoteInfoNetsuiteRole.md
new file mode 100644
index 0000000..db16829
--- /dev/null
+++ b/docs/ResourceRemoteInfoNetsuiteRole.md
@@ -0,0 +1,30 @@
+# ResourceRemoteInfoNetsuiteRole
+
+Remote info for NetSuite role.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**role_id** | **str** | The id of the role. |
+
+## Example
+
+```python
+from opal_security.models.resource_remote_info_netsuite_role import ResourceRemoteInfoNetsuiteRole
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ResourceRemoteInfoNetsuiteRole from a JSON string
+resource_remote_info_netsuite_role_instance = ResourceRemoteInfoNetsuiteRole.from_json(json)
+# print the JSON string representation of the object
+print(ResourceRemoteInfoNetsuiteRole.to_json())
+
+# convert the object into a dict
+resource_remote_info_netsuite_role_dict = resource_remote_info_netsuite_role_instance.to_dict()
+# create an instance of ResourceRemoteInfoNetsuiteRole from a dict
+resource_remote_info_netsuite_role_from_dict = ResourceRemoteInfoNetsuiteRole.from_dict(resource_remote_info_netsuite_role_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ResourceRemoteInfoTwingateResource.md b/docs/ResourceRemoteInfoTwingateResource.md
new file mode 100644
index 0000000..5fe8e2e
--- /dev/null
+++ b/docs/ResourceRemoteInfoTwingateResource.md
@@ -0,0 +1,30 @@
+# ResourceRemoteInfoTwingateResource
+
+Remote info for Twingate resource.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**resource_id** | **str** | The id of the Twingate resource. |
+
+## Example
+
+```python
+from opal_security.models.resource_remote_info_twingate_resource import ResourceRemoteInfoTwingateResource
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ResourceRemoteInfoTwingateResource from a JSON string
+resource_remote_info_twingate_resource_instance = ResourceRemoteInfoTwingateResource.from_json(json)
+# print the JSON string representation of the object
+print(ResourceRemoteInfoTwingateResource.to_json())
+
+# convert the object into a dict
+resource_remote_info_twingate_resource_dict = resource_remote_info_twingate_resource_instance.to_dict()
+# create an instance of ResourceRemoteInfoTwingateResource from a dict
+resource_remote_info_twingate_resource_from_dict = ResourceRemoteInfoTwingateResource.from_dict(resource_remote_info_twingate_resource_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ResourceTypeEnum.md b/docs/ResourceTypeEnum.md
index e05e8b5..485a8c5 100644
--- a/docs/ResourceTypeEnum.md
+++ b/docs/ResourceTypeEnum.md
@@ -90,6 +90,10 @@ The type of the resource.
* `MONGO_ATLAS_INSTANCE` (value: `'MONGO_ATLAS_INSTANCE'`)
+* `NETSUITE_ROLE` (value: `'NETSUITE_ROLE'`)
+
+* `DATADOG_ROLE` (value: `'DATADOG_ROLE'`)
+
* `OKTA_APP` (value: `'OKTA_APP'`)
* `OKTA_ROLE` (value: `'OKTA_ROLE'`)
@@ -154,6 +158,20 @@ The type of the resource.
* `GIT_HUB_ENTERPRISE_ROLE` (value: `'GIT_HUB_ENTERPRISE_ROLE'`)
+* `GRAFANA_FOLDER` (value: `'GRAFANA_FOLDER'`)
+
+* `GRAFANA_DASHBOARD` (value: `'GRAFANA_DASHBOARD'`)
+
+* `GRAFANA_BASIC_ROLE` (value: `'GRAFANA_BASIC_ROLE'`)
+
+* `GRAFANA_ROLE` (value: `'GRAFANA_ROLE'`)
+
+* `CLICKHOUSE_DATABASE` (value: `'CLICKHOUSE_DATABASE'`)
+
+* `CLICKHOUSE_TABLE` (value: `'CLICKHOUSE_TABLE'`)
+
+* `TWINGATE_RESOURCE` (value: `'TWINGATE_RESOURCE'`)
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/ResourceUser.md b/docs/ResourceUser.md
index 0c4bab3..48bc388 100644
--- a/docs/ResourceUser.md
+++ b/docs/ResourceUser.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
-**user_id** | **UUID** | The ID of the user. |
+**resource_id** | **str** | The ID of the resource. |
+**user_id** | **str** | The ID of the user. |
**access_level** | [**ResourceAccessLevel**](ResourceAccessLevel.md) | |
**full_name** | **str** | The user's full name. |
**email** | **str** | The user's email. |
diff --git a/docs/ResourceUserAccessStatus.md b/docs/ResourceUserAccessStatus.md
index 31c9bc0..f1ef965 100644
--- a/docs/ResourceUserAccessStatus.md
+++ b/docs/ResourceUserAccessStatus.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
-**user_id** | **UUID** | The ID of the user. |
+**resource_id** | **str** | The ID of the resource. |
+**user_id** | **str** | The ID of the user. |
**access_level** | [**ResourceAccessLevel**](ResourceAccessLevel.md) | | [optional]
**status** | [**ResourceUserAccessStatusEnum**](ResourceUserAccessStatusEnum.md) | |
**expiration_date** | **datetime** | The day and time the user's access will expire. | [optional]
diff --git a/docs/ResourceWithAccessLevel.md b/docs/ResourceWithAccessLevel.md
index 07daea6..756ed39 100644
--- a/docs/ResourceWithAccessLevel.md
+++ b/docs/ResourceWithAccessLevel.md
@@ -6,7 +6,7 @@ Information about a resource and corresponding access level
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
+**resource_id** | **str** | The ID of the resource. |
**access_level_remote_id** | **str** | The ID of the resource. | [optional]
## Example
diff --git a/docs/ResourcesApi.md b/docs/ResourcesApi.md
index 0d1d587..b690f26 100644
--- a/docs/ResourcesApi.md
+++ b/docs/ResourcesApi.md
@@ -36,6 +36,8 @@ Method | HTTP request | Description
# **add_resource_nhi**
> ResourceNHI add_resource_nhi(resource_id, non_human_identity_id, add_resource_nhi_request=add_resource_nhi_request)
+
+
Gives a non-human identity access to this resource.
### Example
@@ -71,8 +73,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
- non_human_identity_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The resource ID of the non-human identity to add.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
+ non_human_identity_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The resource ID of the non-human identity to add.
add_resource_nhi_request = opal_security.AddResourceNhiRequest() # AddResourceNhiRequest | (optional)
try:
@@ -90,8 +92,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **non_human_identity_id** | **UUID**| The resource ID of the non-human identity to add. |
+ **resource_id** | **str**| The ID of the resource. |
+ **non_human_identity_id** | **str**| The resource ID of the non-human identity to add. |
**add_resource_nhi_request** | [**AddResourceNhiRequest**](AddResourceNhiRequest.md)| | [optional]
### Return type
@@ -118,6 +120,8 @@ Name | Type | Description | Notes
# **add_resource_user**
> ResourceUser add_resource_user(resource_id, user_id, duration_minutes=duration_minutes, access_level_remote_id=access_level_remote_id, add_resource_user_request=add_resource_user_request)
+
+
Adds a user to this resource.
### Example
@@ -153,8 +157,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
- user_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of the user to add.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
+ user_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of the user to add.
duration_minutes = 60 # int | The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite. (optional)
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used. (optional)
add_resource_user_request = opal_security.AddResourceUserRequest() # AddResourceUserRequest | (optional)
@@ -174,8 +178,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **user_id** | **UUID**| The ID of the user to add. |
+ **resource_id** | **str**| The ID of the resource. |
+ **user_id** | **str**| The ID of the user to add. |
**duration_minutes** | **int**| The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite. | [optional]
**access_level_remote_id** | **str**| The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used. | [optional]
**add_resource_user_request** | [**AddResourceUserRequest**](AddResourceUserRequest.md)| | [optional]
@@ -204,6 +208,8 @@ Name | Type | Description | Notes
# **create_resource**
> Resource create_resource(create_resource_info)
+
+
Creates a resource. See [here](https://docs.opal.dev/reference/end-system-objects) for details about importing resources.
### Example
@@ -282,6 +288,8 @@ Name | Type | Description | Notes
# **delete_resource**
> delete_resource(resource_id)
+
+
Deletes a resource.
### Example
@@ -315,7 +323,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
try:
api_instance.delete_resource(resource_id)
@@ -330,7 +338,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
### Return type
@@ -356,6 +364,8 @@ void (empty response body)
# **delete_resource_nhi**
> delete_resource_nhi(resource_id, non_human_identity_id, access_level_remote_id=access_level_remote_id)
+
+
Removes a non-human identity's direct access from this resource.
### Example
@@ -389,8 +399,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
- non_human_identity_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The resource ID of the non-human identity to remove from this resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
+ non_human_identity_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The resource ID of the non-human identity to remove from this resource.
access_level_remote_id = 'roles/cloudsql.instanceUser' # str | The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed. (optional)
try:
@@ -406,8 +416,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **non_human_identity_id** | **UUID**| The resource ID of the non-human identity to remove from this resource. |
+ **resource_id** | **str**| The ID of the resource. |
+ **non_human_identity_id** | **str**| The resource ID of the non-human identity to remove from this resource. |
**access_level_remote_id** | **str**| The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed. | [optional]
### Return type
@@ -434,6 +444,8 @@ void (empty response body)
# **delete_resource_user**
> delete_resource_user(resource_id, user_id, access_level_remote_id=access_level_remote_id)
+
+
Removes a user's direct access from this resource.
### Example
@@ -467,8 +479,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
- user_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of a user to remove from this resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
+ user_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of a user to remove from this resource.
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed. (optional)
try:
@@ -484,8 +496,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **user_id** | **UUID**| The ID of a user to remove from this resource. |
+ **resource_id** | **str**| The ID of the resource. |
+ **user_id** | **str**| The ID of a user to remove from this resource. |
**access_level_remote_id** | **str**| The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed. | [optional]
### Return type
@@ -548,7 +560,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
try:
# Get resource by ID
@@ -566,7 +578,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
### Return type
@@ -592,6 +604,8 @@ Name | Type | Description | Notes
# **get_resource_groups**
> GroupResourceList get_resource_groups(resource_id)
+
+
Returns a list of groups that grant access to the resource
### Example
@@ -626,7 +640,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource that the groups grant access to.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource that the groups grant access to.
try:
api_response = api_instance.get_resource_groups(resource_id)
@@ -643,7 +657,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource that the groups grant access to. |
+ **resource_id** | **str**| The ID of the resource that the groups grant access to. |
### Return type
@@ -669,6 +683,8 @@ Name | Type | Description | Notes
# **get_resource_message_channels**
> MessageChannelList get_resource_message_channels(resource_id)
+
+
Gets the list of audit message channels attached to a resource.
### Example
@@ -703,7 +719,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
try:
api_response = api_instance.get_resource_message_channels(resource_id)
@@ -720,7 +736,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
### Return type
@@ -746,6 +762,8 @@ Name | Type | Description | Notes
# **get_resource_nhis**
> AccessList get_resource_nhis(resource_id, limit=limit)
+
+
Gets the list of non-human identities with access to this resource.
### Example
@@ -780,7 +798,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
limit = 200 # int | Limit the number of results returned. (optional)
try:
@@ -798,7 +816,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**limit** | **int**| Limit the number of results returned. | [optional]
### Return type
@@ -825,6 +843,8 @@ Name | Type | Description | Notes
# **get_resource_reviewer_stages**
> List[ReviewerStage] get_resource_reviewer_stages(resource_id)
+
+
Gets the list reviewer stages for a resource.
### Example
@@ -859,7 +879,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
try:
api_response = api_instance.get_resource_reviewer_stages(resource_id)
@@ -876,7 +896,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
### Return type
@@ -900,7 +920,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_resource_reviewers**
-> List[UUID] get_resource_reviewers(resource_id)
+> List[str] get_resource_reviewers(resource_id)
+
+
Gets the list of owner IDs of the reviewers for a resource.
@@ -935,7 +957,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
try:
api_response = api_instance.get_resource_reviewers(resource_id)
@@ -952,11 +974,11 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -978,6 +1000,8 @@ Name | Type | Description | Notes
# **get_resource_scoped_role_permissions**
> ScopedRolePermissionList get_resource_scoped_role_permissions(resource_id)
+
+
Returns all the scoped role permissions that apply to the given resource. Only OPAL_SCOPED_ROLE resource type supports this field.
### Example
@@ -1012,7 +1036,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource whose scoped role permissions belong to.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource whose scoped role permissions belong to.
try:
api_response = api_instance.get_resource_scoped_role_permissions(resource_id)
@@ -1029,7 +1053,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource whose scoped role permissions belong to. |
+ **resource_id** | **str**| The ID of the resource whose scoped role permissions belong to. |
### Return type
@@ -1055,6 +1079,8 @@ Name | Type | Description | Notes
# **get_resource_tags**
> TagsList get_resource_tags(resource_id)
+
+
Returns all tags applied to the resource.
### Example
@@ -1089,7 +1115,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource whose tags to return.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource whose tags to return.
try:
api_response = api_instance.get_resource_tags(resource_id)
@@ -1106,7 +1132,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource whose tags to return. |
+ **resource_id** | **str**| The ID of the resource whose tags to return. |
### Return type
@@ -1168,8 +1194,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The ID of the resource.
- user_id = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | The ID of the user.
+ resource_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the resource.
+ user_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | The ID of the user.
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
try:
@@ -1188,8 +1214,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **user_id** | **UUID**| The ID of the user. |
+ **resource_id** | **str**| The ID of the resource. |
+ **user_id** | **str**| The ID of the user. |
**cursor** | **str**| The pagination cursor value. | [optional]
### Return type
@@ -1253,7 +1279,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
limit = 200 # int | Limit the number of results returned. (optional)
try:
@@ -1272,7 +1298,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**limit** | **int**| Limit the number of results returned. | [optional]
### Return type
@@ -1299,6 +1325,8 @@ Name | Type | Description | Notes
# **get_resource_visibility**
> VisibilityInfo get_resource_visibility(resource_id)
+
+
Gets the visibility of this resource.
### Example
@@ -1333,7 +1361,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
try:
api_response = api_instance.get_resource_visibility(resource_id)
@@ -1350,7 +1378,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
### Return type
@@ -1374,7 +1402,7 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_resources**
-> PaginatedResourcesList get_resources(cursor=cursor, page_size=page_size, resource_type_filter=resource_type_filter, resource_ids=resource_ids, resource_name=resource_name, parent_resource_id=parent_resource_id, ancestor_resource_id=ancestor_resource_id, remote_id=remote_id)
+> PaginatedResourcesList get_resources(cursor=cursor, page_size=page_size, resource_type_filter=resource_type_filter, resource_ids=resource_ids, resource_name=resource_name, parent_resource_id=parent_resource_id, ancestor_resource_id=ancestor_resource_id, remote_id=remote_id, tag_ids=tag_ids)
Get resources
@@ -1416,15 +1444,16 @@ with opal_security.ApiClient(configuration) as api_client:
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
resource_type_filter = opal_security.ResourceTypeEnum() # ResourceTypeEnum | The resource type to filter by. Required when remote_id is provided. (optional)
- resource_ids = [["4baf8423-db0a-4037-a4cf-f79c60cb67a5","1b978423-db0a-4037-a4cf-f79c60cb67b3"]] # List[UUID] | The resource ids to filter by. (optional)
+ resource_ids = ['[\"4baf8423-db0a-4037-a4cf-f79c60cb67a5\",\"1b978423-db0a-4037-a4cf-f79c60cb67b3\"]'] # List[str] | The resource ids to filter by. (optional)
resource_name = 'example-name' # str | Resource name. (optional)
- parent_resource_id = UUID('[\"4baf8423-db0a-4037-a4cf-f79c60cb67a5\"]') # UUID | The parent resource id to filter by. (optional)
- ancestor_resource_id = UUID('[\"4baf8423-db0a-4037-a4cf-f79c60cb67a5\"]') # UUID | The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource. (optional)
+ parent_resource_id = '[\"4baf8423-db0a-4037-a4cf-f79c60cb67a5\"]' # str | The parent resource id to filter by. (optional)
+ ancestor_resource_id = '[\"4baf8423-db0a-4037-a4cf-f79c60cb67a5\"]' # str | The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource. (optional)
remote_id = 'remote_id_example' # str | Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided. (optional)
+ tag_ids = ['tag_ids_example'] # List[str] | The IDs of the tags to filter by. Returns only resources that have any of these tags applied. (optional)
try:
# Get resources
- api_response = api_instance.get_resources(cursor=cursor, page_size=page_size, resource_type_filter=resource_type_filter, resource_ids=resource_ids, resource_name=resource_name, parent_resource_id=parent_resource_id, ancestor_resource_id=ancestor_resource_id, remote_id=remote_id)
+ api_response = api_instance.get_resources(cursor=cursor, page_size=page_size, resource_type_filter=resource_type_filter, resource_ids=resource_ids, resource_name=resource_name, parent_resource_id=parent_resource_id, ancestor_resource_id=ancestor_resource_id, remote_id=remote_id, tag_ids=tag_ids)
print("The response of ResourcesApi->get_resources:\n")
pprint(api_response)
except Exception as e:
@@ -1441,11 +1470,12 @@ Name | Type | Description | Notes
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
**resource_type_filter** | [**ResourceTypeEnum**](.md)| The resource type to filter by. Required when remote_id is provided. | [optional]
- **resource_ids** | [**List[UUID]**](UUID.md)| The resource ids to filter by. | [optional]
+ **resource_ids** | [**List[str]**](str.md)| The resource ids to filter by. | [optional]
**resource_name** | **str**| Resource name. | [optional]
- **parent_resource_id** | **UUID**| The parent resource id to filter by. | [optional]
- **ancestor_resource_id** | **UUID**| The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource. | [optional]
+ **parent_resource_id** | **str**| The parent resource id to filter by. | [optional]
+ **ancestor_resource_id** | **str**| The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource. | [optional]
**remote_id** | **str**| Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided. | [optional]
+ **tag_ids** | [**List[str]**](str.md)| The IDs of the tags to filter by. Returns only resources that have any of these tags applied. | [optional]
### Return type
@@ -1471,6 +1501,8 @@ Name | Type | Description | Notes
# **get_user_resources**
> ResourceAccessUserList get_user_resources(user_id, limit=limit, cursor=cursor, include_unmanaged=include_unmanaged)
+
+
Gets the list of resources for this user.
### Example
@@ -1505,7 +1537,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- user_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the user.
+ user_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the user.
limit = 200 # int | Limit the number of results returned. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
include_unmanaged = false # bool | Include user's access to unmanaged resources. (optional)
@@ -1525,7 +1557,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **user_id** | **UUID**| The ID of the user. |
+ **user_id** | **str**| The ID of the user. |
**limit** | **int**| Limit the number of results returned. | [optional]
**cursor** | **str**| The pagination cursor value. | [optional]
**include_unmanaged** | **bool**| Include user's access to unmanaged resources. | [optional]
@@ -1554,6 +1586,8 @@ Name | Type | Description | Notes
# **resource_user_access_status_retrieve**
> ResourceUserAccessStatus resource_user_access_status_retrieve(resource_id, user_id, access_level_remote_id=access_level_remote_id, cursor=cursor, page_size=page_size)
+
+
Get user's access status to a resource.
### Example
@@ -1588,8 +1622,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource.
- user_id = UUID('29827fb8-f2dd-4e80-9576-28e31e9934ac') # UUID | The ID of the user.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource.
+ user_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | The ID of the user.
access_level_remote_id = 'arn:aws:iam::590304332660:role/AdministratorAccess' # str | The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
@@ -1609,8 +1643,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **user_id** | **UUID**| The ID of the user. |
+ **resource_id** | **str**| The ID of the resource. |
+ **user_id** | **str**| The ID of the user. |
**access_level_remote_id** | **str**| The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used. | [optional]
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
@@ -1637,7 +1671,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **set_resource_message_channels**
-> List[UUID] set_resource_message_channels(resource_id, message_channel_id_list)
+> List[str] set_resource_message_channels(resource_id, message_channel_id_list)
+
+
Sets the list of audit message channels attached to a resource.
@@ -1673,7 +1709,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
message_channel_id_list = opal_security.MessageChannelIDList() # MessageChannelIDList |
try:
@@ -1691,12 +1727,12 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**message_channel_id_list** | [**MessageChannelIDList**](MessageChannelIDList.md)| |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -1718,6 +1754,8 @@ Name | Type | Description | Notes
# **set_resource_reviewer_stages**
> List[ReviewerStage] set_resource_reviewer_stages(resource_id, reviewer_stage_list)
+
+
Sets the list of reviewer stages for a resource.
### Example
@@ -1753,7 +1791,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
reviewer_stage_list = opal_security.ReviewerStageList() # ReviewerStageList |
try:
@@ -1771,7 +1809,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**reviewer_stage_list** | [**ReviewerStageList**](ReviewerStageList.md)| |
### Return type
@@ -1796,7 +1834,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **set_resource_reviewers**
-> List[UUID] set_resource_reviewers(resource_id, reviewer_id_list)
+> List[str] set_resource_reviewers(resource_id, reviewer_id_list)
+
+
Sets the list of reviewers for a resource.
@@ -1832,7 +1872,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
reviewer_id_list = opal_security.ReviewerIDList() # ReviewerIDList |
try:
@@ -1850,12 +1890,12 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**reviewer_id_list** | [**ReviewerIDList**](ReviewerIDList.md)| |
### Return type
-**List[UUID]**
+**List[str]**
### Authorization
@@ -1877,6 +1917,8 @@ Name | Type | Description | Notes
# **set_resource_scoped_role_permissions**
> ScopedRolePermissionList set_resource_scoped_role_permissions(resource_id, scoped_role_permission_list)
+
+
Sets all the scoped role permissions on an OPAL_SCOPED_ROLE resource.
### Example
@@ -1911,7 +1953,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.
scoped_role_permission_list = opal_security.ScopedRolePermissionList() # ScopedRolePermissionList |
try:
@@ -1929,7 +1971,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type. |
+ **resource_id** | **str**| The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type. |
**scoped_role_permission_list** | [**ScopedRolePermissionList**](ScopedRolePermissionList.md)| |
### Return type
@@ -1956,6 +1998,8 @@ Name | Type | Description | Notes
# **set_resource_visibility**
> VisibilityInfo set_resource_visibility(resource_id, visibility_info)
+
+
Sets the visibility of this resource.
### Example
@@ -1990,7 +2034,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
visibility_info = opal_security.VisibilityInfo() # VisibilityInfo |
try:
@@ -2008,7 +2052,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**visibility_info** | [**VisibilityInfo**](VisibilityInfo.md)| |
### Return type
@@ -2035,6 +2079,8 @@ Name | Type | Description | Notes
# **update_resource_user**
> ResourceUser update_resource_user(resource_id, user_id, update_resource_user_request)
+
+
Updates a user's access level or duration on this resource.
### Example
@@ -2070,8 +2116,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.ResourcesApi(api_client)
- resource_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the resource.
- user_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of the user whose access is being updated.
+ resource_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the resource.
+ user_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of the user whose access is being updated.
update_resource_user_request = opal_security.UpdateResourceUserRequest() # UpdateResourceUserRequest |
try:
@@ -2089,8 +2135,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
- **user_id** | **UUID**| The ID of the user whose access is being updated. |
+ **resource_id** | **str**| The ID of the resource. |
+ **user_id** | **str**| The ID of the user whose access is being updated. |
**update_resource_user_request** | [**UpdateResourceUserRequest**](UpdateResourceUserRequest.md)| |
### Return type
@@ -2117,6 +2163,8 @@ Name | Type | Description | Notes
# **update_resources**
> UpdateResourceInfoList update_resources(update_resource_info_list)
+
+
Bulk updates a list of resources.
### Example
diff --git a/docs/ReviewerIDList.md b/docs/ReviewerIDList.md
index fffd88c..58715bd 100644
--- a/docs/ReviewerIDList.md
+++ b/docs/ReviewerIDList.md
@@ -6,7 +6,7 @@ A list of reviewer IDs.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**reviewer_ids** | **List[UUID]** | |
+**reviewer_ids** | **List[str]** | |
## Example
diff --git a/docs/ReviewerStage.md b/docs/ReviewerStage.md
index 747fc30..542c7e9 100644
--- a/docs/ReviewerStage.md
+++ b/docs/ReviewerStage.md
@@ -9,7 +9,8 @@ Name | Type | Description | Notes
**require_manager_approval** | **bool** | Whether this reviewer stage should require manager approval. |
**require_admin_approval** | **bool** | Whether this reviewer stage should require admin approval. | [optional]
**operator** | **str** | The operator of the reviewer stage. Admin and manager approval are also treated as reviewers. |
-**owner_ids** | **List[UUID]** | |
+**owner_ids** | **List[str]** | The IDs of owners assigned as reviewers for this stage. |
+**service_user_ids** | **List[str]** | The IDs of service users assigned as reviewers for this stage. | [optional]
## Example
diff --git a/docs/ScopedRolePermission.md b/docs/ScopedRolePermission.md
index 23770a8..73c87c1 100644
--- a/docs/ScopedRolePermission.md
+++ b/docs/ScopedRolePermission.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**target_ids** | **List[UUID]** | The IDs of the entities that this permission applies to. If empty of missing, the permission will have untargeted scope. | [optional]
+**target_ids** | **List[str]** | The IDs of the entities that this permission applies to. If empty of missing, the permission will have untargeted scope. | [optional]
**target_type** | [**RolePermissionTargetTypeEnum**](RolePermissionTargetTypeEnum.md) | |
**permission_name** | [**RolePermissionNameEnum**](RolePermissionNameEnum.md) | |
**allow_all** | **bool** | |
diff --git a/docs/Session.md b/docs/Session.md
index a999feb..f1bc4cb 100644
--- a/docs/Session.md
+++ b/docs/Session.md
@@ -6,9 +6,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**connection_id** | **UUID** | The ID of the connection. |
-**user_id** | **UUID** | The ID of the user. |
-**resource_id** | **UUID** | The ID of the resource. |
+**connection_id** | **str** | The ID of the connection. |
+**user_id** | **str** | The ID of the user. |
+**resource_id** | **str** | The ID of the resource. |
**access_level** | [**ResourceAccessLevel**](ResourceAccessLevel.md) | |
**expiration_date** | **datetime** | The day and time the user's access will expire. |
diff --git a/docs/SessionsApi.md b/docs/SessionsApi.md
index 5a41254..22311f7 100644
--- a/docs/SessionsApi.md
+++ b/docs/SessionsApi.md
@@ -10,6 +10,8 @@ Method | HTTP request | Description
# **sessions**
> SessionsList sessions(resource_id, user_id=user_id)
+
+
Returns a list of `Session` objects.
### Example
@@ -44,7 +46,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.SessionsApi(api_client)
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource.
user_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The ID of the user you wish to query sessions for. (optional)
try:
@@ -62,7 +64,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **resource_id** | **UUID**| The ID of the resource. |
+ **resource_id** | **str**| The ID of the resource. |
**user_id** | **str**| The ID of the user you wish to query sessions for. | [optional]
### Return type
diff --git a/docs/SyncError.md b/docs/SyncError.md
index 8800bfe..caeb41e 100644
--- a/docs/SyncError.md
+++ b/docs/SyncError.md
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
**first_seen** | **datetime** | The time when this error was first seen. |
**last_seen** | **datetime** | The time when this error was most recently seen. |
**error_message** | **str** | The error message associated with the sync error. |
-**app_id** | **UUID** | The ID of the app that the error occured for. | [optional]
+**app_id** | **str** | The ID of the app that the error occured for. | [optional]
## Example
diff --git a/docs/SyncTask.md b/docs/SyncTask.md
index fbe7497..cc8de61 100644
--- a/docs/SyncTask.md
+++ b/docs/SyncTask.md
@@ -6,7 +6,7 @@ Represents a sync task that has been completed, either successfully or with erro
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**id** | **UUID** | The ID of the sync task. |
+**id** | **str** | The ID of the sync task. |
**completed_at** | **datetime** | The time when the sync task was completed. |
## Example
diff --git a/docs/Tag.md b/docs/Tag.md
index 01eaf80..17470b0 100644
--- a/docs/Tag.md
+++ b/docs/Tag.md
@@ -6,10 +6,10 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**tag_id** | **UUID** | The ID of the tag. |
+**tag_id** | **str** | The ID of the tag. |
**created_at** | **datetime** | The date the tag was created. | [optional]
**updated_at** | **datetime** | The date the tag was last updated. | [optional]
-**user_creator_id** | **UUID** | The ID of the user that created the tag. | [optional]
+**user_creator_id** | **str** | The ID of the user that created the tag. | [optional]
**key** | **str** | The key of the tag. | [optional]
**value** | **str** | The value of the tag. | [optional]
diff --git a/docs/TagSelector.md b/docs/TagSelector.md
index f1a6709..46089af 100644
--- a/docs/TagSelector.md
+++ b/docs/TagSelector.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**key** | **str** | |
**value** | **str** | |
-**connection_id** | **UUID** | |
+**connection_id** | **str** | |
## Example
diff --git a/docs/TagsApi.md b/docs/TagsApi.md
index 4ca490f..591e38c 100644
--- a/docs/TagsApi.md
+++ b/docs/TagsApi.md
@@ -20,6 +20,8 @@ Method | HTTP request | Description
# **add_group_tag**
> add_group_tag(tag_id, group_id)
+
+
Applies a tag to a group.
### Example
@@ -53,8 +55,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the tag to apply.
- group_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the group to apply the tag to.
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the tag to apply.
+ group_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the group to apply the tag to.
try:
api_instance.add_group_tag(tag_id, group_id)
@@ -69,8 +71,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The ID of the tag to apply. |
- **group_id** | **UUID**| The ID of the group to apply the tag to. |
+ **tag_id** | **str**| The ID of the tag to apply. |
+ **group_id** | **str**| The ID of the group to apply the tag to. |
### Return type
@@ -96,6 +98,8 @@ void (empty response body)
# **add_resource_tag**
> add_resource_tag(tag_id, resource_id)
+
+
Applies a tag to a resource.
### Example
@@ -129,8 +133,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the tag to apply.
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource to apply the tag to.
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the tag to apply.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource to apply the tag to.
try:
api_instance.add_resource_tag(tag_id, resource_id)
@@ -145,8 +149,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The ID of the tag to apply. |
- **resource_id** | **UUID**| The ID of the resource to apply the tag to. |
+ **tag_id** | **str**| The ID of the tag to apply. |
+ **resource_id** | **str**| The ID of the resource to apply the tag to. |
### Return type
@@ -172,6 +176,8 @@ void (empty response body)
# **add_user_tag**
> add_user_tag(tag_id, user_id, body=body)
+
+
Applies a tag to a user.
### Example
@@ -205,8 +211,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the tag to apply.
- user_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the user to apply the tag to.
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the tag to apply.
+ user_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the user to apply the tag to.
body = None # object | (optional)
try:
@@ -222,8 +228,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The ID of the tag to apply. |
- **user_id** | **UUID**| The ID of the user to apply the tag to. |
+ **tag_id** | **str**| The ID of the tag to apply. |
+ **user_id** | **str**| The ID of the user to apply the tag to. |
**body** | **object**| | [optional]
### Return type
@@ -250,6 +256,8 @@ void (empty response body)
# **create_tag**
> Tag create_tag(tag_key=tag_key, tag_value=tag_value, admin_owner_id=admin_owner_id, create_tag_info=create_tag_info)
+
+
Creates a tag with the given key and value.
### Example
@@ -287,7 +295,7 @@ with opal_security.ApiClient(configuration) as api_client:
api_instance = opal_security.TagsApi(api_client)
tag_key = 'api-scope' # str | The key of the tag to create. (optional)
tag_value = 'production' # str | The value of the tag to create. (optional)
- admin_owner_id = UUID('f92aa855-cea9-4814-b9d8-f2a60d3e4a06') # UUID | The ID of the owner that manages the tag. (optional)
+ admin_owner_id = 'f92aa855-cea9-4814-b9d8-f2a60d3e4a06' # str | The ID of the owner that manages the tag. (optional)
create_tag_info = opal_security.CreateTagInfo() # CreateTagInfo | (optional)
try:
@@ -307,7 +315,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tag_key** | **str**| The key of the tag to create. | [optional]
**tag_value** | **str**| The value of the tag to create. | [optional]
- **admin_owner_id** | **UUID**| The ID of the owner that manages the tag. | [optional]
+ **admin_owner_id** | **str**| The ID of the owner that manages the tag. | [optional]
**create_tag_info** | [**CreateTagInfo**](CreateTagInfo.md)| | [optional]
### Return type
@@ -334,6 +342,8 @@ Name | Type | Description | Notes
# **delete_tag_by_id**
> delete_tag_by_id(tag_id)
+
+
UNSTABLE. May be removed at any time. Deletes a tag with the given id.
### Example
@@ -367,7 +377,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The tag ID
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The tag ID
try:
api_instance.delete_tag_by_id(tag_id)
@@ -382,7 +392,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The tag ID |
+ **tag_id** | **str**| The tag ID |
### Return type
@@ -408,6 +418,8 @@ void (empty response body)
# **get_tag**
> Tag get_tag(tag_key, tag_value=tag_value)
+
+
Gets a tag with the given key and value.
### Example
@@ -523,7 +535,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The tag ID
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The tag ID
try:
# Get tag by ID
@@ -541,7 +553,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The tag ID |
+ **tag_id** | **str**| The tag ID |
### Return type
@@ -649,6 +661,8 @@ Name | Type | Description | Notes
# **remove_group_tag**
> remove_group_tag(tag_id, group_id)
+
+
Removes a tag from a group.
### Example
@@ -682,8 +696,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the tag to remove.
- group_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the group to remove the tag from.
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the tag to remove.
+ group_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the group to remove the tag from.
try:
api_instance.remove_group_tag(tag_id, group_id)
@@ -698,8 +712,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The ID of the tag to remove. |
- **group_id** | **UUID**| The ID of the group to remove the tag from. |
+ **tag_id** | **str**| The ID of the tag to remove. |
+ **group_id** | **str**| The ID of the group to remove the tag from. |
### Return type
@@ -725,6 +739,8 @@ void (empty response body)
# **remove_resource_tag**
> remove_resource_tag(tag_id, resource_id)
+
+
Removes a tag from a resource.
### Example
@@ -758,8 +774,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the tag to remove.
- resource_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the resource to remove the tag from.
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the tag to remove.
+ resource_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the resource to remove the tag from.
try:
api_instance.remove_resource_tag(tag_id, resource_id)
@@ -774,8 +790,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The ID of the tag to remove. |
- **resource_id** | **UUID**| The ID of the resource to remove the tag from. |
+ **tag_id** | **str**| The ID of the tag to remove. |
+ **resource_id** | **str**| The ID of the resource to remove the tag from. |
### Return type
@@ -801,6 +817,8 @@ void (empty response body)
# **remove_user_tag**
> remove_user_tag(tag_id, user_id)
+
+
Removes a tag from a user.
### Example
@@ -834,8 +852,8 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.TagsApi(api_client)
- tag_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the tag to remove.
- user_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the user to remove the tag from.
+ tag_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the tag to remove.
+ user_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the user to remove the tag from.
try:
api_instance.remove_user_tag(tag_id, user_id)
@@ -850,8 +868,8 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **tag_id** | **UUID**| The ID of the tag to remove. |
- **user_id** | **UUID**| The ID of the user to remove the tag from. |
+ **tag_id** | **str**| The ID of the tag to remove. |
+ **user_id** | **str**| The ID of the user to remove the tag from. |
### Return type
diff --git a/docs/Token.md b/docs/Token.md
new file mode 100644
index 0000000..0a10d43
--- /dev/null
+++ b/docs/Token.md
@@ -0,0 +1,37 @@
+# Token
+
+A first-party API token.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**token_id** | **str** | The ID of the API token. |
+**created_at** | **datetime** | The date and time the token was created. |
+**token_label** | **str** | A human-readable label for the token. |
+**creator_user_id** | **str** | The ID of the user who created the token. |
+**user_id** | **str** | The ID of the user the token authenticates as. |
+**last_used_at** | **datetime** | The date and time the token was last used. | [optional]
+**access_level** | [**ApiAccessLevelEnum**](ApiAccessLevelEnum.md) | |
+**expires_at** | **datetime** | The date and time the token expires. | [optional]
+
+## Example
+
+```python
+from opal_security.models.token import Token
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of Token from a JSON string
+token_instance = Token.from_json(json)
+# print the JSON string representation of the object
+print(Token.to_json())
+
+# convert the object into a dict
+token_dict = token_instance.to_dict()
+# create an instance of Token from a dict
+token_from_dict = Token.from_dict(token_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/TokensApi.md b/docs/TokensApi.md
new file mode 100644
index 0000000..d12c840
--- /dev/null
+++ b/docs/TokensApi.md
@@ -0,0 +1,175 @@
+# opal_security.TokensApi
+
+All URIs are relative to *https://api.opal.dev/v1*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**delete_token**](TokensApi.md#delete_token) | **DELETE** /tokens/{token_id} | Delete token
+[**get_tokens**](TokensApi.md#get_tokens) | **GET** /tokens | Get tokens
+
+
+# **delete_token**
+> delete_token(token_id)
+
+Delete token
+
+Deletes a first-party API token. Admins can delete any token. Non-admins can only delete their own tokens when the organization allows all users to create API tokens.
+
+### Example
+
+* Bearer Authentication (BearerAuth):
+
+```python
+import opal_security
+from opal_security.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://api.opal.dev/v1
+# See configuration.py for a list of all supported configuration parameters.
+import opal_security as opal
+
+configuration = opal.Configuration(
+ host = "https://api.opal.dev/v1"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: BearerAuth
+configuration = opal.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with opal_security.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = opal_security.TokensApi(api_client)
+ token_id = 'f454d283-ca87-4a8a-bdbb-df212eca5353' # str | The ID of the token to delete.
+
+ try:
+ # Delete token
+ api_instance.delete_token(token_id)
+ except Exception as e:
+ print("Exception when calling TokensApi->delete_token: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **token_id** | **str**| The ID of the token to delete. |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: Not defined
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | The token was successfully deleted. | - |
+**403** | Not authorized to delete this token. | - |
+**404** | Token not found. | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_tokens**
+> PaginatedTokensList get_tokens(cursor=cursor, page_size=page_size, token_ids=token_ids, user_id=user_id)
+
+Get tokens
+
+Returns a list of first-party API tokens for your organization. Requires admin access.
+
+### Example
+
+* Bearer Authentication (BearerAuth):
+
+```python
+import opal_security
+from opal_security.models.paginated_tokens_list import PaginatedTokensList
+from opal_security.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to https://api.opal.dev/v1
+# See configuration.py for a list of all supported configuration parameters.
+import opal_security as opal
+
+configuration = opal.Configuration(
+ host = "https://api.opal.dev/v1"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: BearerAuth
+configuration = opal.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with opal_security.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = opal_security.TokensApi(api_client)
+ cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
+ page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
+ token_ids = ['token_ids_example'] # List[str] | Filter by token IDs. (optional)
+ user_id = '29827fb8-f2dd-4e80-9576-28e31e9934ac' # str | Filter by user ID. (optional)
+
+ try:
+ # Get tokens
+ api_response = api_instance.get_tokens(cursor=cursor, page_size=page_size, token_ids=token_ids, user_id=user_id)
+ print("The response of TokensApi->get_tokens:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling TokensApi->get_tokens: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **cursor** | **str**| The pagination cursor value. | [optional]
+ **page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
+ **token_ids** | [**List[str]**](str.md)| Filter by token IDs. | [optional]
+ **user_id** | **str**| Filter by user ID. | [optional]
+
+### Return type
+
+[**PaginatedTokensList**](PaginatedTokensList.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | A list of API tokens for your organization. | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/UAR.md b/docs/UAR.md
index f5847a9..6c11dbb 100644
--- a/docs/UAR.md
+++ b/docs/UAR.md
@@ -6,7 +6,7 @@ A user access review.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**uar_id** | **UUID** | The ID of the UAR. |
+**uar_id** | **str** | The ID of the UAR. |
**name** | **str** | The name of the UAR. |
**reviewer_assignment_policy** | [**UARReviewerAssignmentPolicyEnum**](UARReviewerAssignmentPolicyEnum.md) | |
**send_reviewer_assignment_notification** | **bool** | A bool representing whether to send a notification to reviewers when they're assigned a new review. Default is False. |
diff --git a/docs/UARScope.md b/docs/UARScope.md
index a2f0f2d..745e8ad 100644
--- a/docs/UARScope.md
+++ b/docs/UARScope.md
@@ -7,11 +7,11 @@ If set, the access review will only contain resources and groups that match at l
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**group_visibility** | **str** | Specifies what users can see during an Access Review | [optional]
-**users** | **List[UUID]** | The access review will only include the following users. If any users are selected, any entity filters will be applied to only the entities that the selected users have access to. | [optional]
+**users** | **List[str]** | The access review will only include the following users. If any users are selected, any entity filters will be applied to only the entities that the selected users have access to. | [optional]
**filter_operator** | **str** | Specifies whether entities must match all (AND) or any (OR) of the filters. | [optional]
-**entities** | **List[UUID]** | This access review will include resources and groups with ids in the given strings. | [optional]
-**apps** | **List[UUID]** | This access review will include items in the specified applications | [optional]
-**admins** | **List[UUID]** | This access review will include resources and groups who are owned by one of the owners corresponding to the given IDs. | [optional]
+**entities** | **List[str]** | This access review will include resources and groups with ids in the given strings. | [optional]
+**apps** | **List[str]** | This access review will include items in the specified applications | [optional]
+**admins** | **List[str]** | This access review will include resources and groups who are owned by one of the owners corresponding to the given IDs. | [optional]
**group_types** | [**List[GroupTypeEnum]**](GroupTypeEnum.md) | This access review will include items of the specified group types | [optional]
**resource_types** | [**List[ResourceTypeEnum]**](ResourceTypeEnum.md) | This access review will include items of the specified resource types | [optional]
**include_group_bindings** | **bool** | | [optional]
diff --git a/docs/UarsApi.md b/docs/UarsApi.md
index 24d66dd..0de803a 100644
--- a/docs/UarsApi.md
+++ b/docs/UarsApi.md
@@ -12,6 +12,8 @@ Method | HTTP request | Description
# **create_uar**
> UAR create_uar(create_uar_info)
+
+
Starts a User Access Review.
### Example
@@ -90,6 +92,8 @@ Name | Type | Description | Notes
# **get_uar**
> UAR get_uar(uar_id)
+
+
Retrieves a specific UAR.
### Example
@@ -124,7 +128,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.UarsApi(api_client)
- uar_id = UUID('4baf8423-db0a-4037-a4cf-f79c60cb67a5') # UUID | The ID of the UAR.
+ uar_id = '4baf8423-db0a-4037-a4cf-f79c60cb67a5' # str | The ID of the UAR.
try:
api_response = api_instance.get_uar(uar_id)
@@ -141,7 +145,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **uar_id** | **UUID**| The ID of the UAR. |
+ **uar_id** | **str**| The ID of the UAR. |
### Return type
@@ -167,6 +171,8 @@ Name | Type | Description | Notes
# **get_uars**
> PaginatedUARsList get_uars(cursor=cursor, page_size=page_size)
+
+
Returns a list of `UAR` objects.
### Example
diff --git a/docs/UpdateAccessRuleInfo.md b/docs/UpdateAccessRuleInfo.md
index 397eb1b..5deb162 100644
--- a/docs/UpdateAccessRuleInfo.md
+++ b/docs/UpdateAccessRuleInfo.md
@@ -8,7 +8,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **str** | The name of the access rule. |
**description** | **str** | A description of the group. |
-**admin_owner_id** | **UUID** | The ID of the owner of the group. |
+**admin_owner_id** | **str** | The ID of the owner of the group. |
**status** | **str** | The status of the access rule. |
**rule_clauses** | [**RuleClauses**](RuleClauses.md) | |
diff --git a/docs/UpdateConfigurationTemplateInfo.md b/docs/UpdateConfigurationTemplateInfo.md
index 4ad5cc1..8535506 100644
--- a/docs/UpdateConfigurationTemplateInfo.md
+++ b/docs/UpdateConfigurationTemplateInfo.md
@@ -6,15 +6,15 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**configuration_template_id** | **UUID** | The ID of the configuration template. |
+**configuration_template_id** | **str** | The ID of the configuration template. |
**name** | **str** | The name of the configuration template. | [optional]
-**admin_owner_id** | **UUID** | The ID of the owner of the configuration template. | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the configuration template. | [optional]
**visibility** | [**VisibilityInfo**](VisibilityInfo.md) | The visibility info of the configuration template. | [optional]
-**linked_audit_message_channel_ids** | **List[UUID]** | The IDs of the audit message channels linked to the configuration template. | [optional]
+**linked_audit_message_channel_ids** | **List[str]** | The IDs of the audit message channels linked to the configuration template. | [optional]
**request_configurations** | [**List[RequestConfiguration]**](RequestConfiguration.md) | The request configuration list linked to the configuration template. | [optional]
**request_configuration_list** | [**CreateRequestConfigurationInfoList**](CreateRequestConfigurationInfoList.md) | The request configuration list linked to the configuration template. Deprecated in favor of `request_configurations`. | [optional]
-**member_oncall_schedule_ids** | **List[UUID]** | The IDs of the on-call schedules linked to the configuration template. | [optional]
-**break_glass_user_ids** | **List[UUID]** | The IDs of the break glass users linked to the configuration template. | [optional]
+**member_oncall_schedule_ids** | **List[str]** | The IDs of the on-call schedules linked to the configuration template. | [optional]
+**break_glass_user_ids** | **List[str]** | The IDs of the break glass users linked to the configuration template. | [optional]
**require_mfa_to_approve** | **bool** | A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template. | [optional]
**require_mfa_to_connect** | **bool** | A bool representing whether or not to require MFA to connect to resources associated with this configuration template. | [optional]
**ticket_propagation** | [**TicketPropagationConfiguration**](TicketPropagationConfiguration.md) | | [optional]
diff --git a/docs/UpdateGroupBindingInfo.md b/docs/UpdateGroupBindingInfo.md
index 4f70835..f20a925 100644
--- a/docs/UpdateGroupBindingInfo.md
+++ b/docs/UpdateGroupBindingInfo.md
@@ -6,8 +6,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_binding_id** | **UUID** | The ID of the group binding. |
-**source_group_id** | **UUID** | The ID of the source group. |
+**group_binding_id** | **str** | The ID of the group binding. |
+**source_group_id** | **str** | The ID of the source group. |
**groups** | [**List[CreateGroupBindingInfoGroupsInner]**](CreateGroupBindingInfoGroupsInner.md) | The list of groups. |
## Example
diff --git a/docs/UpdateGroupInfo.md b/docs/UpdateGroupInfo.md
index 489f5e1..220a555 100644
--- a/docs/UpdateGroupInfo.md
+++ b/docs/UpdateGroupInfo.md
@@ -6,22 +6,22 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | The ID of the group. |
+**group_id** | **str** | The ID of the group. |
**name** | **str** | The name of the group. | [optional]
**description** | **str** | A description of the group. | [optional]
-**admin_owner_id** | **UUID** | The ID of the owner of the group. | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the group. | [optional]
**max_duration** | **int** | The maximum duration for which the group can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`. | [optional]
**recommended_duration** | **int** | The recommended duration for which the group should be requested (in minutes). Will be the default value in a request. Use -1 to set to indefinite and 0 to unset. Deprecated in favor of `request_configurations`. | [optional]
**require_manager_approval** | **bool** | A bool representing whether or not access requests to the group require manager approval. Deprecated in favor of `request_configurations`. | [optional]
**require_support_ticket** | **bool** | A bool representing whether or not access requests to the group require an access ticket. Deprecated in favor of `request_configurations`. | [optional]
-**folder_id** | **UUID** | The ID of the folder that the group is located in. | [optional]
+**folder_id** | **str** | The ID of the folder that the group is located in. | [optional]
**require_mfa_to_approve** | **bool** | A bool representing whether or not to require MFA for reviewers to approve requests for this group. | [optional]
**require_mfa_to_request** | **bool** | A bool representing whether or not to require MFA for requesting access to this group. Deprecated in favor of `request_configurations`. | [optional]
**auto_approval** | **bool** | A bool representing whether or not to automatically approve requests to this group. Deprecated in favor of `request_configurations`. | [optional]
-**configuration_template_id** | **UUID** | The ID of the associated configuration template. | [optional]
-**request_template_id** | **UUID** | The ID of the associated request template. Deprecated in favor of `request_configurations`. | [optional]
+**configuration_template_id** | **str** | The ID of the associated configuration template. | [optional]
+**request_template_id** | **str** | The ID of the associated request template. Deprecated in favor of `request_configurations`. | [optional]
**is_requestable** | **bool** | A bool representing whether or not to allow access requests to this group. Deprecated in favor of `request_configurations`. | [optional]
-**group_leader_user_ids** | **List[UUID]** | A list of User IDs for the group leaders of the group | [optional]
+**group_leader_user_ids** | **List[str]** | A list of User IDs for the group leaders of the group | [optional]
**extensions_duration_in_minutes** | **int** | The duration for which access can be extended (in minutes). Deprecated, set the extension duration in the request_configuration you want it to apply to. | [optional]
**request_configurations** | [**List[RequestConfiguration]**](RequestConfiguration.md) | The request configuration list of the configuration template. If not provided, the default request configuration will be used. | [optional]
**request_configuration_list** | [**CreateRequestConfigurationInfoList**](CreateRequestConfigurationInfoList.md) | The request configuration list of the configuration template. If not provided, the default request configuration will be used. Deprecated in favor of `request_configurations`. | [optional]
diff --git a/docs/UpdateIdpGroupMappingsRequestMappingsInner.md b/docs/UpdateIdpGroupMappingsRequestMappingsInner.md
index b8c3859..9ea2d1c 100644
--- a/docs/UpdateIdpGroupMappingsRequestMappingsInner.md
+++ b/docs/UpdateIdpGroupMappingsRequestMappingsInner.md
@@ -5,7 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group_id** | **UUID** | | [optional]
+**group_id** | **str** | | [optional]
**alias** | **str** | | [optional]
**hidden_from_end_user** | **bool** | | [optional]
diff --git a/docs/UpdateOwnerInfo.md b/docs/UpdateOwnerInfo.md
index cf4db95..27e4a15 100644
--- a/docs/UpdateOwnerInfo.md
+++ b/docs/UpdateOwnerInfo.md
@@ -6,12 +6,12 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**owner_id** | **UUID** | The ID of the owner. |
+**owner_id** | **str** | The ID of the owner. |
**name** | **str** | The name of the owner. | [optional]
**description** | **str** | A description of the owner. | [optional]
**access_request_escalation_period** | **int** | The amount of time (in minutes) before the next reviewer is notified. Use 0 to remove escalation policy. | [optional]
**reviewer_message_channel_id** | **str** | The message channel id for the reviewer channel. Use \"\" to remove an existing message channel. | [optional]
-**source_group_id** | **UUID** | Sync this owner's user list with a source group. Use \"\" to remove an existing source group. | [optional]
+**source_group_id** | **str** | Sync this owner's user list with a source group. Use \"\" to remove an existing source group. | [optional]
## Example
diff --git a/docs/UpdateResourceInfo.md b/docs/UpdateResourceInfo.md
index c1fa4de..d14fa6d 100644
--- a/docs/UpdateResourceInfo.md
+++ b/docs/UpdateResourceInfo.md
@@ -6,15 +6,15 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**resource_id** | **UUID** | The ID of the resource. |
+**resource_id** | **str** | The ID of the resource. |
**name** | **str** | The name of the resource. | [optional]
**description** | **str** | A description of the resource. | [optional]
-**admin_owner_id** | **UUID** | The ID of the owner of the resource. | [optional]
+**admin_owner_id** | **str** | The ID of the owner of the resource. | [optional]
**max_duration** | **int** | The maximum duration for which the resource can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`. | [optional]
**recommended_duration** | **int** | The recommended duration for which the resource should be requested (in minutes). Will be the default value in a request. Use -1 to set to indefinite and 0 to unset. Deprecated in favor of `request_configurations`. | [optional]
**require_manager_approval** | **bool** | A bool representing whether or not access requests to the resource require manager approval. | [optional]
**require_support_ticket** | **bool** | A bool representing whether or not access requests to the resource require an access ticket. Deprecated in favor of `request_configurations`. | [optional]
-**folder_id** | **UUID** | The ID of the folder that the resource is located in. | [optional]
+**folder_id** | **str** | The ID of the folder that the resource is located in. | [optional]
**require_mfa_to_approve** | **bool** | A bool representing whether or not to require MFA for reviewers to approve requests for this resource. | [optional]
**require_mfa_to_request** | **bool** | A bool representing whether or not to require MFA for requesting access to this resource. Deprecated in favor of `request_configurations`. | [optional]
**require_mfa_to_connect** | **bool** | A bool representing whether or not to require MFA to connect to this resource. | [optional]
@@ -22,8 +22,8 @@ Name | Type | Description | Notes
**ticket_propagation** | [**TicketPropagationConfiguration**](TicketPropagationConfiguration.md) | | [optional]
**custom_request_notification** | **str** | Custom request notification sent upon request approval. | [optional]
**risk_sensitivity_override** | [**RiskSensitivityEnum**](RiskSensitivityEnum.md) | | [optional]
-**configuration_template_id** | **UUID** | The ID of the associated configuration template. | [optional]
-**request_template_id** | **UUID** | The ID of the associated request template. Deprecated in favor of `request_configurations`. | [optional]
+**configuration_template_id** | **str** | The ID of the associated configuration template. | [optional]
+**request_template_id** | **str** | The ID of the associated request template. Deprecated in favor of `request_configurations`. | [optional]
**is_requestable** | **bool** | A bool representing whether or not to allow access requests to this resource. Deprecated in favor of `request_configurations`. | [optional]
**extensions_duration_in_minutes** | **int** | The duration for which access can be extended (in minutes). Deprecated, set the extension duration in the request_configuration you want it to apply to. | [optional]
**request_configurations** | [**List[RequestConfiguration]**](RequestConfiguration.md) | A list of configurations for requests to this resource. If not provided, the default request configuration will be used. | [optional]
diff --git a/docs/User.md b/docs/User.md
index 4972125..a7d636c 100644
--- a/docs/User.md
+++ b/docs/User.md
@@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**user_id** | **UUID** | The ID of the user. |
+**user_id** | **str** | The ID of the user. |
**email** | **str** | The email of the user. |
**full_name** | **str** | The full name of the user. |
**first_name** | **str** | The first name of the user. |
diff --git a/docs/UserIDList.md b/docs/UserIDList.md
index 3c6f8b2..1ed9554 100644
--- a/docs/UserIDList.md
+++ b/docs/UserIDList.md
@@ -6,7 +6,7 @@ A list of user IDs.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**user_ids** | **List[UUID]** | |
+**user_ids** | **List[str]** | |
## Example
diff --git a/docs/UsersApi.md b/docs/UsersApi.md
index bad87fd..22aa38b 100644
--- a/docs/UsersApi.md
+++ b/docs/UsersApi.md
@@ -13,6 +13,8 @@ Method | HTTP request | Description
# **get_remote_users**
> PaginatedRemoteUsersList get_remote_users(third_party_provider=third_party_provider, user_id=user_id, remote_id=remote_id, cursor=cursor, page_size=page_size)
+
+
Returns a list of remote users for your organization.
### Example
@@ -49,7 +51,7 @@ with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.UsersApi(api_client)
third_party_provider = [opal_security.ThirdPartyProviderEnum()] # List[ThirdPartyProviderEnum] | Filter remote users by their third party provider. (optional)
- user_id = [["32acc112-21ff-4669-91c2-21e27683eaa1"]] # List[UUID] | Filter remote users by their user ID. (optional)
+ user_id = ['[\"32acc112-21ff-4669-91c2-21e27683eaa1\"]'] # List[str] | Filter remote users by their user ID. (optional)
remote_id = ['[1234567890]'] # List[str] | Filter remote users by their remote ID. (optional)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
@@ -70,7 +72,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**third_party_provider** | [**List[ThirdPartyProviderEnum]**](ThirdPartyProviderEnum.md)| Filter remote users by their third party provider. | [optional]
- **user_id** | [**List[UUID]**](UUID.md)| Filter remote users by their user ID. | [optional]
+ **user_id** | [**List[str]**](str.md)| Filter remote users by their user ID. | [optional]
**remote_id** | [**List[str]**](str.md)| Filter remote users by their remote ID. | [optional]
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
@@ -99,6 +101,8 @@ Name | Type | Description | Notes
# **get_user_tags**
> TagsList get_user_tags(user_id)
+
+
Returns all tags applied to the user.
### Example
@@ -133,7 +137,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.UsersApi(api_client)
- user_id = UUID('1b978423-db0a-4037-a4cf-f79c60cb67b3') # UUID | The ID of the user whose tags to return.
+ user_id = '1b978423-db0a-4037-a4cf-f79c60cb67b3' # str | The ID of the user whose tags to return.
try:
api_response = api_instance.get_user_tags(user_id)
@@ -150,7 +154,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **user_id** | **UUID**| The ID of the user whose tags to return. |
+ **user_id** | **str**| The ID of the user whose tags to return. |
### Return type
@@ -174,7 +178,9 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_users**
-> PaginatedUsersList get_users(cursor=cursor, page_size=page_size)
+> PaginatedUsersList get_users(cursor=cursor, page_size=page_size, tag_ids=tag_ids)
+
+
Returns a list of users for your organization.
@@ -212,9 +218,10 @@ with opal_security.ApiClient(configuration) as api_client:
api_instance = opal_security.UsersApi(api_client)
cursor = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw' # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
+ tag_ids = ['tag_ids_example'] # List[str] | The IDs of the tags to filter by. Returns only users that have any of these tags applied. (optional)
try:
- api_response = api_instance.get_users(cursor=cursor, page_size=page_size)
+ api_response = api_instance.get_users(cursor=cursor, page_size=page_size, tag_ids=tag_ids)
print("The response of UsersApi->get_users:\n")
pprint(api_response)
except Exception as e:
@@ -230,6 +237,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**cursor** | **str**| The pagination cursor value. | [optional]
**page_size** | **int**| Number of results to return per page. Default is 200. | [optional]
+ **tag_ids** | [**List[str]**](str.md)| The IDs of the tags to filter by. Returns only users that have any of these tags applied. | [optional]
### Return type
@@ -255,6 +263,8 @@ Name | Type | Description | Notes
# **user**
> User user(user_id=user_id, email=email)
+
+
Returns a `User` object.
### Example
@@ -289,7 +299,7 @@ configuration = opal.Configuration(
with opal_security.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal_security.UsersApi(api_client)
- user_id = UUID('32acc112-21ff-4669-91c2-21e27683eaa1') # UUID | The user ID of the user. (optional)
+ user_id = '32acc112-21ff-4669-91c2-21e27683eaa1' # str | The user ID of the user. (optional)
email = 'johndoe@domain.org' # str | The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur. (optional)
try:
@@ -307,7 +317,7 @@ with opal_security.ApiClient(configuration) as api_client:
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **user_id** | **UUID**| The user ID of the user. | [optional]
+ **user_id** | **str**| The user ID of the user. | [optional]
**email** | **str**| The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur. | [optional]
### Return type
diff --git a/docs/VisibilityInfo.md b/docs/VisibilityInfo.md
index 2ce9340..9431dcb 100644
--- a/docs/VisibilityInfo.md
+++ b/docs/VisibilityInfo.md
@@ -7,7 +7,7 @@ Visibility infomation of an entity.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**visibility** | [**VisibilityTypeEnum**](VisibilityTypeEnum.md) | |
-**visibility_group_ids** | **List[UUID]** | | [optional]
+**visibility_group_ids** | **List[str]** | | [optional]
## Example
diff --git a/opal_security/__init__.py b/opal_security/__init__.py
index 6af399f..a2556d8 100644
--- a/opal_security/__init__.py
+++ b/opal_security/__init__.py
@@ -17,577 +17,301 @@
__version__ = "1.0.0"
-# Define package exports
-__all__ = [
- "AccessRulesApi",
- "AppsApi",
- "BundlesApi",
- "ConfigurationTemplatesApi",
- "DelegationsApi",
- "EventsApi",
- "GroupBindingsApi",
- "GroupsApi",
- "IdpGroupMappingsApi",
- "MessageChannelsApi",
- "NonHumanIdentitiesApi",
- "OnCallSchedulesApi",
- "OwnersApi",
- "RequestsApi",
- "ResourcesApi",
- "SessionsApi",
- "TagsApi",
- "UarsApi",
- "UsersApi",
- "ApiResponse",
- "ApiClient",
- "Configuration",
- "OpenApiException",
- "ApiTypeError",
- "ApiValueError",
- "ApiKeyError",
- "ApiAttributeError",
- "ApiException",
- "Access",
- "AccessList",
- "AccessRule",
- "AddBundleGroupRequest",
- "AddBundleResourceRequest",
- "AddGroupResourceRequest",
- "AddGroupUserRequest",
- "AddResourceNhiRequest",
- "AddResourceUserRequest",
- "App",
- "AppTypeEnum",
- "AppValidation",
- "AppValidationSeverityEnum",
- "AppValidationStatusEnum",
- "ApproveRequest200Response",
- "ApproveRequestRequest",
- "AppsList",
- "AwsPermissionSetMetadata",
- "AwsPermissionSetMetadataAwsPermissionSet",
- "Bundle",
- "BundleGroup",
- "BundleResource",
- "Condition",
- "ConfigurationTemplate",
- "CreateBundleInfo",
- "CreateConfigurationTemplateInfo",
- "CreateDelegationRequest",
- "CreateGroupBindingInfo",
- "CreateGroupBindingInfoGroupsInner",
- "CreateGroupInfo",
- "CreateIdpGroupMappingRequest",
- "CreateMessageChannelInfo",
- "CreateOnCallScheduleInfo",
- "CreateOwnerInfo",
- "CreateRequest200Response",
- "CreateRequestCommentRequest",
- "CreateRequestConfigurationInfoList",
- "CreateRequestInfo",
- "CreateRequestInfoCustomMetadataInner",
- "CreateRequestInfoGroupsInner",
- "CreateRequestInfoResourcesInner",
- "CreateRequestInfoSupportTicket",
- "CreateResourceInfo",
- "CreateTagInfo",
- "CreateUARInfo",
- "Delegation",
- "DenyRequestRequest",
- "EntityTypeEnum",
- "Event",
- "GetResourceUser200Response",
- "Group",
- "GroupAccessLevel",
- "GroupBinding",
- "GroupBindingGroup",
- "GroupContainingGroup",
- "GroupContainingGroupList",
- "GroupRemoteInfo",
- "GroupRemoteInfoActiveDirectoryGroup",
- "GroupRemoteInfoAwsSsoGroup",
- "GroupRemoteInfoAzureAdMicrosoft365Group",
- "GroupRemoteInfoAzureAdSecurityGroup",
- "GroupRemoteInfoConnectorGroup",
- "GroupRemoteInfoDatabricksAccountGroup",
- "GroupRemoteInfoDevinGroup",
- "GroupRemoteInfoDuoGroup",
- "GroupRemoteInfoGithubEnterpriseTeam",
- "GroupRemoteInfoGithubTeam",
- "GroupRemoteInfoGitlabGroup",
- "GroupRemoteInfoGoogleGroup",
- "GroupRemoteInfoIncidentioOnCallSchedule",
- "GroupRemoteInfoLdapGroup",
- "GroupRemoteInfoOktaGroup",
- "GroupRemoteInfoOktaGroupRule",
- "GroupRemoteInfoPagerdutyOnCallSchedule",
- "GroupRemoteInfoRootlyOnCallSchedule",
- "GroupRemoteInfoSnowflakeRole",
- "GroupRemoteInfoTailscaleGroup",
- "GroupRemoteInfoWorkdayUserSecurityGroup",
- "GroupResource",
- "GroupResourceList",
- "GroupTypeEnum",
- "GroupUser",
- "GroupUserList",
- "GroupWithAccessLevel",
- "IdpGroupMapping",
- "IdpGroupMappingList",
- "MessageChannel",
- "MessageChannelIDList",
- "MessageChannelList",
- "MessageChannelProviderEnum",
- "OnCallSchedule",
- "OnCallScheduleIDList",
- "OnCallScheduleList",
- "OnCallScheduleProviderEnum",
- "Owner",
- "PageInfo",
- "PaginatedAssignedRequestList",
- "PaginatedBundleGroupList",
- "PaginatedBundleList",
- "PaginatedBundleResourceList",
- "PaginatedConfigurationTemplateList",
- "PaginatedDelegationsList",
- "PaginatedEventList",
- "PaginatedGroupBindingsList",
- "PaginatedGroupsList",
- "PaginatedOwnersList",
- "PaginatedRemoteUsersList",
- "PaginatedResourcesList",
- "PaginatedTagsList",
- "PaginatedUARsList",
- "PaginatedUsersList",
- "PropagationStatus",
- "PropagationStatusEnum",
- "RDSEngineEnum",
- "RemoteUser",
- "Request",
- "RequestApprovalEnum",
- "RequestComment",
- "RequestCommentList",
- "RequestConfiguration",
- "RequestConnection",
- "RequestCustomFieldResponse",
- "RequestCustomFieldResponseFieldValue",
- "RequestEdge",
- "RequestItemStages",
- "RequestList",
- "RequestReviewer",
- "RequestReviewerStages",
- "RequestStage",
- "RequestStatusEnum",
- "RequestTemplateCustomFieldTypeEnum",
- "RequestedItem",
- "Resource",
- "ResourceAccessLevel",
- "ResourceAccessUser",
- "ResourceAccessUserList",
- "ResourceNHI",
- "ResourceRemoteInfo",
- "ResourceRemoteInfoAnthropicWorkspace",
- "ResourceRemoteInfoAwsAccount",
- "ResourceRemoteInfoAwsEc2Instance",
- "ResourceRemoteInfoAwsEksCluster",
- "ResourceRemoteInfoAwsIamRole",
- "ResourceRemoteInfoAwsOrganizationalUnit",
- "ResourceRemoteInfoAwsPermissionSet",
- "ResourceRemoteInfoAwsRdsCluster",
- "ResourceRemoteInfoAwsRdsInstance",
- "ResourceRemoteInfoAzureEnterpriseApp",
- "ResourceRemoteInfoAzureEntraIdRole",
- "ResourceRemoteInfoAzureManagementGroup",
- "ResourceRemoteInfoAzureResourceGroup",
- "ResourceRemoteInfoAzureSqlDatabase",
- "ResourceRemoteInfoAzureSqlManagedDatabase",
- "ResourceRemoteInfoAzureSqlManagedInstance",
- "ResourceRemoteInfoAzureSqlServer",
- "ResourceRemoteInfoAzureStorageAccount",
- "ResourceRemoteInfoAzureStorageContainer",
- "ResourceRemoteInfoAzureSubscription",
- "ResourceRemoteInfoAzureUserAssignedManagedIdentity",
- "ResourceRemoteInfoAzureVirtualMachine",
- "ResourceRemoteInfoCoupaRole",
- "ResourceRemoteInfoCursorOrganization",
- "ResourceRemoteInfoCustomConnector",
- "ResourceRemoteInfoDatabricksAccountServicePrincipal",
- "ResourceRemoteInfoDatastaxAstraRole",
- "ResourceRemoteInfoDevinOrganization",
- "ResourceRemoteInfoDevinRole",
- "ResourceRemoteInfoGcpBigQueryDataset",
- "ResourceRemoteInfoGcpBigQueryTable",
- "ResourceRemoteInfoGcpBucket",
- "ResourceRemoteInfoGcpComputeInstance",
- "ResourceRemoteInfoGcpFolder",
- "ResourceRemoteInfoGcpGkeCluster",
- "ResourceRemoteInfoGcpOrganization",
- "ResourceRemoteInfoGcpProject",
- "ResourceRemoteInfoGcpServiceAccount",
- "ResourceRemoteInfoGcpSqlInstance",
- "ResourceRemoteInfoGithubEnterpriseRole",
- "ResourceRemoteInfoGithubOrg",
- "ResourceRemoteInfoGithubOrgRole",
- "ResourceRemoteInfoGithubRepo",
- "ResourceRemoteInfoGitlabProject",
- "ResourceRemoteInfoGoogleWorkspaceRole",
- "ResourceRemoteInfoIlevelAdvancedRole",
- "ResourceRemoteInfoOktaApp",
- "ResourceRemoteInfoOktaCustomRole",
- "ResourceRemoteInfoOktaStandardRole",
- "ResourceRemoteInfoOpenaiPlatformProject",
- "ResourceRemoteInfoOpenaiPlatformServiceAccount",
- "ResourceRemoteInfoOracleFusionRole",
- "ResourceRemoteInfoPagerdutyRole",
- "ResourceRemoteInfoSalesforcePermissionSet",
- "ResourceRemoteInfoSalesforceProfile",
- "ResourceRemoteInfoSalesforceRole",
- "ResourceRemoteInfoSnowflakeDatabase",
- "ResourceRemoteInfoSnowflakeSchema",
- "ResourceRemoteInfoSnowflakeTable",
- "ResourceRemoteInfoTailscaleSsh",
- "ResourceRemoteInfoTeleportRole",
- "ResourceRemoteInfoWorkdayRole",
- "ResourceTypeEnum",
- "ResourceUser",
- "ResourceUserAccessStatus",
- "ResourceUserAccessStatusEnum",
- "ResourceWithAccessLevel",
- "ReviewStageOperator",
- "ReviewerIDList",
- "ReviewerStage",
- "ReviewerStageList",
- "RiskSensitivityEnum",
- "RolePermissionNameEnum",
- "RolePermissionTargetTypeEnum",
- "RuleClauses",
- "RuleConjunction",
- "RuleDisjunction",
- "ScopedRolePermission",
- "ScopedRolePermissionList",
- "Session",
- "SessionsList",
- "SubEvent",
- "SyncError",
- "SyncErrorList",
- "SyncTask",
- "Tag",
- "TagFilter",
- "TagSelector",
- "TagsList",
- "ThirdPartyProviderEnum",
- "TicketPropagationConfiguration",
- "TicketingProviderEnum",
- "UAR",
- "UARReviewerAssignmentPolicyEnum",
- "UARScope",
- "UpdateAccessRuleInfo",
- "UpdateConfigurationTemplateInfo",
- "UpdateGroupBindingInfo",
- "UpdateGroupBindingInfoList",
- "UpdateGroupInfo",
- "UpdateGroupInfoList",
- "UpdateGroupResourcesInfo",
- "UpdateGroupUserRequest",
- "UpdateIdpGroupMappingsRequest",
- "UpdateIdpGroupMappingsRequestMappingsInner",
- "UpdateOwnerInfo",
- "UpdateOwnerInfoList",
- "UpdateResourceInfo",
- "UpdateResourceInfoList",
- "UpdateResourceUserRequest",
- "User",
- "UserHrIdpStatusEnum",
- "UserIDList",
- "UserList",
- "VisibilityInfo",
- "VisibilityTypeEnum",
-]
-
# import apis into sdk package
-from opal_security.api.access_rules_api import AccessRulesApi as AccessRulesApi
-from opal_security.api.apps_api import AppsApi as AppsApi
-from opal_security.api.bundles_api import BundlesApi as BundlesApi
-from opal_security.api.configuration_templates_api import ConfigurationTemplatesApi as ConfigurationTemplatesApi
-from opal_security.api.delegations_api import DelegationsApi as DelegationsApi
-from opal_security.api.events_api import EventsApi as EventsApi
-from opal_security.api.group_bindings_api import GroupBindingsApi as GroupBindingsApi
-from opal_security.api.groups_api import GroupsApi as GroupsApi
-from opal_security.api.idp_group_mappings_api import IdpGroupMappingsApi as IdpGroupMappingsApi
-from opal_security.api.message_channels_api import MessageChannelsApi as MessageChannelsApi
-from opal_security.api.non_human_identities_api import NonHumanIdentitiesApi as NonHumanIdentitiesApi
-from opal_security.api.on_call_schedules_api import OnCallSchedulesApi as OnCallSchedulesApi
-from opal_security.api.owners_api import OwnersApi as OwnersApi
-from opal_security.api.requests_api import RequestsApi as RequestsApi
-from opal_security.api.resources_api import ResourcesApi as ResourcesApi
-from opal_security.api.sessions_api import SessionsApi as SessionsApi
-from opal_security.api.tags_api import TagsApi as TagsApi
-from opal_security.api.uars_api import UarsApi as UarsApi
-from opal_security.api.users_api import UsersApi as UsersApi
+from opal_security.api.access_rules_api import AccessRulesApi
+from opal_security.api.apps_api import AppsApi
+from opal_security.api.bundles_api import BundlesApi
+from opal_security.api.configuration_templates_api import ConfigurationTemplatesApi
+from opal_security.api.delegations_api import DelegationsApi
+from opal_security.api.events_api import EventsApi
+from opal_security.api.group_bindings_api import GroupBindingsApi
+from opal_security.api.groups_api import GroupsApi
+from opal_security.api.idp_group_mappings_api import IdpGroupMappingsApi
+from opal_security.api.message_channels_api import MessageChannelsApi
+from opal_security.api.non_human_identities_api import NonHumanIdentitiesApi
+from opal_security.api.on_call_schedules_api import OnCallSchedulesApi
+from opal_security.api.owners_api import OwnersApi
+from opal_security.api.requests_api import RequestsApi
+from opal_security.api.resources_api import ResourcesApi
+from opal_security.api.sessions_api import SessionsApi
+from opal_security.api.tags_api import TagsApi
+from opal_security.api.tokens_api import TokensApi
+from opal_security.api.uars_api import UarsApi
+from opal_security.api.users_api import UsersApi
# import ApiClient
-from opal_security.api_response import ApiResponse as ApiResponse
-from opal_security.api_client import ApiClient as ApiClient
-from opal_security.configuration import Configuration as Configuration
-from opal_security.exceptions import OpenApiException as OpenApiException
-from opal_security.exceptions import ApiTypeError as ApiTypeError
-from opal_security.exceptions import ApiValueError as ApiValueError
-from opal_security.exceptions import ApiKeyError as ApiKeyError
-from opal_security.exceptions import ApiAttributeError as ApiAttributeError
-from opal_security.exceptions import ApiException as ApiException
+from opal_security.api_response import ApiResponse
+from opal_security.api_client import ApiClient
+from opal_security.configuration import Configuration
+from opal_security.exceptions import OpenApiException
+from opal_security.exceptions import ApiTypeError
+from opal_security.exceptions import ApiValueError
+from opal_security.exceptions import ApiKeyError
+from opal_security.exceptions import ApiAttributeError
+from opal_security.exceptions import ApiException
# import models into sdk package
-from opal_security.models.access import Access as Access
-from opal_security.models.access_list import AccessList as AccessList
-from opal_security.models.access_rule import AccessRule as AccessRule
-from opal_security.models.add_bundle_group_request import AddBundleGroupRequest as AddBundleGroupRequest
-from opal_security.models.add_bundle_resource_request import AddBundleResourceRequest as AddBundleResourceRequest
-from opal_security.models.add_group_resource_request import AddGroupResourceRequest as AddGroupResourceRequest
-from opal_security.models.add_group_user_request import AddGroupUserRequest as AddGroupUserRequest
-from opal_security.models.add_resource_nhi_request import AddResourceNhiRequest as AddResourceNhiRequest
-from opal_security.models.add_resource_user_request import AddResourceUserRequest as AddResourceUserRequest
-from opal_security.models.app import App as App
-from opal_security.models.app_type_enum import AppTypeEnum as AppTypeEnum
-from opal_security.models.app_validation import AppValidation as AppValidation
-from opal_security.models.app_validation_severity_enum import AppValidationSeverityEnum as AppValidationSeverityEnum
-from opal_security.models.app_validation_status_enum import AppValidationStatusEnum as AppValidationStatusEnum
-from opal_security.models.approve_request200_response import ApproveRequest200Response as ApproveRequest200Response
-from opal_security.models.approve_request_request import ApproveRequestRequest as ApproveRequestRequest
-from opal_security.models.apps_list import AppsList as AppsList
-from opal_security.models.aws_permission_set_metadata import AwsPermissionSetMetadata as AwsPermissionSetMetadata
-from opal_security.models.aws_permission_set_metadata_aws_permission_set import AwsPermissionSetMetadataAwsPermissionSet as AwsPermissionSetMetadataAwsPermissionSet
-from opal_security.models.bundle import Bundle as Bundle
-from opal_security.models.bundle_group import BundleGroup as BundleGroup
-from opal_security.models.bundle_resource import BundleResource as BundleResource
-from opal_security.models.condition import Condition as Condition
-from opal_security.models.configuration_template import ConfigurationTemplate as ConfigurationTemplate
-from opal_security.models.create_bundle_info import CreateBundleInfo as CreateBundleInfo
-from opal_security.models.create_configuration_template_info import CreateConfigurationTemplateInfo as CreateConfigurationTemplateInfo
-from opal_security.models.create_delegation_request import CreateDelegationRequest as CreateDelegationRequest
-from opal_security.models.create_group_binding_info import CreateGroupBindingInfo as CreateGroupBindingInfo
-from opal_security.models.create_group_binding_info_groups_inner import CreateGroupBindingInfoGroupsInner as CreateGroupBindingInfoGroupsInner
-from opal_security.models.create_group_info import CreateGroupInfo as CreateGroupInfo
-from opal_security.models.create_idp_group_mapping_request import CreateIdpGroupMappingRequest as CreateIdpGroupMappingRequest
-from opal_security.models.create_message_channel_info import CreateMessageChannelInfo as CreateMessageChannelInfo
-from opal_security.models.create_on_call_schedule_info import CreateOnCallScheduleInfo as CreateOnCallScheduleInfo
-from opal_security.models.create_owner_info import CreateOwnerInfo as CreateOwnerInfo
-from opal_security.models.create_request200_response import CreateRequest200Response as CreateRequest200Response
-from opal_security.models.create_request_comment_request import CreateRequestCommentRequest as CreateRequestCommentRequest
-from opal_security.models.create_request_configuration_info_list import CreateRequestConfigurationInfoList as CreateRequestConfigurationInfoList
-from opal_security.models.create_request_info import CreateRequestInfo as CreateRequestInfo
-from opal_security.models.create_request_info_custom_metadata_inner import CreateRequestInfoCustomMetadataInner as CreateRequestInfoCustomMetadataInner
-from opal_security.models.create_request_info_groups_inner import CreateRequestInfoGroupsInner as CreateRequestInfoGroupsInner
-from opal_security.models.create_request_info_resources_inner import CreateRequestInfoResourcesInner as CreateRequestInfoResourcesInner
-from opal_security.models.create_request_info_support_ticket import CreateRequestInfoSupportTicket as CreateRequestInfoSupportTicket
-from opal_security.models.create_resource_info import CreateResourceInfo as CreateResourceInfo
-from opal_security.models.create_tag_info import CreateTagInfo as CreateTagInfo
-from opal_security.models.create_uar_info import CreateUARInfo as CreateUARInfo
-from opal_security.models.delegation import Delegation as Delegation
-from opal_security.models.deny_request_request import DenyRequestRequest as DenyRequestRequest
-from opal_security.models.entity_type_enum import EntityTypeEnum as EntityTypeEnum
-from opal_security.models.event import Event as Event
-from opal_security.models.get_resource_user200_response import GetResourceUser200Response as GetResourceUser200Response
-from opal_security.models.group import Group as Group
-from opal_security.models.group_access_level import GroupAccessLevel as GroupAccessLevel
-from opal_security.models.group_binding import GroupBinding as GroupBinding
-from opal_security.models.group_binding_group import GroupBindingGroup as GroupBindingGroup
-from opal_security.models.group_containing_group import GroupContainingGroup as GroupContainingGroup
-from opal_security.models.group_containing_group_list import GroupContainingGroupList as GroupContainingGroupList
-from opal_security.models.group_remote_info import GroupRemoteInfo as GroupRemoteInfo
-from opal_security.models.group_remote_info_active_directory_group import GroupRemoteInfoActiveDirectoryGroup as GroupRemoteInfoActiveDirectoryGroup
-from opal_security.models.group_remote_info_aws_sso_group import GroupRemoteInfoAwsSsoGroup as GroupRemoteInfoAwsSsoGroup
-from opal_security.models.group_remote_info_azure_ad_microsoft365_group import GroupRemoteInfoAzureAdMicrosoft365Group as GroupRemoteInfoAzureAdMicrosoft365Group
-from opal_security.models.group_remote_info_azure_ad_security_group import GroupRemoteInfoAzureAdSecurityGroup as GroupRemoteInfoAzureAdSecurityGroup
-from opal_security.models.group_remote_info_connector_group import GroupRemoteInfoConnectorGroup as GroupRemoteInfoConnectorGroup
-from opal_security.models.group_remote_info_databricks_account_group import GroupRemoteInfoDatabricksAccountGroup as GroupRemoteInfoDatabricksAccountGroup
-from opal_security.models.group_remote_info_devin_group import GroupRemoteInfoDevinGroup as GroupRemoteInfoDevinGroup
-from opal_security.models.group_remote_info_duo_group import GroupRemoteInfoDuoGroup as GroupRemoteInfoDuoGroup
-from opal_security.models.group_remote_info_github_enterprise_team import GroupRemoteInfoGithubEnterpriseTeam as GroupRemoteInfoGithubEnterpriseTeam
-from opal_security.models.group_remote_info_github_team import GroupRemoteInfoGithubTeam as GroupRemoteInfoGithubTeam
-from opal_security.models.group_remote_info_gitlab_group import GroupRemoteInfoGitlabGroup as GroupRemoteInfoGitlabGroup
-from opal_security.models.group_remote_info_google_group import GroupRemoteInfoGoogleGroup as GroupRemoteInfoGoogleGroup
-from opal_security.models.group_remote_info_incidentio_on_call_schedule import GroupRemoteInfoIncidentioOnCallSchedule as GroupRemoteInfoIncidentioOnCallSchedule
-from opal_security.models.group_remote_info_ldap_group import GroupRemoteInfoLdapGroup as GroupRemoteInfoLdapGroup
-from opal_security.models.group_remote_info_okta_group import GroupRemoteInfoOktaGroup as GroupRemoteInfoOktaGroup
-from opal_security.models.group_remote_info_okta_group_rule import GroupRemoteInfoOktaGroupRule as GroupRemoteInfoOktaGroupRule
-from opal_security.models.group_remote_info_pagerduty_on_call_schedule import GroupRemoteInfoPagerdutyOnCallSchedule as GroupRemoteInfoPagerdutyOnCallSchedule
-from opal_security.models.group_remote_info_rootly_on_call_schedule import GroupRemoteInfoRootlyOnCallSchedule as GroupRemoteInfoRootlyOnCallSchedule
-from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole as GroupRemoteInfoSnowflakeRole
-from opal_security.models.group_remote_info_tailscale_group import GroupRemoteInfoTailscaleGroup as GroupRemoteInfoTailscaleGroup
-from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup as GroupRemoteInfoWorkdayUserSecurityGroup
-from opal_security.models.group_resource import GroupResource as GroupResource
-from opal_security.models.group_resource_list import GroupResourceList as GroupResourceList
-from opal_security.models.group_type_enum import GroupTypeEnum as GroupTypeEnum
-from opal_security.models.group_user import GroupUser as GroupUser
-from opal_security.models.group_user_list import GroupUserList as GroupUserList
-from opal_security.models.group_with_access_level import GroupWithAccessLevel as GroupWithAccessLevel
-from opal_security.models.idp_group_mapping import IdpGroupMapping as IdpGroupMapping
-from opal_security.models.idp_group_mapping_list import IdpGroupMappingList as IdpGroupMappingList
-from opal_security.models.message_channel import MessageChannel as MessageChannel
-from opal_security.models.message_channel_id_list import MessageChannelIDList as MessageChannelIDList
-from opal_security.models.message_channel_list import MessageChannelList as MessageChannelList
-from opal_security.models.message_channel_provider_enum import MessageChannelProviderEnum as MessageChannelProviderEnum
-from opal_security.models.on_call_schedule import OnCallSchedule as OnCallSchedule
-from opal_security.models.on_call_schedule_id_list import OnCallScheduleIDList as OnCallScheduleIDList
-from opal_security.models.on_call_schedule_list import OnCallScheduleList as OnCallScheduleList
-from opal_security.models.on_call_schedule_provider_enum import OnCallScheduleProviderEnum as OnCallScheduleProviderEnum
-from opal_security.models.owner import Owner as Owner
-from opal_security.models.page_info import PageInfo as PageInfo
-from opal_security.models.paginated_assigned_request_list import PaginatedAssignedRequestList as PaginatedAssignedRequestList
-from opal_security.models.paginated_bundle_group_list import PaginatedBundleGroupList as PaginatedBundleGroupList
-from opal_security.models.paginated_bundle_list import PaginatedBundleList as PaginatedBundleList
-from opal_security.models.paginated_bundle_resource_list import PaginatedBundleResourceList as PaginatedBundleResourceList
-from opal_security.models.paginated_configuration_template_list import PaginatedConfigurationTemplateList as PaginatedConfigurationTemplateList
-from opal_security.models.paginated_delegations_list import PaginatedDelegationsList as PaginatedDelegationsList
-from opal_security.models.paginated_event_list import PaginatedEventList as PaginatedEventList
-from opal_security.models.paginated_group_bindings_list import PaginatedGroupBindingsList as PaginatedGroupBindingsList
-from opal_security.models.paginated_groups_list import PaginatedGroupsList as PaginatedGroupsList
-from opal_security.models.paginated_owners_list import PaginatedOwnersList as PaginatedOwnersList
-from opal_security.models.paginated_remote_users_list import PaginatedRemoteUsersList as PaginatedRemoteUsersList
-from opal_security.models.paginated_resources_list import PaginatedResourcesList as PaginatedResourcesList
-from opal_security.models.paginated_tags_list import PaginatedTagsList as PaginatedTagsList
-from opal_security.models.paginated_uars_list import PaginatedUARsList as PaginatedUARsList
-from opal_security.models.paginated_users_list import PaginatedUsersList as PaginatedUsersList
-from opal_security.models.propagation_status import PropagationStatus as PropagationStatus
-from opal_security.models.propagation_status_enum import PropagationStatusEnum as PropagationStatusEnum
-from opal_security.models.rds_engine_enum import RDSEngineEnum as RDSEngineEnum
-from opal_security.models.remote_user import RemoteUser as RemoteUser
-from opal_security.models.request import Request as Request
-from opal_security.models.request_approval_enum import RequestApprovalEnum as RequestApprovalEnum
-from opal_security.models.request_comment import RequestComment as RequestComment
-from opal_security.models.request_comment_list import RequestCommentList as RequestCommentList
-from opal_security.models.request_configuration import RequestConfiguration as RequestConfiguration
-from opal_security.models.request_connection import RequestConnection as RequestConnection
-from opal_security.models.request_custom_field_response import RequestCustomFieldResponse as RequestCustomFieldResponse
-from opal_security.models.request_custom_field_response_field_value import RequestCustomFieldResponseFieldValue as RequestCustomFieldResponseFieldValue
-from opal_security.models.request_edge import RequestEdge as RequestEdge
-from opal_security.models.request_item_stages import RequestItemStages as RequestItemStages
-from opal_security.models.request_list import RequestList as RequestList
-from opal_security.models.request_reviewer import RequestReviewer as RequestReviewer
-from opal_security.models.request_reviewer_stages import RequestReviewerStages as RequestReviewerStages
-from opal_security.models.request_stage import RequestStage as RequestStage
-from opal_security.models.request_status_enum import RequestStatusEnum as RequestStatusEnum
-from opal_security.models.request_template_custom_field_type_enum import RequestTemplateCustomFieldTypeEnum as RequestTemplateCustomFieldTypeEnum
-from opal_security.models.requested_item import RequestedItem as RequestedItem
-from opal_security.models.resource import Resource as Resource
-from opal_security.models.resource_access_level import ResourceAccessLevel as ResourceAccessLevel
-from opal_security.models.resource_access_user import ResourceAccessUser as ResourceAccessUser
-from opal_security.models.resource_access_user_list import ResourceAccessUserList as ResourceAccessUserList
-from opal_security.models.resource_nhi import ResourceNHI as ResourceNHI
-from opal_security.models.resource_remote_info import ResourceRemoteInfo as ResourceRemoteInfo
-from opal_security.models.resource_remote_info_anthropic_workspace import ResourceRemoteInfoAnthropicWorkspace as ResourceRemoteInfoAnthropicWorkspace
-from opal_security.models.resource_remote_info_aws_account import ResourceRemoteInfoAwsAccount as ResourceRemoteInfoAwsAccount
-from opal_security.models.resource_remote_info_aws_ec2_instance import ResourceRemoteInfoAwsEc2Instance as ResourceRemoteInfoAwsEc2Instance
-from opal_security.models.resource_remote_info_aws_eks_cluster import ResourceRemoteInfoAwsEksCluster as ResourceRemoteInfoAwsEksCluster
-from opal_security.models.resource_remote_info_aws_iam_role import ResourceRemoteInfoAwsIamRole as ResourceRemoteInfoAwsIamRole
-from opal_security.models.resource_remote_info_aws_organizational_unit import ResourceRemoteInfoAwsOrganizationalUnit as ResourceRemoteInfoAwsOrganizationalUnit
-from opal_security.models.resource_remote_info_aws_permission_set import ResourceRemoteInfoAwsPermissionSet as ResourceRemoteInfoAwsPermissionSet
-from opal_security.models.resource_remote_info_aws_rds_cluster import ResourceRemoteInfoAwsRdsCluster as ResourceRemoteInfoAwsRdsCluster
-from opal_security.models.resource_remote_info_aws_rds_instance import ResourceRemoteInfoAwsRdsInstance as ResourceRemoteInfoAwsRdsInstance
-from opal_security.models.resource_remote_info_azure_enterprise_app import ResourceRemoteInfoAzureEnterpriseApp as ResourceRemoteInfoAzureEnterpriseApp
-from opal_security.models.resource_remote_info_azure_entra_id_role import ResourceRemoteInfoAzureEntraIdRole as ResourceRemoteInfoAzureEntraIdRole
-from opal_security.models.resource_remote_info_azure_management_group import ResourceRemoteInfoAzureManagementGroup as ResourceRemoteInfoAzureManagementGroup
-from opal_security.models.resource_remote_info_azure_resource_group import ResourceRemoteInfoAzureResourceGroup as ResourceRemoteInfoAzureResourceGroup
-from opal_security.models.resource_remote_info_azure_sql_database import ResourceRemoteInfoAzureSqlDatabase as ResourceRemoteInfoAzureSqlDatabase
-from opal_security.models.resource_remote_info_azure_sql_managed_database import ResourceRemoteInfoAzureSqlManagedDatabase as ResourceRemoteInfoAzureSqlManagedDatabase
-from opal_security.models.resource_remote_info_azure_sql_managed_instance import ResourceRemoteInfoAzureSqlManagedInstance as ResourceRemoteInfoAzureSqlManagedInstance
-from opal_security.models.resource_remote_info_azure_sql_server import ResourceRemoteInfoAzureSqlServer as ResourceRemoteInfoAzureSqlServer
-from opal_security.models.resource_remote_info_azure_storage_account import ResourceRemoteInfoAzureStorageAccount as ResourceRemoteInfoAzureStorageAccount
-from opal_security.models.resource_remote_info_azure_storage_container import ResourceRemoteInfoAzureStorageContainer as ResourceRemoteInfoAzureStorageContainer
-from opal_security.models.resource_remote_info_azure_subscription import ResourceRemoteInfoAzureSubscription as ResourceRemoteInfoAzureSubscription
-from opal_security.models.resource_remote_info_azure_user_assigned_managed_identity import ResourceRemoteInfoAzureUserAssignedManagedIdentity as ResourceRemoteInfoAzureUserAssignedManagedIdentity
-from opal_security.models.resource_remote_info_azure_virtual_machine import ResourceRemoteInfoAzureVirtualMachine as ResourceRemoteInfoAzureVirtualMachine
-from opal_security.models.resource_remote_info_coupa_role import ResourceRemoteInfoCoupaRole as ResourceRemoteInfoCoupaRole
-from opal_security.models.resource_remote_info_cursor_organization import ResourceRemoteInfoCursorOrganization as ResourceRemoteInfoCursorOrganization
-from opal_security.models.resource_remote_info_custom_connector import ResourceRemoteInfoCustomConnector as ResourceRemoteInfoCustomConnector
-from opal_security.models.resource_remote_info_databricks_account_service_principal import ResourceRemoteInfoDatabricksAccountServicePrincipal as ResourceRemoteInfoDatabricksAccountServicePrincipal
-from opal_security.models.resource_remote_info_datastax_astra_role import ResourceRemoteInfoDatastaxAstraRole as ResourceRemoteInfoDatastaxAstraRole
-from opal_security.models.resource_remote_info_devin_organization import ResourceRemoteInfoDevinOrganization as ResourceRemoteInfoDevinOrganization
-from opal_security.models.resource_remote_info_devin_role import ResourceRemoteInfoDevinRole as ResourceRemoteInfoDevinRole
-from opal_security.models.resource_remote_info_gcp_big_query_dataset import ResourceRemoteInfoGcpBigQueryDataset as ResourceRemoteInfoGcpBigQueryDataset
-from opal_security.models.resource_remote_info_gcp_big_query_table import ResourceRemoteInfoGcpBigQueryTable as ResourceRemoteInfoGcpBigQueryTable
-from opal_security.models.resource_remote_info_gcp_bucket import ResourceRemoteInfoGcpBucket as ResourceRemoteInfoGcpBucket
-from opal_security.models.resource_remote_info_gcp_compute_instance import ResourceRemoteInfoGcpComputeInstance as ResourceRemoteInfoGcpComputeInstance
-from opal_security.models.resource_remote_info_gcp_folder import ResourceRemoteInfoGcpFolder as ResourceRemoteInfoGcpFolder
-from opal_security.models.resource_remote_info_gcp_gke_cluster import ResourceRemoteInfoGcpGkeCluster as ResourceRemoteInfoGcpGkeCluster
-from opal_security.models.resource_remote_info_gcp_organization import ResourceRemoteInfoGcpOrganization as ResourceRemoteInfoGcpOrganization
-from opal_security.models.resource_remote_info_gcp_project import ResourceRemoteInfoGcpProject as ResourceRemoteInfoGcpProject
-from opal_security.models.resource_remote_info_gcp_service_account import ResourceRemoteInfoGcpServiceAccount as ResourceRemoteInfoGcpServiceAccount
-from opal_security.models.resource_remote_info_gcp_sql_instance import ResourceRemoteInfoGcpSqlInstance as ResourceRemoteInfoGcpSqlInstance
-from opal_security.models.resource_remote_info_github_enterprise_role import ResourceRemoteInfoGithubEnterpriseRole as ResourceRemoteInfoGithubEnterpriseRole
-from opal_security.models.resource_remote_info_github_org import ResourceRemoteInfoGithubOrg as ResourceRemoteInfoGithubOrg
-from opal_security.models.resource_remote_info_github_org_role import ResourceRemoteInfoGithubOrgRole as ResourceRemoteInfoGithubOrgRole
-from opal_security.models.resource_remote_info_github_repo import ResourceRemoteInfoGithubRepo as ResourceRemoteInfoGithubRepo
-from opal_security.models.resource_remote_info_gitlab_project import ResourceRemoteInfoGitlabProject as ResourceRemoteInfoGitlabProject
-from opal_security.models.resource_remote_info_google_workspace_role import ResourceRemoteInfoGoogleWorkspaceRole as ResourceRemoteInfoGoogleWorkspaceRole
-from opal_security.models.resource_remote_info_ilevel_advanced_role import ResourceRemoteInfoIlevelAdvancedRole as ResourceRemoteInfoIlevelAdvancedRole
-from opal_security.models.resource_remote_info_okta_app import ResourceRemoteInfoOktaApp as ResourceRemoteInfoOktaApp
-from opal_security.models.resource_remote_info_okta_custom_role import ResourceRemoteInfoOktaCustomRole as ResourceRemoteInfoOktaCustomRole
-from opal_security.models.resource_remote_info_okta_standard_role import ResourceRemoteInfoOktaStandardRole as ResourceRemoteInfoOktaStandardRole
-from opal_security.models.resource_remote_info_openai_platform_project import ResourceRemoteInfoOpenaiPlatformProject as ResourceRemoteInfoOpenaiPlatformProject
-from opal_security.models.resource_remote_info_openai_platform_service_account import ResourceRemoteInfoOpenaiPlatformServiceAccount as ResourceRemoteInfoOpenaiPlatformServiceAccount
-from opal_security.models.resource_remote_info_oracle_fusion_role import ResourceRemoteInfoOracleFusionRole as ResourceRemoteInfoOracleFusionRole
-from opal_security.models.resource_remote_info_pagerduty_role import ResourceRemoteInfoPagerdutyRole as ResourceRemoteInfoPagerdutyRole
-from opal_security.models.resource_remote_info_salesforce_permission_set import ResourceRemoteInfoSalesforcePermissionSet as ResourceRemoteInfoSalesforcePermissionSet
-from opal_security.models.resource_remote_info_salesforce_profile import ResourceRemoteInfoSalesforceProfile as ResourceRemoteInfoSalesforceProfile
-from opal_security.models.resource_remote_info_salesforce_role import ResourceRemoteInfoSalesforceRole as ResourceRemoteInfoSalesforceRole
-from opal_security.models.resource_remote_info_snowflake_database import ResourceRemoteInfoSnowflakeDatabase as ResourceRemoteInfoSnowflakeDatabase
-from opal_security.models.resource_remote_info_snowflake_schema import ResourceRemoteInfoSnowflakeSchema as ResourceRemoteInfoSnowflakeSchema
-from opal_security.models.resource_remote_info_snowflake_table import ResourceRemoteInfoSnowflakeTable as ResourceRemoteInfoSnowflakeTable
-from opal_security.models.resource_remote_info_tailscale_ssh import ResourceRemoteInfoTailscaleSsh as ResourceRemoteInfoTailscaleSsh
-from opal_security.models.resource_remote_info_teleport_role import ResourceRemoteInfoTeleportRole as ResourceRemoteInfoTeleportRole
-from opal_security.models.resource_remote_info_workday_role import ResourceRemoteInfoWorkdayRole as ResourceRemoteInfoWorkdayRole
-from opal_security.models.resource_type_enum import ResourceTypeEnum as ResourceTypeEnum
-from opal_security.models.resource_user import ResourceUser as ResourceUser
-from opal_security.models.resource_user_access_status import ResourceUserAccessStatus as ResourceUserAccessStatus
-from opal_security.models.resource_user_access_status_enum import ResourceUserAccessStatusEnum as ResourceUserAccessStatusEnum
-from opal_security.models.resource_with_access_level import ResourceWithAccessLevel as ResourceWithAccessLevel
-from opal_security.models.review_stage_operator import ReviewStageOperator as ReviewStageOperator
-from opal_security.models.reviewer_id_list import ReviewerIDList as ReviewerIDList
-from opal_security.models.reviewer_stage import ReviewerStage as ReviewerStage
-from opal_security.models.reviewer_stage_list import ReviewerStageList as ReviewerStageList
-from opal_security.models.risk_sensitivity_enum import RiskSensitivityEnum as RiskSensitivityEnum
-from opal_security.models.role_permission_name_enum import RolePermissionNameEnum as RolePermissionNameEnum
-from opal_security.models.role_permission_target_type_enum import RolePermissionTargetTypeEnum as RolePermissionTargetTypeEnum
-from opal_security.models.rule_clauses import RuleClauses as RuleClauses
-from opal_security.models.rule_conjunction import RuleConjunction as RuleConjunction
-from opal_security.models.rule_disjunction import RuleDisjunction as RuleDisjunction
-from opal_security.models.scoped_role_permission import ScopedRolePermission as ScopedRolePermission
-from opal_security.models.scoped_role_permission_list import ScopedRolePermissionList as ScopedRolePermissionList
-from opal_security.models.session import Session as Session
-from opal_security.models.sessions_list import SessionsList as SessionsList
-from opal_security.models.sub_event import SubEvent as SubEvent
-from opal_security.models.sync_error import SyncError as SyncError
-from opal_security.models.sync_error_list import SyncErrorList as SyncErrorList
-from opal_security.models.sync_task import SyncTask as SyncTask
-from opal_security.models.tag import Tag as Tag
-from opal_security.models.tag_filter import TagFilter as TagFilter
-from opal_security.models.tag_selector import TagSelector as TagSelector
-from opal_security.models.tags_list import TagsList as TagsList
-from opal_security.models.third_party_provider_enum import ThirdPartyProviderEnum as ThirdPartyProviderEnum
-from opal_security.models.ticket_propagation_configuration import TicketPropagationConfiguration as TicketPropagationConfiguration
-from opal_security.models.ticketing_provider_enum import TicketingProviderEnum as TicketingProviderEnum
-from opal_security.models.uar import UAR as UAR
-from opal_security.models.uar_reviewer_assignment_policy_enum import UARReviewerAssignmentPolicyEnum as UARReviewerAssignmentPolicyEnum
-from opal_security.models.uar_scope import UARScope as UARScope
-from opal_security.models.update_access_rule_info import UpdateAccessRuleInfo as UpdateAccessRuleInfo
-from opal_security.models.update_configuration_template_info import UpdateConfigurationTemplateInfo as UpdateConfigurationTemplateInfo
-from opal_security.models.update_group_binding_info import UpdateGroupBindingInfo as UpdateGroupBindingInfo
-from opal_security.models.update_group_binding_info_list import UpdateGroupBindingInfoList as UpdateGroupBindingInfoList
-from opal_security.models.update_group_info import UpdateGroupInfo as UpdateGroupInfo
-from opal_security.models.update_group_info_list import UpdateGroupInfoList as UpdateGroupInfoList
-from opal_security.models.update_group_resources_info import UpdateGroupResourcesInfo as UpdateGroupResourcesInfo
-from opal_security.models.update_group_user_request import UpdateGroupUserRequest as UpdateGroupUserRequest
-from opal_security.models.update_idp_group_mappings_request import UpdateIdpGroupMappingsRequest as UpdateIdpGroupMappingsRequest
-from opal_security.models.update_idp_group_mappings_request_mappings_inner import UpdateIdpGroupMappingsRequestMappingsInner as UpdateIdpGroupMappingsRequestMappingsInner
-from opal_security.models.update_owner_info import UpdateOwnerInfo as UpdateOwnerInfo
-from opal_security.models.update_owner_info_list import UpdateOwnerInfoList as UpdateOwnerInfoList
-from opal_security.models.update_resource_info import UpdateResourceInfo as UpdateResourceInfo
-from opal_security.models.update_resource_info_list import UpdateResourceInfoList as UpdateResourceInfoList
-from opal_security.models.update_resource_user_request import UpdateResourceUserRequest as UpdateResourceUserRequest
-from opal_security.models.user import User as User
-from opal_security.models.user_hr_idp_status_enum import UserHrIdpStatusEnum as UserHrIdpStatusEnum
-from opal_security.models.user_id_list import UserIDList as UserIDList
-from opal_security.models.user_list import UserList as UserList
-from opal_security.models.visibility_info import VisibilityInfo as VisibilityInfo
-from opal_security.models.visibility_type_enum import VisibilityTypeEnum as VisibilityTypeEnum
-
+from opal_security.models.access import Access
+from opal_security.models.access_list import AccessList
+from opal_security.models.access_rule import AccessRule
+from opal_security.models.add_bundle_group_request import AddBundleGroupRequest
+from opal_security.models.add_bundle_resource_request import AddBundleResourceRequest
+from opal_security.models.add_group_resource_request import AddGroupResourceRequest
+from opal_security.models.add_group_user_request import AddGroupUserRequest
+from opal_security.models.add_resource_nhi_request import AddResourceNhiRequest
+from opal_security.models.add_resource_user_request import AddResourceUserRequest
+from opal_security.models.api_access_level_enum import ApiAccessLevelEnum
+from opal_security.models.app import App
+from opal_security.models.app_type_enum import AppTypeEnum
+from opal_security.models.app_validation import AppValidation
+from opal_security.models.app_validation_severity_enum import AppValidationSeverityEnum
+from opal_security.models.app_validation_status_enum import AppValidationStatusEnum
+from opal_security.models.approve_request200_response import ApproveRequest200Response
+from opal_security.models.approve_request_request import ApproveRequestRequest
+from opal_security.models.apps_list import AppsList
+from opal_security.models.aws_permission_set_metadata import AwsPermissionSetMetadata
+from opal_security.models.aws_permission_set_metadata_aws_permission_set import AwsPermissionSetMetadataAwsPermissionSet
+from opal_security.models.bundle import Bundle
+from opal_security.models.bundle_group import BundleGroup
+from opal_security.models.bundle_resource import BundleResource
+from opal_security.models.condition import Condition
+from opal_security.models.configuration_template import ConfigurationTemplate
+from opal_security.models.create_bundle_info import CreateBundleInfo
+from opal_security.models.create_configuration_template_info import CreateConfigurationTemplateInfo
+from opal_security.models.create_delegation_request import CreateDelegationRequest
+from opal_security.models.create_group_binding_info import CreateGroupBindingInfo
+from opal_security.models.create_group_binding_info_groups_inner import CreateGroupBindingInfoGroupsInner
+from opal_security.models.create_group_info import CreateGroupInfo
+from opal_security.models.create_idp_group_mapping_request import CreateIdpGroupMappingRequest
+from opal_security.models.create_message_channel_info import CreateMessageChannelInfo
+from opal_security.models.create_on_call_schedule_info import CreateOnCallScheduleInfo
+from opal_security.models.create_owner_info import CreateOwnerInfo
+from opal_security.models.create_request200_response import CreateRequest200Response
+from opal_security.models.create_request_comment_request import CreateRequestCommentRequest
+from opal_security.models.create_request_configuration_info_list import CreateRequestConfigurationInfoList
+from opal_security.models.create_request_info import CreateRequestInfo
+from opal_security.models.create_request_info_custom_metadata_inner import CreateRequestInfoCustomMetadataInner
+from opal_security.models.create_request_info_groups_inner import CreateRequestInfoGroupsInner
+from opal_security.models.create_request_info_resources_inner import CreateRequestInfoResourcesInner
+from opal_security.models.create_request_info_support_ticket import CreateRequestInfoSupportTicket
+from opal_security.models.create_resource_info import CreateResourceInfo
+from opal_security.models.create_tag_info import CreateTagInfo
+from opal_security.models.create_uar_info import CreateUARInfo
+from opal_security.models.delegation import Delegation
+from opal_security.models.deny_request_request import DenyRequestRequest
+from opal_security.models.entity_type_enum import EntityTypeEnum
+from opal_security.models.event import Event
+from opal_security.models.get_resource_user200_response import GetResourceUser200Response
+from opal_security.models.group import Group
+from opal_security.models.group_access_level import GroupAccessLevel
+from opal_security.models.group_binding import GroupBinding
+from opal_security.models.group_binding_group import GroupBindingGroup
+from opal_security.models.group_containing_group import GroupContainingGroup
+from opal_security.models.group_containing_group_list import GroupContainingGroupList
+from opal_security.models.group_remote_info import GroupRemoteInfo
+from opal_security.models.group_remote_info_active_directory_group import GroupRemoteInfoActiveDirectoryGroup
+from opal_security.models.group_remote_info_aws_sso_group import GroupRemoteInfoAwsSsoGroup
+from opal_security.models.group_remote_info_azure_ad_microsoft365_group import GroupRemoteInfoAzureAdMicrosoft365Group
+from opal_security.models.group_remote_info_azure_ad_security_group import GroupRemoteInfoAzureAdSecurityGroup
+from opal_security.models.group_remote_info_clickhouse_role import GroupRemoteInfoClickhouseRole
+from opal_security.models.group_remote_info_connector_group import GroupRemoteInfoConnectorGroup
+from opal_security.models.group_remote_info_databricks_account_group import GroupRemoteInfoDatabricksAccountGroup
+from opal_security.models.group_remote_info_devin_group import GroupRemoteInfoDevinGroup
+from opal_security.models.group_remote_info_duo_group import GroupRemoteInfoDuoGroup
+from opal_security.models.group_remote_info_github_enterprise_team import GroupRemoteInfoGithubEnterpriseTeam
+from opal_security.models.group_remote_info_github_team import GroupRemoteInfoGithubTeam
+from opal_security.models.group_remote_info_gitlab_group import GroupRemoteInfoGitlabGroup
+from opal_security.models.group_remote_info_google_group import GroupRemoteInfoGoogleGroup
+from opal_security.models.group_remote_info_incidentio_on_call_schedule import GroupRemoteInfoIncidentioOnCallSchedule
+from opal_security.models.group_remote_info_ldap_group import GroupRemoteInfoLdapGroup
+from opal_security.models.group_remote_info_okta_group import GroupRemoteInfoOktaGroup
+from opal_security.models.group_remote_info_okta_group_rule import GroupRemoteInfoOktaGroupRule
+from opal_security.models.group_remote_info_pagerduty_on_call_schedule import GroupRemoteInfoPagerdutyOnCallSchedule
+from opal_security.models.group_remote_info_rootly_on_call_schedule import GroupRemoteInfoRootlyOnCallSchedule
+from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole
+from opal_security.models.group_remote_info_tailscale_group import GroupRemoteInfoTailscaleGroup
+from opal_security.models.group_remote_info_twingate_group import GroupRemoteInfoTwingateGroup
+from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
+from opal_security.models.group_resource import GroupResource
+from opal_security.models.group_resource_list import GroupResourceList
+from opal_security.models.group_type_enum import GroupTypeEnum
+from opal_security.models.group_user import GroupUser
+from opal_security.models.group_user_list import GroupUserList
+from opal_security.models.group_with_access_level import GroupWithAccessLevel
+from opal_security.models.idp_group_mapping import IdpGroupMapping
+from opal_security.models.idp_group_mapping_list import IdpGroupMappingList
+from opal_security.models.message_channel import MessageChannel
+from opal_security.models.message_channel_id_list import MessageChannelIDList
+from opal_security.models.message_channel_list import MessageChannelList
+from opal_security.models.message_channel_provider_enum import MessageChannelProviderEnum
+from opal_security.models.on_call_schedule import OnCallSchedule
+from opal_security.models.on_call_schedule_id_list import OnCallScheduleIDList
+from opal_security.models.on_call_schedule_list import OnCallScheduleList
+from opal_security.models.on_call_schedule_provider_enum import OnCallScheduleProviderEnum
+from opal_security.models.owner import Owner
+from opal_security.models.page_info import PageInfo
+from opal_security.models.paginated_assigned_request_list import PaginatedAssignedRequestList
+from opal_security.models.paginated_bundle_group_list import PaginatedBundleGroupList
+from opal_security.models.paginated_bundle_list import PaginatedBundleList
+from opal_security.models.paginated_bundle_resource_list import PaginatedBundleResourceList
+from opal_security.models.paginated_configuration_template_list import PaginatedConfigurationTemplateList
+from opal_security.models.paginated_delegations_list import PaginatedDelegationsList
+from opal_security.models.paginated_event_list import PaginatedEventList
+from opal_security.models.paginated_group_bindings_list import PaginatedGroupBindingsList
+from opal_security.models.paginated_groups_list import PaginatedGroupsList
+from opal_security.models.paginated_owners_list import PaginatedOwnersList
+from opal_security.models.paginated_remote_users_list import PaginatedRemoteUsersList
+from opal_security.models.paginated_resources_list import PaginatedResourcesList
+from opal_security.models.paginated_tags_list import PaginatedTagsList
+from opal_security.models.paginated_tokens_list import PaginatedTokensList
+from opal_security.models.paginated_uars_list import PaginatedUARsList
+from opal_security.models.paginated_users_list import PaginatedUsersList
+from opal_security.models.propagation_status import PropagationStatus
+from opal_security.models.propagation_status_enum import PropagationStatusEnum
+from opal_security.models.rds_engine_enum import RDSEngineEnum
+from opal_security.models.remote_user import RemoteUser
+from opal_security.models.request import Request
+from opal_security.models.request_approval_enum import RequestApprovalEnum
+from opal_security.models.request_comment import RequestComment
+from opal_security.models.request_comment_list import RequestCommentList
+from opal_security.models.request_configuration import RequestConfiguration
+from opal_security.models.request_connection import RequestConnection
+from opal_security.models.request_custom_field_response import RequestCustomFieldResponse
+from opal_security.models.request_custom_field_response_field_value import RequestCustomFieldResponseFieldValue
+from opal_security.models.request_edge import RequestEdge
+from opal_security.models.request_item_stages import RequestItemStages
+from opal_security.models.request_list import RequestList
+from opal_security.models.request_reviewer import RequestReviewer
+from opal_security.models.request_reviewer_stages import RequestReviewerStages
+from opal_security.models.request_stage import RequestStage
+from opal_security.models.request_status_enum import RequestStatusEnum
+from opal_security.models.request_template_custom_field_type_enum import RequestTemplateCustomFieldTypeEnum
+from opal_security.models.requested_item import RequestedItem
+from opal_security.models.resource import Resource
+from opal_security.models.resource_access_level import ResourceAccessLevel
+from opal_security.models.resource_access_user import ResourceAccessUser
+from opal_security.models.resource_access_user_list import ResourceAccessUserList
+from opal_security.models.resource_nhi import ResourceNHI
+from opal_security.models.resource_remote_info import ResourceRemoteInfo
+from opal_security.models.resource_remote_info_anthropic_workspace import ResourceRemoteInfoAnthropicWorkspace
+from opal_security.models.resource_remote_info_aws_account import ResourceRemoteInfoAwsAccount
+from opal_security.models.resource_remote_info_aws_ec2_instance import ResourceRemoteInfoAwsEc2Instance
+from opal_security.models.resource_remote_info_aws_eks_cluster import ResourceRemoteInfoAwsEksCluster
+from opal_security.models.resource_remote_info_aws_iam_role import ResourceRemoteInfoAwsIamRole
+from opal_security.models.resource_remote_info_aws_organizational_unit import ResourceRemoteInfoAwsOrganizationalUnit
+from opal_security.models.resource_remote_info_aws_permission_set import ResourceRemoteInfoAwsPermissionSet
+from opal_security.models.resource_remote_info_aws_rds_cluster import ResourceRemoteInfoAwsRdsCluster
+from opal_security.models.resource_remote_info_aws_rds_instance import ResourceRemoteInfoAwsRdsInstance
+from opal_security.models.resource_remote_info_azure_enterprise_app import ResourceRemoteInfoAzureEnterpriseApp
+from opal_security.models.resource_remote_info_azure_entra_id_role import ResourceRemoteInfoAzureEntraIdRole
+from opal_security.models.resource_remote_info_azure_management_group import ResourceRemoteInfoAzureManagementGroup
+from opal_security.models.resource_remote_info_azure_resource_group import ResourceRemoteInfoAzureResourceGroup
+from opal_security.models.resource_remote_info_azure_sql_database import ResourceRemoteInfoAzureSqlDatabase
+from opal_security.models.resource_remote_info_azure_sql_managed_database import ResourceRemoteInfoAzureSqlManagedDatabase
+from opal_security.models.resource_remote_info_azure_sql_managed_instance import ResourceRemoteInfoAzureSqlManagedInstance
+from opal_security.models.resource_remote_info_azure_sql_server import ResourceRemoteInfoAzureSqlServer
+from opal_security.models.resource_remote_info_azure_storage_account import ResourceRemoteInfoAzureStorageAccount
+from opal_security.models.resource_remote_info_azure_storage_container import ResourceRemoteInfoAzureStorageContainer
+from opal_security.models.resource_remote_info_azure_subscription import ResourceRemoteInfoAzureSubscription
+from opal_security.models.resource_remote_info_azure_user_assigned_managed_identity import ResourceRemoteInfoAzureUserAssignedManagedIdentity
+from opal_security.models.resource_remote_info_azure_virtual_machine import ResourceRemoteInfoAzureVirtualMachine
+from opal_security.models.resource_remote_info_clickhouse_database import ResourceRemoteInfoClickhouseDatabase
+from opal_security.models.resource_remote_info_clickhouse_table import ResourceRemoteInfoClickhouseTable
+from opal_security.models.resource_remote_info_coupa_role import ResourceRemoteInfoCoupaRole
+from opal_security.models.resource_remote_info_cursor_organization import ResourceRemoteInfoCursorOrganization
+from opal_security.models.resource_remote_info_custom_connector import ResourceRemoteInfoCustomConnector
+from opal_security.models.resource_remote_info_databricks_account_service_principal import ResourceRemoteInfoDatabricksAccountServicePrincipal
+from opal_security.models.resource_remote_info_datadog_role import ResourceRemoteInfoDatadogRole
+from opal_security.models.resource_remote_info_datastax_astra_role import ResourceRemoteInfoDatastaxAstraRole
+from opal_security.models.resource_remote_info_devin_organization import ResourceRemoteInfoDevinOrganization
+from opal_security.models.resource_remote_info_devin_role import ResourceRemoteInfoDevinRole
+from opal_security.models.resource_remote_info_gcp_big_query_dataset import ResourceRemoteInfoGcpBigQueryDataset
+from opal_security.models.resource_remote_info_gcp_big_query_table import ResourceRemoteInfoGcpBigQueryTable
+from opal_security.models.resource_remote_info_gcp_bucket import ResourceRemoteInfoGcpBucket
+from opal_security.models.resource_remote_info_gcp_compute_instance import ResourceRemoteInfoGcpComputeInstance
+from opal_security.models.resource_remote_info_gcp_folder import ResourceRemoteInfoGcpFolder
+from opal_security.models.resource_remote_info_gcp_gke_cluster import ResourceRemoteInfoGcpGkeCluster
+from opal_security.models.resource_remote_info_gcp_organization import ResourceRemoteInfoGcpOrganization
+from opal_security.models.resource_remote_info_gcp_project import ResourceRemoteInfoGcpProject
+from opal_security.models.resource_remote_info_gcp_service_account import ResourceRemoteInfoGcpServiceAccount
+from opal_security.models.resource_remote_info_gcp_sql_instance import ResourceRemoteInfoGcpSqlInstance
+from opal_security.models.resource_remote_info_github_enterprise_role import ResourceRemoteInfoGithubEnterpriseRole
+from opal_security.models.resource_remote_info_github_org import ResourceRemoteInfoGithubOrg
+from opal_security.models.resource_remote_info_github_org_role import ResourceRemoteInfoGithubOrgRole
+from opal_security.models.resource_remote_info_github_repo import ResourceRemoteInfoGithubRepo
+from opal_security.models.resource_remote_info_gitlab_project import ResourceRemoteInfoGitlabProject
+from opal_security.models.resource_remote_info_google_workspace_role import ResourceRemoteInfoGoogleWorkspaceRole
+from opal_security.models.resource_remote_info_ilevel_advanced_role import ResourceRemoteInfoIlevelAdvancedRole
+from opal_security.models.resource_remote_info_netsuite_role import ResourceRemoteInfoNetsuiteRole
+from opal_security.models.resource_remote_info_okta_app import ResourceRemoteInfoOktaApp
+from opal_security.models.resource_remote_info_okta_custom_role import ResourceRemoteInfoOktaCustomRole
+from opal_security.models.resource_remote_info_okta_standard_role import ResourceRemoteInfoOktaStandardRole
+from opal_security.models.resource_remote_info_openai_platform_project import ResourceRemoteInfoOpenaiPlatformProject
+from opal_security.models.resource_remote_info_openai_platform_service_account import ResourceRemoteInfoOpenaiPlatformServiceAccount
+from opal_security.models.resource_remote_info_oracle_fusion_role import ResourceRemoteInfoOracleFusionRole
+from opal_security.models.resource_remote_info_pagerduty_role import ResourceRemoteInfoPagerdutyRole
+from opal_security.models.resource_remote_info_salesforce_permission_set import ResourceRemoteInfoSalesforcePermissionSet
+from opal_security.models.resource_remote_info_salesforce_profile import ResourceRemoteInfoSalesforceProfile
+from opal_security.models.resource_remote_info_salesforce_role import ResourceRemoteInfoSalesforceRole
+from opal_security.models.resource_remote_info_snowflake_database import ResourceRemoteInfoSnowflakeDatabase
+from opal_security.models.resource_remote_info_snowflake_schema import ResourceRemoteInfoSnowflakeSchema
+from opal_security.models.resource_remote_info_snowflake_table import ResourceRemoteInfoSnowflakeTable
+from opal_security.models.resource_remote_info_tailscale_ssh import ResourceRemoteInfoTailscaleSsh
+from opal_security.models.resource_remote_info_teleport_role import ResourceRemoteInfoTeleportRole
+from opal_security.models.resource_remote_info_twingate_resource import ResourceRemoteInfoTwingateResource
+from opal_security.models.resource_remote_info_workday_role import ResourceRemoteInfoWorkdayRole
+from opal_security.models.resource_type_enum import ResourceTypeEnum
+from opal_security.models.resource_user import ResourceUser
+from opal_security.models.resource_user_access_status import ResourceUserAccessStatus
+from opal_security.models.resource_user_access_status_enum import ResourceUserAccessStatusEnum
+from opal_security.models.resource_with_access_level import ResourceWithAccessLevel
+from opal_security.models.review_stage_operator import ReviewStageOperator
+from opal_security.models.reviewer_id_list import ReviewerIDList
+from opal_security.models.reviewer_stage import ReviewerStage
+from opal_security.models.reviewer_stage_list import ReviewerStageList
+from opal_security.models.risk_sensitivity_enum import RiskSensitivityEnum
+from opal_security.models.role_permission_name_enum import RolePermissionNameEnum
+from opal_security.models.role_permission_target_type_enum import RolePermissionTargetTypeEnum
+from opal_security.models.rule_clauses import RuleClauses
+from opal_security.models.rule_conjunction import RuleConjunction
+from opal_security.models.rule_disjunction import RuleDisjunction
+from opal_security.models.scoped_role_permission import ScopedRolePermission
+from opal_security.models.scoped_role_permission_list import ScopedRolePermissionList
+from opal_security.models.session import Session
+from opal_security.models.sessions_list import SessionsList
+from opal_security.models.sub_event import SubEvent
+from opal_security.models.sync_error import SyncError
+from opal_security.models.sync_error_list import SyncErrorList
+from opal_security.models.sync_task import SyncTask
+from opal_security.models.tag import Tag
+from opal_security.models.tag_filter import TagFilter
+from opal_security.models.tag_selector import TagSelector
+from opal_security.models.tags_list import TagsList
+from opal_security.models.third_party_provider_enum import ThirdPartyProviderEnum
+from opal_security.models.ticket_propagation_configuration import TicketPropagationConfiguration
+from opal_security.models.ticketing_provider_enum import TicketingProviderEnum
+from opal_security.models.token import Token
+from opal_security.models.uar import UAR
+from opal_security.models.uar_reviewer_assignment_policy_enum import UARReviewerAssignmentPolicyEnum
+from opal_security.models.uar_scope import UARScope
+from opal_security.models.update_access_rule_info import UpdateAccessRuleInfo
+from opal_security.models.update_configuration_template_info import UpdateConfigurationTemplateInfo
+from opal_security.models.update_group_binding_info import UpdateGroupBindingInfo
+from opal_security.models.update_group_binding_info_list import UpdateGroupBindingInfoList
+from opal_security.models.update_group_info import UpdateGroupInfo
+from opal_security.models.update_group_info_list import UpdateGroupInfoList
+from opal_security.models.update_group_resources_info import UpdateGroupResourcesInfo
+from opal_security.models.update_group_user_request import UpdateGroupUserRequest
+from opal_security.models.update_idp_group_mappings_request import UpdateIdpGroupMappingsRequest
+from opal_security.models.update_idp_group_mappings_request_mappings_inner import UpdateIdpGroupMappingsRequestMappingsInner
+from opal_security.models.update_owner_info import UpdateOwnerInfo
+from opal_security.models.update_owner_info_list import UpdateOwnerInfoList
+from opal_security.models.update_resource_info import UpdateResourceInfo
+from opal_security.models.update_resource_info_list import UpdateResourceInfoList
+from opal_security.models.update_resource_user_request import UpdateResourceUserRequest
+from opal_security.models.user import User
+from opal_security.models.user_hr_idp_status_enum import UserHrIdpStatusEnum
+from opal_security.models.user_id_list import UserIDList
+from opal_security.models.user_list import UserList
+from opal_security.models.visibility_info import VisibilityInfo
+from opal_security.models.visibility_type_enum import VisibilityTypeEnum
diff --git a/opal_security/api/__init__.py b/opal_security/api/__init__.py
index c215bd8..5ae2d2d 100644
--- a/opal_security/api/__init__.py
+++ b/opal_security/api/__init__.py
@@ -18,6 +18,7 @@
from opal_security.api.resources_api import ResourcesApi
from opal_security.api.sessions_api import SessionsApi
from opal_security.api.tags_api import TagsApi
+from opal_security.api.tokens_api import TokensApi
from opal_security.api.uars_api import UarsApi
from opal_security.api.users_api import UsersApi
diff --git a/opal_security/api/access_rules_api.py b/opal_security/api/access_rules_api.py
index 6d6936a..0255fdc 100644
--- a/opal_security/api/access_rules_api.py
+++ b/opal_security/api/access_rules_api.py
@@ -17,9 +17,8 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field
+from pydantic import Field, StrictStr
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.access_rule import AccessRule
from opal_security.models.update_access_rule_info import UpdateAccessRuleInfo
@@ -318,7 +317,7 @@ def _create_access_rule_serialize(
@validate_call
def get_access_rule(
self,
- access_rule_id: Annotated[UUID, Field(description="The access rule ID (group ID) of the access rule.")],
+ access_rule_id: Annotated[StrictStr, Field(description="The access rule ID (group ID) of the access rule.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -337,7 +336,7 @@ def get_access_rule(
Returns a list of access rule config given the group_id of the access rule.
:param access_rule_id: The access rule ID (group ID) of the access rule. (required)
- :type access_rule_id: UUID
+ :type access_rule_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -385,7 +384,7 @@ def get_access_rule(
@validate_call
def get_access_rule_with_http_info(
self,
- access_rule_id: Annotated[UUID, Field(description="The access rule ID (group ID) of the access rule.")],
+ access_rule_id: Annotated[StrictStr, Field(description="The access rule ID (group ID) of the access rule.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -404,7 +403,7 @@ def get_access_rule_with_http_info(
Returns a list of access rule config given the group_id of the access rule.
:param access_rule_id: The access rule ID (group ID) of the access rule. (required)
- :type access_rule_id: UUID
+ :type access_rule_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -452,7 +451,7 @@ def get_access_rule_with_http_info(
@validate_call
def get_access_rule_without_preload_content(
self,
- access_rule_id: Annotated[UUID, Field(description="The access rule ID (group ID) of the access rule.")],
+ access_rule_id: Annotated[StrictStr, Field(description="The access rule ID (group ID) of the access rule.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -471,7 +470,7 @@ def get_access_rule_without_preload_content(
Returns a list of access rule config given the group_id of the access rule.
:param access_rule_id: The access rule ID (group ID) of the access rule. (required)
- :type access_rule_id: UUID
+ :type access_rule_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -579,7 +578,7 @@ def _get_access_rule_serialize(
@validate_call
def update_access_rule(
self,
- access_rule_id: Annotated[UUID, Field(description="The access rule ID (group ID) of the access rule.")],
+ access_rule_id: Annotated[StrictStr, Field(description="The access rule ID (group ID) of the access rule.")],
update_access_rule_info: UpdateAccessRuleInfo,
_request_timeout: Union[
None,
@@ -599,7 +598,7 @@ def update_access_rule(
Updates the access rule config for the given group_id.
:param access_rule_id: The access rule ID (group ID) of the access rule. (required)
- :type access_rule_id: UUID
+ :type access_rule_id: str
:param update_access_rule_info: (required)
:type update_access_rule_info: UpdateAccessRuleInfo
:param _request_timeout: timeout setting for this request. If one
@@ -650,7 +649,7 @@ def update_access_rule(
@validate_call
def update_access_rule_with_http_info(
self,
- access_rule_id: Annotated[UUID, Field(description="The access rule ID (group ID) of the access rule.")],
+ access_rule_id: Annotated[StrictStr, Field(description="The access rule ID (group ID) of the access rule.")],
update_access_rule_info: UpdateAccessRuleInfo,
_request_timeout: Union[
None,
@@ -670,7 +669,7 @@ def update_access_rule_with_http_info(
Updates the access rule config for the given group_id.
:param access_rule_id: The access rule ID (group ID) of the access rule. (required)
- :type access_rule_id: UUID
+ :type access_rule_id: str
:param update_access_rule_info: (required)
:type update_access_rule_info: UpdateAccessRuleInfo
:param _request_timeout: timeout setting for this request. If one
@@ -721,7 +720,7 @@ def update_access_rule_with_http_info(
@validate_call
def update_access_rule_without_preload_content(
self,
- access_rule_id: Annotated[UUID, Field(description="The access rule ID (group ID) of the access rule.")],
+ access_rule_id: Annotated[StrictStr, Field(description="The access rule ID (group ID) of the access rule.")],
update_access_rule_info: UpdateAccessRuleInfo,
_request_timeout: Union[
None,
@@ -741,7 +740,7 @@ def update_access_rule_without_preload_content(
Updates the access rule config for the given group_id.
:param access_rule_id: The access rule ID (group ID) of the access rule. (required)
- :type access_rule_id: UUID
+ :type access_rule_id: str
:param update_access_rule_info: (required)
:type update_access_rule_info: UpdateAccessRuleInfo
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/apps_api.py b/opal_security/api/apps_api.py
index 7455a86..988e042 100644
--- a/opal_security/api/apps_api.py
+++ b/opal_security/api/apps_api.py
@@ -17,10 +17,9 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field
+from pydantic import Field, StrictStr
from typing import List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.app import App
from opal_security.models.app_type_enum import AppTypeEnum
from opal_security.models.apps_list import AppsList
@@ -47,7 +46,7 @@ def __init__(self, api_client=None) -> None:
@validate_call
def get_app(
self,
- app_id: Annotated[UUID, Field(description="The ID of the app.")],
+ app_id: Annotated[StrictStr, Field(description="The ID of the app.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -66,7 +65,7 @@ def get_app(
Returns an `App` object.
:param app_id: The ID of the app. (required)
- :type app_id: UUID
+ :type app_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -114,7 +113,7 @@ def get_app(
@validate_call
def get_app_with_http_info(
self,
- app_id: Annotated[UUID, Field(description="The ID of the app.")],
+ app_id: Annotated[StrictStr, Field(description="The ID of the app.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -133,7 +132,7 @@ def get_app_with_http_info(
Returns an `App` object.
:param app_id: The ID of the app. (required)
- :type app_id: UUID
+ :type app_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -181,7 +180,7 @@ def get_app_with_http_info(
@validate_call
def get_app_without_preload_content(
self,
- app_id: Annotated[UUID, Field(description="The ID of the app.")],
+ app_id: Annotated[StrictStr, Field(description="The ID of the app.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -200,7 +199,7 @@ def get_app_without_preload_content(
Returns an `App` object.
:param app_id: The ID of the app. (required)
- :type app_id: UUID
+ :type app_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -309,7 +308,7 @@ def _get_app_serialize(
def get_apps(
self,
app_type_filter: Annotated[Optional[List[AppTypeEnum]], Field(description="A list of app types to filter by.")] = None,
- owner_filter: Annotated[Optional[UUID], Field(description="An owner ID to filter by.")] = None,
+ owner_filter: Annotated[Optional[StrictStr], Field(description="An owner ID to filter by.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -330,7 +329,7 @@ def get_apps(
:param app_type_filter: A list of app types to filter by.
:type app_type_filter: List[AppTypeEnum]
:param owner_filter: An owner ID to filter by.
- :type owner_filter: UUID
+ :type owner_filter: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -380,7 +379,7 @@ def get_apps(
def get_apps_with_http_info(
self,
app_type_filter: Annotated[Optional[List[AppTypeEnum]], Field(description="A list of app types to filter by.")] = None,
- owner_filter: Annotated[Optional[UUID], Field(description="An owner ID to filter by.")] = None,
+ owner_filter: Annotated[Optional[StrictStr], Field(description="An owner ID to filter by.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -401,7 +400,7 @@ def get_apps_with_http_info(
:param app_type_filter: A list of app types to filter by.
:type app_type_filter: List[AppTypeEnum]
:param owner_filter: An owner ID to filter by.
- :type owner_filter: UUID
+ :type owner_filter: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -451,7 +450,7 @@ def get_apps_with_http_info(
def get_apps_without_preload_content(
self,
app_type_filter: Annotated[Optional[List[AppTypeEnum]], Field(description="A list of app types to filter by.")] = None,
- owner_filter: Annotated[Optional[UUID], Field(description="An owner ID to filter by.")] = None,
+ owner_filter: Annotated[Optional[StrictStr], Field(description="An owner ID to filter by.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -472,7 +471,7 @@ def get_apps_without_preload_content(
:param app_type_filter: A list of app types to filter by.
:type app_type_filter: List[AppTypeEnum]
:param owner_filter: An owner ID to filter by.
- :type owner_filter: UUID
+ :type owner_filter: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -589,9 +588,9 @@ def _get_apps_serialize(
@validate_call
def get_sync_errors(
self,
- app_id: Annotated[Optional[UUID], Field(description="The ID of the app to list sync errors for.")] = None,
- resource_id: Annotated[Optional[UUID], Field(description="The ID of the resource to list sync errors for.")] = None,
- group_id: Annotated[Optional[UUID], Field(description="The ID of the group to list sync errors for.")] = None,
+ app_id: Annotated[Optional[StrictStr], Field(description="The ID of the app to list sync errors for.")] = None,
+ resource_id: Annotated[Optional[StrictStr], Field(description="The ID of the resource to list sync errors for.")] = None,
+ group_id: Annotated[Optional[StrictStr], Field(description="The ID of the group to list sync errors for.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -610,11 +609,11 @@ def get_sync_errors(
Returns a list of recent sync errors that have occurred since the last successful sync.
:param app_id: The ID of the app to list sync errors for.
- :type app_id: UUID
+ :type app_id: str
:param resource_id: The ID of the resource to list sync errors for.
- :type resource_id: UUID
+ :type resource_id: str
:param group_id: The ID of the group to list sync errors for.
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -664,9 +663,9 @@ def get_sync_errors(
@validate_call
def get_sync_errors_with_http_info(
self,
- app_id: Annotated[Optional[UUID], Field(description="The ID of the app to list sync errors for.")] = None,
- resource_id: Annotated[Optional[UUID], Field(description="The ID of the resource to list sync errors for.")] = None,
- group_id: Annotated[Optional[UUID], Field(description="The ID of the group to list sync errors for.")] = None,
+ app_id: Annotated[Optional[StrictStr], Field(description="The ID of the app to list sync errors for.")] = None,
+ resource_id: Annotated[Optional[StrictStr], Field(description="The ID of the resource to list sync errors for.")] = None,
+ group_id: Annotated[Optional[StrictStr], Field(description="The ID of the group to list sync errors for.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -685,11 +684,11 @@ def get_sync_errors_with_http_info(
Returns a list of recent sync errors that have occurred since the last successful sync.
:param app_id: The ID of the app to list sync errors for.
- :type app_id: UUID
+ :type app_id: str
:param resource_id: The ID of the resource to list sync errors for.
- :type resource_id: UUID
+ :type resource_id: str
:param group_id: The ID of the group to list sync errors for.
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -739,9 +738,9 @@ def get_sync_errors_with_http_info(
@validate_call
def get_sync_errors_without_preload_content(
self,
- app_id: Annotated[Optional[UUID], Field(description="The ID of the app to list sync errors for.")] = None,
- resource_id: Annotated[Optional[UUID], Field(description="The ID of the resource to list sync errors for.")] = None,
- group_id: Annotated[Optional[UUID], Field(description="The ID of the group to list sync errors for.")] = None,
+ app_id: Annotated[Optional[StrictStr], Field(description="The ID of the app to list sync errors for.")] = None,
+ resource_id: Annotated[Optional[StrictStr], Field(description="The ID of the resource to list sync errors for.")] = None,
+ group_id: Annotated[Optional[StrictStr], Field(description="The ID of the group to list sync errors for.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -760,11 +759,11 @@ def get_sync_errors_without_preload_content(
Returns a list of recent sync errors that have occurred since the last successful sync.
:param app_id: The ID of the app to list sync errors for.
- :type app_id: UUID
+ :type app_id: str
:param resource_id: The ID of the resource to list sync errors for.
- :type resource_id: UUID
+ :type resource_id: str
:param group_id: The ID of the group to list sync errors for.
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/bundles_api.py b/opal_security/api/bundles_api.py
index 3325ed6..23236c5 100644
--- a/opal_security/api/bundles_api.py
+++ b/opal_security/api/bundles_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictInt, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.add_bundle_group_request import AddBundleGroupRequest
from opal_security.models.add_bundle_resource_request import AddBundleResourceRequest
from opal_security.models.bundle import Bundle
@@ -53,7 +52,7 @@ def __init__(self, api_client=None) -> None:
@validate_call
def add_bundle_group(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
add_bundle_group_request: AddBundleGroupRequest,
_request_timeout: Union[
None,
@@ -73,7 +72,7 @@ def add_bundle_group(
Adds a group to a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param add_bundle_group_request: (required)
:type add_bundle_group_request: AddBundleGroupRequest
:param _request_timeout: timeout setting for this request. If one
@@ -124,7 +123,7 @@ def add_bundle_group(
@validate_call
def add_bundle_group_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
add_bundle_group_request: AddBundleGroupRequest,
_request_timeout: Union[
None,
@@ -144,7 +143,7 @@ def add_bundle_group_with_http_info(
Adds a group to a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param add_bundle_group_request: (required)
:type add_bundle_group_request: AddBundleGroupRequest
:param _request_timeout: timeout setting for this request. If one
@@ -195,7 +194,7 @@ def add_bundle_group_with_http_info(
@validate_call
def add_bundle_group_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
add_bundle_group_request: AddBundleGroupRequest,
_request_timeout: Union[
None,
@@ -215,7 +214,7 @@ def add_bundle_group_without_preload_content(
Adds a group to a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param add_bundle_group_request: (required)
:type add_bundle_group_request: AddBundleGroupRequest
:param _request_timeout: timeout setting for this request. If one
@@ -342,7 +341,7 @@ def _add_bundle_group_serialize(
@validate_call
def add_bundle_resource(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
add_bundle_resource_request: Optional[AddBundleResourceRequest] = None,
_request_timeout: Union[
None,
@@ -362,7 +361,7 @@ def add_bundle_resource(
Adds a resource to a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param add_bundle_resource_request:
:type add_bundle_resource_request: AddBundleResourceRequest
:param _request_timeout: timeout setting for this request. If one
@@ -413,7 +412,7 @@ def add_bundle_resource(
@validate_call
def add_bundle_resource_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
add_bundle_resource_request: Optional[AddBundleResourceRequest] = None,
_request_timeout: Union[
None,
@@ -433,7 +432,7 @@ def add_bundle_resource_with_http_info(
Adds a resource to a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param add_bundle_resource_request:
:type add_bundle_resource_request: AddBundleResourceRequest
:param _request_timeout: timeout setting for this request. If one
@@ -484,7 +483,7 @@ def add_bundle_resource_with_http_info(
@validate_call
def add_bundle_resource_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
add_bundle_resource_request: Optional[AddBundleResourceRequest] = None,
_request_timeout: Union[
None,
@@ -504,7 +503,7 @@ def add_bundle_resource_without_preload_content(
Adds a resource to a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param add_bundle_resource_request:
:type add_bundle_resource_request: AddBundleResourceRequest
:param _request_timeout: timeout setting for this request. If one
@@ -905,7 +904,7 @@ def _create_bundle_serialize(
@validate_call
def delete_bundle(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -924,7 +923,7 @@ def delete_bundle(
Deletes a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -972,7 +971,7 @@ def delete_bundle(
@validate_call
def delete_bundle_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -991,7 +990,7 @@ def delete_bundle_with_http_info(
Deletes a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1039,7 +1038,7 @@ def delete_bundle_with_http_info(
@validate_call
def delete_bundle_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1058,7 +1057,7 @@ def delete_bundle_without_preload_content(
Deletes a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1159,7 +1158,7 @@ def _delete_bundle_serialize(
@validate_call
def get_bundle(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1178,7 +1177,7 @@ def get_bundle(
Returns a `Bundle` object.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1226,7 +1225,7 @@ def get_bundle(
@validate_call
def get_bundle_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1245,7 +1244,7 @@ def get_bundle_with_http_info(
Returns a `Bundle` object.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1293,7 +1292,7 @@ def get_bundle_with_http_info(
@validate_call
def get_bundle_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1312,7 +1311,7 @@ def get_bundle_without_preload_content(
Returns a `Bundle` object.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1420,7 +1419,7 @@ def _get_bundle_serialize(
@validate_call
def get_bundle_groups(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
page_size: Annotated[Optional[StrictInt], Field(description="The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor indicating where to start fetching items after a specific point.")] = None,
_request_timeout: Union[
@@ -1441,7 +1440,7 @@ def get_bundle_groups(
Returns a list of `Group` objects in a given bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param page_size: The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000.
:type page_size: int
:param cursor: A cursor indicating where to start fetching items after a specific point.
@@ -1495,7 +1494,7 @@ def get_bundle_groups(
@validate_call
def get_bundle_groups_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
page_size: Annotated[Optional[StrictInt], Field(description="The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor indicating where to start fetching items after a specific point.")] = None,
_request_timeout: Union[
@@ -1516,7 +1515,7 @@ def get_bundle_groups_with_http_info(
Returns a list of `Group` objects in a given bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param page_size: The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000.
:type page_size: int
:param cursor: A cursor indicating where to start fetching items after a specific point.
@@ -1570,7 +1569,7 @@ def get_bundle_groups_with_http_info(
@validate_call
def get_bundle_groups_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
page_size: Annotated[Optional[StrictInt], Field(description="The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor indicating where to start fetching items after a specific point.")] = None,
_request_timeout: Union[
@@ -1591,7 +1590,7 @@ def get_bundle_groups_without_preload_content(
Returns a list of `Group` objects in a given bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param page_size: The maximum number of groups to return from the beginning of the list. Default is 200, max is 1000.
:type page_size: int
:param cursor: A cursor indicating where to start fetching items after a specific point.
@@ -1715,7 +1714,7 @@ def _get_bundle_groups_serialize(
@validate_call
def get_bundle_resources(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
page_size: Annotated[Optional[StrictInt], Field(description="The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor indicating where to start fetching items after a specific point.")] = None,
_request_timeout: Union[
@@ -1736,7 +1735,7 @@ def get_bundle_resources(
Returns a list of `Resource` objects in a given bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param page_size: The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000.
:type page_size: int
:param cursor: A cursor indicating where to start fetching items after a specific point.
@@ -1790,7 +1789,7 @@ def get_bundle_resources(
@validate_call
def get_bundle_resources_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
page_size: Annotated[Optional[StrictInt], Field(description="The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor indicating where to start fetching items after a specific point.")] = None,
_request_timeout: Union[
@@ -1811,7 +1810,7 @@ def get_bundle_resources_with_http_info(
Returns a list of `Resource` objects in a given bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param page_size: The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000.
:type page_size: int
:param cursor: A cursor indicating where to start fetching items after a specific point.
@@ -1865,7 +1864,7 @@ def get_bundle_resources_with_http_info(
@validate_call
def get_bundle_resources_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
page_size: Annotated[Optional[StrictInt], Field(description="The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor indicating where to start fetching items after a specific point.")] = None,
_request_timeout: Union[
@@ -1886,7 +1885,7 @@ def get_bundle_resources_without_preload_content(
Returns a list of `Resource` objects in a given bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param page_size: The maximum number of resources to return from the beginning of the list. Default is 200, max is 1000.
:type page_size: int
:param cursor: A cursor indicating where to start fetching items after a specific point.
@@ -2010,7 +2009,7 @@ def _get_bundle_resources_serialize(
@validate_call
def get_bundle_visibility(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2029,7 +2028,7 @@ def get_bundle_visibility(
Gets the visibility of the bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2077,7 +2076,7 @@ def get_bundle_visibility(
@validate_call
def get_bundle_visibility_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2096,7 +2095,7 @@ def get_bundle_visibility_with_http_info(
Gets the visibility of the bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2144,7 +2143,7 @@ def get_bundle_visibility_with_http_info(
@validate_call
def get_bundle_visibility_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2163,7 +2162,7 @@ def get_bundle_visibility_without_preload_content(
Gets the visibility of the bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2568,8 +2567,8 @@ def _get_bundles_serialize(
@validate_call
def remove_bundle_group(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to remove.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to remove.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to remove.")] = None,
_request_timeout: Union[
None,
@@ -2589,9 +2588,9 @@ def remove_bundle_group(
Removes a group from a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param group_id: The ID of the group to remove. (required)
- :type group_id: UUID
+ :type group_id: str
:param access_level_remote_id: The remote ID of the access level to remove.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -2643,8 +2642,8 @@ def remove_bundle_group(
@validate_call
def remove_bundle_group_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to remove.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to remove.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to remove.")] = None,
_request_timeout: Union[
None,
@@ -2664,9 +2663,9 @@ def remove_bundle_group_with_http_info(
Removes a group from a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param group_id: The ID of the group to remove. (required)
- :type group_id: UUID
+ :type group_id: str
:param access_level_remote_id: The remote ID of the access level to remove.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -2718,8 +2717,8 @@ def remove_bundle_group_with_http_info(
@validate_call
def remove_bundle_group_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to remove.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to remove.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to remove.")] = None,
_request_timeout: Union[
None,
@@ -2739,9 +2738,9 @@ def remove_bundle_group_without_preload_content(
Removes a group from a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param group_id: The ID of the group to remove. (required)
- :type group_id: UUID
+ :type group_id: str
:param access_level_remote_id: The remote ID of the access level to remove.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -2854,8 +2853,8 @@ def _remove_bundle_group_serialize(
@validate_call
def remove_bundle_resource(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to remove.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to remove.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used.")] = None,
_request_timeout: Union[
None,
@@ -2875,9 +2874,9 @@ def remove_bundle_resource(
Removes a resource from a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param resource_id: The ID of the resource to remove. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param access_level_remote_id: The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -2929,8 +2928,8 @@ def remove_bundle_resource(
@validate_call
def remove_bundle_resource_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to remove.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to remove.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used.")] = None,
_request_timeout: Union[
None,
@@ -2950,9 +2949,9 @@ def remove_bundle_resource_with_http_info(
Removes a resource from a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param resource_id: The ID of the resource to remove. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param access_level_remote_id: The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -3004,8 +3003,8 @@ def remove_bundle_resource_with_http_info(
@validate_call
def remove_bundle_resource_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to remove.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to remove.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used.")] = None,
_request_timeout: Union[
None,
@@ -3025,9 +3024,9 @@ def remove_bundle_resource_without_preload_content(
Removes a resource from a bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param resource_id: The ID of the resource to remove. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param access_level_remote_id: The remote ID of the access level to grant. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -3140,7 +3139,7 @@ def _remove_bundle_resource_serialize(
@validate_call
def set_bundle_visibility(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -3160,7 +3159,7 @@ def set_bundle_visibility(
Sets the visibility of the bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -3211,7 +3210,7 @@ def set_bundle_visibility(
@validate_call
def set_bundle_visibility_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -3231,7 +3230,7 @@ def set_bundle_visibility_with_http_info(
Sets the visibility of the bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -3282,7 +3281,7 @@ def set_bundle_visibility_with_http_info(
@validate_call
def set_bundle_visibility_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -3302,7 +3301,7 @@ def set_bundle_visibility_without_preload_content(
Sets the visibility of the bundle.
:param bundle_id: The ID of the bundle. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -3422,7 +3421,7 @@ def _set_bundle_visibility_serialize(
@validate_call
def update_bundle(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle to be updated.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle to be updated.")],
bundle: Bundle,
_request_timeout: Union[
None,
@@ -3442,7 +3441,7 @@ def update_bundle(
Updates a bundle.
:param bundle_id: The ID of the bundle to be updated. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param bundle: (required)
:type bundle: Bundle
:param _request_timeout: timeout setting for this request. If one
@@ -3494,7 +3493,7 @@ def update_bundle(
@validate_call
def update_bundle_with_http_info(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle to be updated.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle to be updated.")],
bundle: Bundle,
_request_timeout: Union[
None,
@@ -3514,7 +3513,7 @@ def update_bundle_with_http_info(
Updates a bundle.
:param bundle_id: The ID of the bundle to be updated. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param bundle: (required)
:type bundle: Bundle
:param _request_timeout: timeout setting for this request. If one
@@ -3566,7 +3565,7 @@ def update_bundle_with_http_info(
@validate_call
def update_bundle_without_preload_content(
self,
- bundle_id: Annotated[UUID, Field(description="The ID of the bundle to be updated.")],
+ bundle_id: Annotated[StrictStr, Field(description="The ID of the bundle to be updated.")],
bundle: Bundle,
_request_timeout: Union[
None,
@@ -3586,7 +3585,7 @@ def update_bundle_without_preload_content(
Updates a bundle.
:param bundle_id: The ID of the bundle to be updated. (required)
- :type bundle_id: UUID
+ :type bundle_id: str
:param bundle: (required)
:type bundle: Bundle
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/configuration_templates_api.py b/opal_security/api/configuration_templates_api.py
index 5571b77..74c774c 100644
--- a/opal_security/api/configuration_templates_api.py
+++ b/opal_security/api/configuration_templates_api.py
@@ -17,9 +17,8 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field
+from pydantic import Field, StrictStr
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.configuration_template import ConfigurationTemplate
from opal_security.models.create_configuration_template_info import CreateConfigurationTemplateInfo
from opal_security.models.paginated_configuration_template_list import PaginatedConfigurationTemplateList
@@ -320,7 +319,7 @@ def _create_configuration_template_serialize(
@validate_call
def delete_configuration_template(
self,
- configuration_template_id: Annotated[UUID, Field(description="The ID of the configuration template.")],
+ configuration_template_id: Annotated[StrictStr, Field(description="The ID of the configuration template.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -339,7 +338,7 @@ def delete_configuration_template(
Deletes a configuration template.
:param configuration_template_id: The ID of the configuration template. (required)
- :type configuration_template_id: UUID
+ :type configuration_template_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -387,7 +386,7 @@ def delete_configuration_template(
@validate_call
def delete_configuration_template_with_http_info(
self,
- configuration_template_id: Annotated[UUID, Field(description="The ID of the configuration template.")],
+ configuration_template_id: Annotated[StrictStr, Field(description="The ID of the configuration template.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -406,7 +405,7 @@ def delete_configuration_template_with_http_info(
Deletes a configuration template.
:param configuration_template_id: The ID of the configuration template. (required)
- :type configuration_template_id: UUID
+ :type configuration_template_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -454,7 +453,7 @@ def delete_configuration_template_with_http_info(
@validate_call
def delete_configuration_template_without_preload_content(
self,
- configuration_template_id: Annotated[UUID, Field(description="The ID of the configuration template.")],
+ configuration_template_id: Annotated[StrictStr, Field(description="The ID of the configuration template.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -473,7 +472,7 @@ def delete_configuration_template_without_preload_content(
Deletes a configuration template.
:param configuration_template_id: The ID of the configuration template. (required)
- :type configuration_template_id: UUID
+ :type configuration_template_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/delegations_api.py b/opal_security/api/delegations_api.py
index 8f8f790..a2e7ba4 100644
--- a/opal_security/api/delegations_api.py
+++ b/opal_security/api/delegations_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_delegation_request import CreateDelegationRequest
from opal_security.models.delegation import Delegation
from opal_security.models.paginated_delegations_list import PaginatedDelegationsList
@@ -320,7 +319,7 @@ def _create_delegation_serialize(
@validate_call
def delete_delegation(
self,
- delegation_id: Annotated[UUID, Field(description="The ID of the delegation to remove.")],
+ delegation_id: Annotated[StrictStr, Field(description="The ID of the delegation to remove.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -339,7 +338,7 @@ def delete_delegation(
Deletes a delegation by its ID.
:param delegation_id: The ID of the delegation to remove. (required)
- :type delegation_id: UUID
+ :type delegation_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -387,7 +386,7 @@ def delete_delegation(
@validate_call
def delete_delegation_with_http_info(
self,
- delegation_id: Annotated[UUID, Field(description="The ID of the delegation to remove.")],
+ delegation_id: Annotated[StrictStr, Field(description="The ID of the delegation to remove.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -406,7 +405,7 @@ def delete_delegation_with_http_info(
Deletes a delegation by its ID.
:param delegation_id: The ID of the delegation to remove. (required)
- :type delegation_id: UUID
+ :type delegation_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -454,7 +453,7 @@ def delete_delegation_with_http_info(
@validate_call
def delete_delegation_without_preload_content(
self,
- delegation_id: Annotated[UUID, Field(description="The ID of the delegation to remove.")],
+ delegation_id: Annotated[StrictStr, Field(description="The ID of the delegation to remove.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -473,7 +472,7 @@ def delete_delegation_without_preload_content(
Deletes a delegation by its ID.
:param delegation_id: The ID of the delegation to remove. (required)
- :type delegation_id: UUID
+ :type delegation_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -574,7 +573,7 @@ def _delete_delegation_serialize(
@validate_call
def get_delegation(
self,
- delegation_id: Annotated[UUID, Field(description="The ID of the delegation to retrieve.")],
+ delegation_id: Annotated[StrictStr, Field(description="The ID of the delegation to retrieve.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -593,7 +592,7 @@ def get_delegation(
Returns a specific delegation by its ID.
:param delegation_id: The ID of the delegation to retrieve. (required)
- :type delegation_id: UUID
+ :type delegation_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -641,7 +640,7 @@ def get_delegation(
@validate_call
def get_delegation_with_http_info(
self,
- delegation_id: Annotated[UUID, Field(description="The ID of the delegation to retrieve.")],
+ delegation_id: Annotated[StrictStr, Field(description="The ID of the delegation to retrieve.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -660,7 +659,7 @@ def get_delegation_with_http_info(
Returns a specific delegation by its ID.
:param delegation_id: The ID of the delegation to retrieve. (required)
- :type delegation_id: UUID
+ :type delegation_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -708,7 +707,7 @@ def get_delegation_with_http_info(
@validate_call
def get_delegation_without_preload_content(
self,
- delegation_id: Annotated[UUID, Field(description="The ID of the delegation to retrieve.")],
+ delegation_id: Annotated[StrictStr, Field(description="The ID of the delegation to retrieve.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -727,7 +726,7 @@ def get_delegation_without_preload_content(
Returns a specific delegation by its ID.
:param delegation_id: The ID of the delegation to retrieve. (required)
- :type delegation_id: UUID
+ :type delegation_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -835,8 +834,8 @@ def _get_delegation_serialize(
@validate_call
def get_delegations(
self,
- delegator_user_id: Annotated[Optional[UUID], Field(description="The delegator user ID to filter delegations by the user delegating their access review requests.")] = None,
- delegate_user_id: Annotated[Optional[UUID], Field(description="The delegate user ID to filter delegations by the user being delegated to.")] = None,
+ delegator_user_id: Annotated[Optional[StrictStr], Field(description="The delegator user ID to filter delegations by the user delegating their access review requests.")] = None,
+ delegate_user_id: Annotated[Optional[StrictStr], Field(description="The delegate user ID to filter delegations by the user being delegated to.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor to indicate where to start fetching results.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="The maximum number of results to return per page. The default is 200.")] = None,
_request_timeout: Union[
@@ -857,9 +856,9 @@ def get_delegations(
Returns a list of request reviewer delegations configured for your organization.
:param delegator_user_id: The delegator user ID to filter delegations by the user delegating their access review requests.
- :type delegator_user_id: UUID
+ :type delegator_user_id: str
:param delegate_user_id: The delegate user ID to filter delegations by the user being delegated to.
- :type delegate_user_id: UUID
+ :type delegate_user_id: str
:param cursor: A cursor to indicate where to start fetching results.
:type cursor: str
:param page_size: The maximum number of results to return per page. The default is 200.
@@ -914,8 +913,8 @@ def get_delegations(
@validate_call
def get_delegations_with_http_info(
self,
- delegator_user_id: Annotated[Optional[UUID], Field(description="The delegator user ID to filter delegations by the user delegating their access review requests.")] = None,
- delegate_user_id: Annotated[Optional[UUID], Field(description="The delegate user ID to filter delegations by the user being delegated to.")] = None,
+ delegator_user_id: Annotated[Optional[StrictStr], Field(description="The delegator user ID to filter delegations by the user delegating their access review requests.")] = None,
+ delegate_user_id: Annotated[Optional[StrictStr], Field(description="The delegate user ID to filter delegations by the user being delegated to.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor to indicate where to start fetching results.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="The maximum number of results to return per page. The default is 200.")] = None,
_request_timeout: Union[
@@ -936,9 +935,9 @@ def get_delegations_with_http_info(
Returns a list of request reviewer delegations configured for your organization.
:param delegator_user_id: The delegator user ID to filter delegations by the user delegating their access review requests.
- :type delegator_user_id: UUID
+ :type delegator_user_id: str
:param delegate_user_id: The delegate user ID to filter delegations by the user being delegated to.
- :type delegate_user_id: UUID
+ :type delegate_user_id: str
:param cursor: A cursor to indicate where to start fetching results.
:type cursor: str
:param page_size: The maximum number of results to return per page. The default is 200.
@@ -993,8 +992,8 @@ def get_delegations_with_http_info(
@validate_call
def get_delegations_without_preload_content(
self,
- delegator_user_id: Annotated[Optional[UUID], Field(description="The delegator user ID to filter delegations by the user delegating their access review requests.")] = None,
- delegate_user_id: Annotated[Optional[UUID], Field(description="The delegate user ID to filter delegations by the user being delegated to.")] = None,
+ delegator_user_id: Annotated[Optional[StrictStr], Field(description="The delegator user ID to filter delegations by the user delegating their access review requests.")] = None,
+ delegate_user_id: Annotated[Optional[StrictStr], Field(description="The delegate user ID to filter delegations by the user being delegated to.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="A cursor to indicate where to start fetching results.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="The maximum number of results to return per page. The default is 200.")] = None,
_request_timeout: Union[
@@ -1015,9 +1014,9 @@ def get_delegations_without_preload_content(
Returns a list of request reviewer delegations configured for your organization.
:param delegator_user_id: The delegator user ID to filter delegations by the user delegating their access review requests.
- :type delegator_user_id: UUID
+ :type delegator_user_id: str
:param delegate_user_id: The delegate user ID to filter delegations by the user being delegated to.
- :type delegate_user_id: UUID
+ :type delegate_user_id: str
:param cursor: A cursor to indicate where to start fetching results.
:type cursor: str
:param page_size: The maximum number of results to return per page. The default is 200.
diff --git a/opal_security/api/events_api.py b/opal_security/api/events_api.py
index 1e514db..af14dea 100644
--- a/opal_security/api/events_api.py
+++ b/opal_security/api/events_api.py
@@ -20,7 +20,7 @@
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
+from opal_security.models.event import Event
from opal_security.models.paginated_event_list import PaginatedEventList
from opal_security.api_client import ApiClient, RequestSerialized
@@ -46,8 +46,8 @@ def events(
self,
start_date_filter: Annotated[Optional[StrictStr], Field(description="A start date filter for the events.")] = None,
end_date_filter: Annotated[Optional[StrictStr], Field(description="An end date filter for the events.")] = None,
- actor_filter: Annotated[Optional[UUID], Field(description="An actor filter for the events. Supply the ID of the actor.")] = None,
- object_filter: Annotated[Optional[UUID], Field(description="An object filter for the events. Supply the ID of the object.")] = None,
+ actor_filter: Annotated[Optional[StrictStr], Field(description="An actor filter for the events. Supply the ID of the actor.")] = None,
+ object_filter: Annotated[Optional[StrictStr], Field(description="An object filter for the events. Supply the ID of the object.")] = None,
event_type_filter: Annotated[Optional[StrictStr], Field(description="An event type filter for the events.")] = None,
api_token_filter: Annotated[Optional[StrictStr], Field(description="An API filter for the events. Supply the name and preview of the API token.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
@@ -74,9 +74,9 @@ def events(
:param end_date_filter: An end date filter for the events.
:type end_date_filter: str
:param actor_filter: An actor filter for the events. Supply the ID of the actor.
- :type actor_filter: UUID
+ :type actor_filter: str
:param object_filter: An object filter for the events. Supply the ID of the object.
- :type object_filter: UUID
+ :type object_filter: str
:param event_type_filter: An event type filter for the events.
:type event_type_filter: str
:param api_token_filter: An API filter for the events. Supply the name and preview of the API token.
@@ -141,8 +141,8 @@ def events_with_http_info(
self,
start_date_filter: Annotated[Optional[StrictStr], Field(description="A start date filter for the events.")] = None,
end_date_filter: Annotated[Optional[StrictStr], Field(description="An end date filter for the events.")] = None,
- actor_filter: Annotated[Optional[UUID], Field(description="An actor filter for the events. Supply the ID of the actor.")] = None,
- object_filter: Annotated[Optional[UUID], Field(description="An object filter for the events. Supply the ID of the object.")] = None,
+ actor_filter: Annotated[Optional[StrictStr], Field(description="An actor filter for the events. Supply the ID of the actor.")] = None,
+ object_filter: Annotated[Optional[StrictStr], Field(description="An object filter for the events. Supply the ID of the object.")] = None,
event_type_filter: Annotated[Optional[StrictStr], Field(description="An event type filter for the events.")] = None,
api_token_filter: Annotated[Optional[StrictStr], Field(description="An API filter for the events. Supply the name and preview of the API token.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
@@ -169,9 +169,9 @@ def events_with_http_info(
:param end_date_filter: An end date filter for the events.
:type end_date_filter: str
:param actor_filter: An actor filter for the events. Supply the ID of the actor.
- :type actor_filter: UUID
+ :type actor_filter: str
:param object_filter: An object filter for the events. Supply the ID of the object.
- :type object_filter: UUID
+ :type object_filter: str
:param event_type_filter: An event type filter for the events.
:type event_type_filter: str
:param api_token_filter: An API filter for the events. Supply the name and preview of the API token.
@@ -236,8 +236,8 @@ def events_without_preload_content(
self,
start_date_filter: Annotated[Optional[StrictStr], Field(description="A start date filter for the events.")] = None,
end_date_filter: Annotated[Optional[StrictStr], Field(description="An end date filter for the events.")] = None,
- actor_filter: Annotated[Optional[UUID], Field(description="An actor filter for the events. Supply the ID of the actor.")] = None,
- object_filter: Annotated[Optional[UUID], Field(description="An object filter for the events. Supply the ID of the object.")] = None,
+ actor_filter: Annotated[Optional[StrictStr], Field(description="An actor filter for the events. Supply the ID of the actor.")] = None,
+ object_filter: Annotated[Optional[StrictStr], Field(description="An object filter for the events. Supply the ID of the object.")] = None,
event_type_filter: Annotated[Optional[StrictStr], Field(description="An event type filter for the events.")] = None,
api_token_filter: Annotated[Optional[StrictStr], Field(description="An API filter for the events. Supply the name and preview of the API token.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
@@ -264,9 +264,9 @@ def events_without_preload_content(
:param end_date_filter: An end date filter for the events.
:type end_date_filter: str
:param actor_filter: An actor filter for the events. Supply the ID of the actor.
- :type actor_filter: UUID
+ :type actor_filter: str
:param object_filter: An object filter for the events. Supply the ID of the object.
- :type object_filter: UUID
+ :type object_filter: str
:param event_type_filter: An event type filter for the events.
:type event_type_filter: str
:param api_token_filter: An API filter for the events. Supply the name and preview of the API token.
@@ -421,3 +421,267 @@ def _events_serialize(
)
+
+
+ @validate_call
+ def get_event(
+ self,
+ event_id: Annotated[StrictStr, Field(description="The ID of the event.")],
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> Event:
+ """Get event by ID
+
+ Returns an `Event` object.
+
+ :param event_id: The ID of the event. (required)
+ :type event_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_event_serialize(
+ event_id=event_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "Event",
+ '404': None,
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def get_event_with_http_info(
+ self,
+ event_id: Annotated[StrictStr, Field(description="The ID of the event.")],
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[Event]:
+ """Get event by ID
+
+ Returns an `Event` object.
+
+ :param event_id: The ID of the event. (required)
+ :type event_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_event_serialize(
+ event_id=event_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "Event",
+ '404': None,
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def get_event_without_preload_content(
+ self,
+ event_id: Annotated[StrictStr, Field(description="The ID of the event.")],
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Get event by ID
+
+ Returns an `Event` object.
+
+ :param event_id: The ID of the event. (required)
+ :type event_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_event_serialize(
+ event_id=event_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "Event",
+ '404': None,
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_event_serialize(
+ self,
+ event_id,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ if event_id is not None:
+ _path_params['event_id'] = event_id
+ # process the query parameters
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'BearerAuth'
+ ]
+
+ return self.api_client.param_serialize(
+ method='GET',
+ resource_path='/events/{event_id}',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
diff --git a/opal_security/api/group_bindings_api.py b/opal_security/api/group_bindings_api.py
index f3f25d3..e24f53b 100644
--- a/opal_security/api/group_bindings_api.py
+++ b/opal_security/api/group_bindings_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_group_binding_info import CreateGroupBindingInfo
from opal_security.models.group_binding import GroupBinding
from opal_security.models.paginated_group_bindings_list import PaginatedGroupBindingsList
@@ -321,7 +320,7 @@ def _create_group_binding_serialize(
@validate_call
def delete_group_binding(
self,
- group_binding_id: Annotated[UUID, Field(description="The ID of the group binding.")],
+ group_binding_id: Annotated[StrictStr, Field(description="The ID of the group binding.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -340,7 +339,7 @@ def delete_group_binding(
Deletes a group binding.
:param group_binding_id: The ID of the group binding. (required)
- :type group_binding_id: UUID
+ :type group_binding_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -388,7 +387,7 @@ def delete_group_binding(
@validate_call
def delete_group_binding_with_http_info(
self,
- group_binding_id: Annotated[UUID, Field(description="The ID of the group binding.")],
+ group_binding_id: Annotated[StrictStr, Field(description="The ID of the group binding.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -407,7 +406,7 @@ def delete_group_binding_with_http_info(
Deletes a group binding.
:param group_binding_id: The ID of the group binding. (required)
- :type group_binding_id: UUID
+ :type group_binding_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -455,7 +454,7 @@ def delete_group_binding_with_http_info(
@validate_call
def delete_group_binding_without_preload_content(
self,
- group_binding_id: Annotated[UUID, Field(description="The ID of the group binding.")],
+ group_binding_id: Annotated[StrictStr, Field(description="The ID of the group binding.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -474,7 +473,7 @@ def delete_group_binding_without_preload_content(
Deletes a group binding.
:param group_binding_id: The ID of the group binding. (required)
- :type group_binding_id: UUID
+ :type group_binding_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -575,7 +574,7 @@ def _delete_group_binding_serialize(
@validate_call
def get_group_binding(
self,
- group_binding_id: Annotated[UUID, Field(description="The ID of the group binding.")],
+ group_binding_id: Annotated[StrictStr, Field(description="The ID of the group binding.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -594,7 +593,7 @@ def get_group_binding(
Returns a `GroupBinding` object.
:param group_binding_id: The ID of the group binding. (required)
- :type group_binding_id: UUID
+ :type group_binding_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -642,7 +641,7 @@ def get_group_binding(
@validate_call
def get_group_binding_with_http_info(
self,
- group_binding_id: Annotated[UUID, Field(description="The ID of the group binding.")],
+ group_binding_id: Annotated[StrictStr, Field(description="The ID of the group binding.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -661,7 +660,7 @@ def get_group_binding_with_http_info(
Returns a `GroupBinding` object.
:param group_binding_id: The ID of the group binding. (required)
- :type group_binding_id: UUID
+ :type group_binding_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -709,7 +708,7 @@ def get_group_binding_with_http_info(
@validate_call
def get_group_binding_without_preload_content(
self,
- group_binding_id: Annotated[UUID, Field(description="The ID of the group binding.")],
+ group_binding_id: Annotated[StrictStr, Field(description="The ID of the group binding.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -728,7 +727,7 @@ def get_group_binding_without_preload_content(
Returns a `GroupBinding` object.
:param group_binding_id: The ID of the group binding. (required)
- :type group_binding_id: UUID
+ :type group_binding_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/groups_api.py b/opal_security/api/groups_api.py
index b180fb4..1d6a75f 100644
--- a/opal_security/api/groups_api.py
+++ b/opal_security/api/groups_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.add_group_resource_request import AddGroupResourceRequest
from opal_security.models.add_group_user_request import AddGroupUserRequest
from opal_security.models.create_group_info import CreateGroupInfo
@@ -67,7 +66,7 @@ def __init__(self, api_client=None) -> None:
@validate_call
def add_group_containing_group(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
group_containing_group: GroupContainingGroup,
_request_timeout: Union[
None,
@@ -87,7 +86,7 @@ def add_group_containing_group(
Creates a new containing group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param group_containing_group: (required)
:type group_containing_group: GroupContainingGroup
:param _request_timeout: timeout setting for this request. If one
@@ -138,7 +137,7 @@ def add_group_containing_group(
@validate_call
def add_group_containing_group_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
group_containing_group: GroupContainingGroup,
_request_timeout: Union[
None,
@@ -158,7 +157,7 @@ def add_group_containing_group_with_http_info(
Creates a new containing group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param group_containing_group: (required)
:type group_containing_group: GroupContainingGroup
:param _request_timeout: timeout setting for this request. If one
@@ -209,7 +208,7 @@ def add_group_containing_group_with_http_info(
@validate_call
def add_group_containing_group_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
group_containing_group: GroupContainingGroup,
_request_timeout: Union[
None,
@@ -229,7 +228,7 @@ def add_group_containing_group_without_preload_content(
Creates a new containing group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param group_containing_group: (required)
:type group_containing_group: GroupContainingGroup
:param _request_timeout: timeout setting for this request. If one
@@ -356,8 +355,8 @@ def _add_group_containing_group_serialize(
@validate_call
def add_group_resource(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_group_resource_request: Optional[AddGroupResourceRequest] = None,
_request_timeout: Union[
@@ -378,9 +377,9 @@ def add_group_resource(
Adds a resource to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param add_group_resource_request:
@@ -435,8 +434,8 @@ def add_group_resource(
@validate_call
def add_group_resource_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_group_resource_request: Optional[AddGroupResourceRequest] = None,
_request_timeout: Union[
@@ -457,9 +456,9 @@ def add_group_resource_with_http_info(
Adds a resource to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param add_group_resource_request:
@@ -514,8 +513,8 @@ def add_group_resource_with_http_info(
@validate_call
def add_group_resource_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_group_resource_request: Optional[AddGroupResourceRequest] = None,
_request_timeout: Union[
@@ -536,9 +535,9 @@ def add_group_resource_without_preload_content(
Adds a resource to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param add_group_resource_request:
@@ -677,8 +676,8 @@ def _add_group_resource_serialize(
@validate_call
def add_group_user(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to add.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to add.")],
duration_minutes: Annotated[Optional[Annotated[int, Field(le=525960, strict=True)]], Field(description="The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite.")] = None,
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_group_user_request: Optional[AddGroupUserRequest] = None,
@@ -700,9 +699,9 @@ def add_group_user(
Adds a user to this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of the user to add. (required)
- :type user_id: UUID
+ :type user_id: str
:param duration_minutes: The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite.
:type duration_minutes: int
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
@@ -760,8 +759,8 @@ def add_group_user(
@validate_call
def add_group_user_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to add.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to add.")],
duration_minutes: Annotated[Optional[Annotated[int, Field(le=525960, strict=True)]], Field(description="The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite.")] = None,
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_group_user_request: Optional[AddGroupUserRequest] = None,
@@ -783,9 +782,9 @@ def add_group_user_with_http_info(
Adds a user to this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of the user to add. (required)
- :type user_id: UUID
+ :type user_id: str
:param duration_minutes: The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite.
:type duration_minutes: int
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
@@ -843,8 +842,8 @@ def add_group_user_with_http_info(
@validate_call
def add_group_user_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to add.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to add.")],
duration_minutes: Annotated[Optional[Annotated[int, Field(le=525960, strict=True)]], Field(description="The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite.")] = None,
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_group_user_request: Optional[AddGroupUserRequest] = None,
@@ -866,9 +865,9 @@ def add_group_user_without_preload_content(
Adds a user to this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of the user to add. (required)
- :type user_id: UUID
+ :type user_id: str
:param duration_minutes: The duration for which the group can be accessed (in minutes). Use 0 to set to indefinite.
:type duration_minutes: int
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
@@ -1289,7 +1288,7 @@ def _create_group_serialize(
@validate_call
def delete_group(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1308,7 +1307,7 @@ def delete_group(
Deletes a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1356,7 +1355,7 @@ def delete_group(
@validate_call
def delete_group_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1375,7 +1374,7 @@ def delete_group_with_http_info(
Deletes a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1423,7 +1422,7 @@ def delete_group_with_http_info(
@validate_call
def delete_group_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1442,7 +1441,7 @@ def delete_group_without_preload_content(
Deletes a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1543,8 +1542,8 @@ def _delete_group_serialize(
@validate_call
def delete_group_user(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of a user to remove from this group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of a user to remove from this group.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1564,9 +1563,9 @@ def delete_group_user(
Removes a user's access from this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of a user to remove from this group. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1618,8 +1617,8 @@ def delete_group_user(
@validate_call
def delete_group_user_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of a user to remove from this group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of a user to remove from this group.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1639,9 +1638,9 @@ def delete_group_user_with_http_info(
Removes a user's access from this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of a user to remove from this group. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1693,8 +1692,8 @@ def delete_group_user_with_http_info(
@validate_call
def delete_group_user_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of a user to remove from this group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of a user to remove from this group.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1714,9 +1713,9 @@ def delete_group_user_without_preload_content(
Removes a user's access from this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of a user to remove from this group. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1829,7 +1828,7 @@ def _delete_group_user_serialize(
@validate_call
def get_group(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1848,7 +1847,7 @@ def get_group(
Returns a `Group` object.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1896,7 +1895,7 @@ def get_group(
@validate_call
def get_group_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1915,7 +1914,7 @@ def get_group_with_http_info(
Returns a `Group` object.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1963,7 +1962,7 @@ def get_group_with_http_info(
@validate_call
def get_group_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1982,7 +1981,7 @@ def get_group_without_preload_content(
Returns a `Group` object.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2090,8 +2089,8 @@ def _get_group_serialize(
@validate_call
def get_group_containing_group(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- containing_group_id: Annotated[UUID, Field(description="The ID of the containing group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ containing_group_id: Annotated[StrictStr, Field(description="The ID of the containing group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2110,9 +2109,9 @@ def get_group_containing_group(
Gets a specific containing group for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param containing_group_id: The ID of the containing group. (required)
- :type containing_group_id: UUID
+ :type containing_group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2161,8 +2160,8 @@ def get_group_containing_group(
@validate_call
def get_group_containing_group_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- containing_group_id: Annotated[UUID, Field(description="The ID of the containing group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ containing_group_id: Annotated[StrictStr, Field(description="The ID of the containing group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2181,9 +2180,9 @@ def get_group_containing_group_with_http_info(
Gets a specific containing group for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param containing_group_id: The ID of the containing group. (required)
- :type containing_group_id: UUID
+ :type containing_group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2232,8 +2231,8 @@ def get_group_containing_group_with_http_info(
@validate_call
def get_group_containing_group_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- containing_group_id: Annotated[UUID, Field(description="The ID of the containing group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ containing_group_id: Annotated[StrictStr, Field(description="The ID of the containing group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2252,9 +2251,9 @@ def get_group_containing_group_without_preload_content(
Gets a specific containing group for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param containing_group_id: The ID of the containing group. (required)
- :type containing_group_id: UUID
+ :type containing_group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2366,7 +2365,8 @@ def _get_group_containing_group_serialize(
@validate_call
def get_group_containing_groups(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The access level's remote ID to filter by.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2385,7 +2385,9 @@ def get_group_containing_groups(
Gets the list of groups that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
+ :param access_level_remote_id: The access level's remote ID to filter by.
+ :type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2410,6 +2412,7 @@ def get_group_containing_groups(
_param = self._get_group_containing_groups_serialize(
group_id=group_id,
+ access_level_remote_id=access_level_remote_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -2433,7 +2436,8 @@ def get_group_containing_groups(
@validate_call
def get_group_containing_groups_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The access level's remote ID to filter by.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2452,7 +2456,9 @@ def get_group_containing_groups_with_http_info(
Gets the list of groups that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
+ :param access_level_remote_id: The access level's remote ID to filter by.
+ :type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2477,6 +2483,7 @@ def get_group_containing_groups_with_http_info(
_param = self._get_group_containing_groups_serialize(
group_id=group_id,
+ access_level_remote_id=access_level_remote_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -2500,7 +2507,8 @@ def get_group_containing_groups_with_http_info(
@validate_call
def get_group_containing_groups_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The access level's remote ID to filter by.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2519,7 +2527,9 @@ def get_group_containing_groups_without_preload_content(
Gets the list of groups that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
+ :param access_level_remote_id: The access level's remote ID to filter by.
+ :type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2544,6 +2554,7 @@ def get_group_containing_groups_without_preload_content(
_param = self._get_group_containing_groups_serialize(
group_id=group_id,
+ access_level_remote_id=access_level_remote_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -2563,6 +2574,7 @@ def get_group_containing_groups_without_preload_content(
def _get_group_containing_groups_serialize(
self,
group_id,
+ access_level_remote_id,
_request_auth,
_content_type,
_headers,
@@ -2587,6 +2599,10 @@ def _get_group_containing_groups_serialize(
if group_id is not None:
_path_params['group_id'] = group_id
# process the query parameters
+ if access_level_remote_id is not None:
+
+ _query_params.append(('access_level_remote_id', access_level_remote_id))
+
# process the header parameters
# process the form parameters
# process the body parameter
@@ -2627,7 +2643,7 @@ def _get_group_containing_groups_serialize(
@validate_call
def get_group_message_channels(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2646,7 +2662,7 @@ def get_group_message_channels(
Gets the list of audit and reviewer message channels attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2694,7 +2710,7 @@ def get_group_message_channels(
@validate_call
def get_group_message_channels_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2713,7 +2729,7 @@ def get_group_message_channels_with_http_info(
Gets the list of audit and reviewer message channels attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2761,7 +2777,7 @@ def get_group_message_channels_with_http_info(
@validate_call
def get_group_message_channels_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2780,7 +2796,7 @@ def get_group_message_channels_without_preload_content(
Gets the list of audit and reviewer message channels attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2888,7 +2904,7 @@ def _get_group_message_channels_serialize(
@validate_call
def get_group_on_call_schedules(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2907,7 +2923,7 @@ def get_group_on_call_schedules(
Gets the list of on call schedules attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2955,7 +2971,7 @@ def get_group_on_call_schedules(
@validate_call
def get_group_on_call_schedules_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2974,7 +2990,7 @@ def get_group_on_call_schedules_with_http_info(
Gets the list of on call schedules attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3022,7 +3038,7 @@ def get_group_on_call_schedules_with_http_info(
@validate_call
def get_group_on_call_schedules_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3041,7 +3057,7 @@ def get_group_on_call_schedules_without_preload_content(
Gets the list of on call schedules attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3149,7 +3165,7 @@ def _get_group_on_call_schedules_serialize(
@validate_call
def get_group_resources(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3168,7 +3184,7 @@ def get_group_resources(
Gets the list of resources that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3216,7 +3232,7 @@ def get_group_resources(
@validate_call
def get_group_resources_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3235,7 +3251,7 @@ def get_group_resources_with_http_info(
Gets the list of resources that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3283,7 +3299,7 @@ def get_group_resources_with_http_info(
@validate_call
def get_group_resources_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3302,7 +3318,7 @@ def get_group_resources_without_preload_content(
Gets the list of resources that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3410,7 +3426,7 @@ def _get_group_resources_serialize(
@validate_call
def get_group_reviewer_stages(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3429,7 +3445,7 @@ def get_group_reviewer_stages(
Gets the list of reviewer stages for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3478,7 +3494,7 @@ def get_group_reviewer_stages(
@validate_call
def get_group_reviewer_stages_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3497,7 +3513,7 @@ def get_group_reviewer_stages_with_http_info(
Gets the list of reviewer stages for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3546,7 +3562,7 @@ def get_group_reviewer_stages_with_http_info(
@validate_call
def get_group_reviewer_stages_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3565,7 +3581,7 @@ def get_group_reviewer_stages_without_preload_content(
Gets the list of reviewer stages for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3674,7 +3690,7 @@ def _get_group_reviewer_stages_serialize(
@validate_call
def get_group_reviewers(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3687,13 +3703,13 @@ def get_group_reviewers(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""(Deprecated) get_group_reviewers
Gets the list of owner IDs of the reviewers for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3726,7 +3742,7 @@ def get_group_reviewers(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -3742,7 +3758,7 @@ def get_group_reviewers(
@validate_call
def get_group_reviewers_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3755,13 +3771,13 @@ def get_group_reviewers_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""(Deprecated) get_group_reviewers
Gets the list of owner IDs of the reviewers for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3794,7 +3810,7 @@ def get_group_reviewers_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -3810,7 +3826,7 @@ def get_group_reviewers_with_http_info(
@validate_call
def get_group_reviewers_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3829,7 +3845,7 @@ def get_group_reviewers_without_preload_content(
Gets the list of owner IDs of the reviewers for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3862,7 +3878,7 @@ def get_group_reviewers_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -3938,7 +3954,7 @@ def _get_group_reviewers_serialize(
@validate_call
def get_group_tags(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group whose tags to return.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3957,7 +3973,7 @@ def get_group_tags(
Returns all tags applied to the group.
:param group_id: The ID of the group whose tags to return. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4005,7 +4021,7 @@ def get_group_tags(
@validate_call
def get_group_tags_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group whose tags to return.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4024,7 +4040,7 @@ def get_group_tags_with_http_info(
Returns all tags applied to the group.
:param group_id: The ID of the group whose tags to return. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4072,7 +4088,7 @@ def get_group_tags_with_http_info(
@validate_call
def get_group_tags_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group whose tags to return.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4091,7 +4107,7 @@ def get_group_tags_without_preload_content(
Returns all tags applied to the group.
:param group_id: The ID of the group whose tags to return. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4199,7 +4215,7 @@ def _get_group_tags_serialize(
@validate_call
def get_group_users(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
_request_timeout: Union[
@@ -4220,7 +4236,7 @@ def get_group_users(
Gets the list of users for this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -4274,7 +4290,7 @@ def get_group_users(
@validate_call
def get_group_users_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
_request_timeout: Union[
@@ -4295,7 +4311,7 @@ def get_group_users_with_http_info(
Gets the list of users for this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -4349,7 +4365,7 @@ def get_group_users_with_http_info(
@validate_call
def get_group_users_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
_request_timeout: Union[
@@ -4370,7 +4386,7 @@ def get_group_users_without_preload_content(
Gets the list of users for this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -4494,7 +4510,7 @@ def _get_group_users_serialize(
@validate_call
def get_group_visibility(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4513,7 +4529,7 @@ def get_group_visibility(
Gets the visibility of this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4561,7 +4577,7 @@ def get_group_visibility(
@validate_call
def get_group_visibility_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4580,7 +4596,7 @@ def get_group_visibility_with_http_info(
Gets the visibility of this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4628,7 +4644,7 @@ def get_group_visibility_with_http_info(
@validate_call
def get_group_visibility_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4647,7 +4663,7 @@ def get_group_visibility_without_preload_content(
Gets the visibility of this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4758,8 +4774,9 @@ def get_groups(
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
group_type_filter: Annotated[Optional[GroupTypeEnum], Field(description="The group type to filter by.")] = None,
- group_ids: Annotated[Optional[List[UUID]], Field(description="The group ids to filter by.")] = None,
+ group_ids: Annotated[Optional[List[StrictStr]], Field(description="The group ids to filter by.")] = None,
group_name: Annotated[Optional[StrictStr], Field(description="Group name.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only groups that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4784,9 +4801,11 @@ def get_groups(
:param group_type_filter: The group type to filter by.
:type group_type_filter: GroupTypeEnum
:param group_ids: The group ids to filter by.
- :type group_ids: List[UUID]
+ :type group_ids: List[str]
:param group_name: Group name.
:type group_name: str
+ :param tag_ids: The IDs of the tags to filter by. Returns only groups that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4815,6 +4834,7 @@ def get_groups(
group_type_filter=group_type_filter,
group_ids=group_ids,
group_name=group_name,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -4841,8 +4861,9 @@ def get_groups_with_http_info(
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
group_type_filter: Annotated[Optional[GroupTypeEnum], Field(description="The group type to filter by.")] = None,
- group_ids: Annotated[Optional[List[UUID]], Field(description="The group ids to filter by.")] = None,
+ group_ids: Annotated[Optional[List[StrictStr]], Field(description="The group ids to filter by.")] = None,
group_name: Annotated[Optional[StrictStr], Field(description="Group name.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only groups that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4867,9 +4888,11 @@ def get_groups_with_http_info(
:param group_type_filter: The group type to filter by.
:type group_type_filter: GroupTypeEnum
:param group_ids: The group ids to filter by.
- :type group_ids: List[UUID]
+ :type group_ids: List[str]
:param group_name: Group name.
:type group_name: str
+ :param tag_ids: The IDs of the tags to filter by. Returns only groups that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4898,6 +4921,7 @@ def get_groups_with_http_info(
group_type_filter=group_type_filter,
group_ids=group_ids,
group_name=group_name,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -4924,8 +4948,9 @@ def get_groups_without_preload_content(
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
group_type_filter: Annotated[Optional[GroupTypeEnum], Field(description="The group type to filter by.")] = None,
- group_ids: Annotated[Optional[List[UUID]], Field(description="The group ids to filter by.")] = None,
+ group_ids: Annotated[Optional[List[StrictStr]], Field(description="The group ids to filter by.")] = None,
group_name: Annotated[Optional[StrictStr], Field(description="Group name.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only groups that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4950,9 +4975,11 @@ def get_groups_without_preload_content(
:param group_type_filter: The group type to filter by.
:type group_type_filter: GroupTypeEnum
:param group_ids: The group ids to filter by.
- :type group_ids: List[UUID]
+ :type group_ids: List[str]
:param group_name: Group name.
:type group_name: str
+ :param tag_ids: The IDs of the tags to filter by. Returns only groups that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4981,6 +5008,7 @@ def get_groups_without_preload_content(
group_type_filter=group_type_filter,
group_ids=group_ids,
group_name=group_name,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -5004,6 +5032,7 @@ def _get_groups_serialize(
group_type_filter,
group_ids,
group_name,
+ tag_ids,
_request_auth,
_content_type,
_headers,
@@ -5014,6 +5043,7 @@ def _get_groups_serialize(
_collection_formats: Dict[str, str] = {
'group_ids': 'csv',
+ 'tag_ids': 'multi',
}
_path_params: Dict[str, str] = {}
@@ -5047,6 +5077,10 @@ def _get_groups_serialize(
_query_params.append(('group_name', group_name))
+ if tag_ids is not None:
+
+ _query_params.append(('tag_ids', tag_ids))
+
# process the header parameters
# process the form parameters
# process the body parameter
@@ -5087,7 +5121,7 @@ def _get_groups_serialize(
@validate_call
def get_user_groups(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user whose groups to return.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose groups to return.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
_request_timeout: Union[
@@ -5108,7 +5142,7 @@ def get_user_groups(
Returns all groups that the user is a member of.
:param user_id: The ID of the user whose groups to return. (required)
- :type user_id: UUID
+ :type user_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -5162,7 +5196,7 @@ def get_user_groups(
@validate_call
def get_user_groups_with_http_info(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user whose groups to return.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose groups to return.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
_request_timeout: Union[
@@ -5183,7 +5217,7 @@ def get_user_groups_with_http_info(
Returns all groups that the user is a member of.
:param user_id: The ID of the user whose groups to return. (required)
- :type user_id: UUID
+ :type user_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -5237,7 +5271,7 @@ def get_user_groups_with_http_info(
@validate_call
def get_user_groups_without_preload_content(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user whose groups to return.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose groups to return.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
_request_timeout: Union[
@@ -5258,7 +5292,7 @@ def get_user_groups_without_preload_content(
Returns all groups that the user is a member of.
:param user_id: The ID of the user whose groups to return. (required)
- :type user_id: UUID
+ :type user_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -5382,8 +5416,8 @@ def _get_user_groups_serialize(
@validate_call
def remove_group_containing_group(
self,
- group_id: Annotated[UUID, Field(description="The ID of the member group to remove.")],
- containing_group_id: Annotated[UUID, Field(description="The ID of the containing group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the member group to remove.")],
+ containing_group_id: Annotated[StrictStr, Field(description="The ID of the containing group.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the member group's access level to filter by.")] = None,
_request_timeout: Union[
None,
@@ -5403,9 +5437,9 @@ def remove_group_containing_group(
Removes a containing group from a group.
:param group_id: The ID of the member group to remove. (required)
- :type group_id: UUID
+ :type group_id: str
:param containing_group_id: The ID of the containing group. (required)
- :type containing_group_id: UUID
+ :type containing_group_id: str
:param access_level_remote_id: The remote ID of the member group's access level to filter by.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -5457,8 +5491,8 @@ def remove_group_containing_group(
@validate_call
def remove_group_containing_group_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the member group to remove.")],
- containing_group_id: Annotated[UUID, Field(description="The ID of the containing group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the member group to remove.")],
+ containing_group_id: Annotated[StrictStr, Field(description="The ID of the containing group.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the member group's access level to filter by.")] = None,
_request_timeout: Union[
None,
@@ -5478,9 +5512,9 @@ def remove_group_containing_group_with_http_info(
Removes a containing group from a group.
:param group_id: The ID of the member group to remove. (required)
- :type group_id: UUID
+ :type group_id: str
:param containing_group_id: The ID of the containing group. (required)
- :type containing_group_id: UUID
+ :type containing_group_id: str
:param access_level_remote_id: The remote ID of the member group's access level to filter by.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -5532,8 +5566,8 @@ def remove_group_containing_group_with_http_info(
@validate_call
def remove_group_containing_group_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the member group to remove.")],
- containing_group_id: Annotated[UUID, Field(description="The ID of the containing group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the member group to remove.")],
+ containing_group_id: Annotated[StrictStr, Field(description="The ID of the containing group.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the member group's access level to filter by.")] = None,
_request_timeout: Union[
None,
@@ -5553,9 +5587,9 @@ def remove_group_containing_group_without_preload_content(
Removes a containing group from a group.
:param group_id: The ID of the member group to remove. (required)
- :type group_id: UUID
+ :type group_id: str
:param containing_group_id: The ID of the containing group. (required)
- :type containing_group_id: UUID
+ :type containing_group_id: str
:param access_level_remote_id: The remote ID of the member group's access level to filter by.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -5668,7 +5702,7 @@ def _remove_group_containing_group_serialize(
@validate_call
def set_group_message_channels(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
message_channel_id_list: MessageChannelIDList,
_request_timeout: Union[
None,
@@ -5682,13 +5716,13 @@ def set_group_message_channels(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""set_group_message_channels
Sets the list of audit message channels attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param message_channel_id_list: (required)
:type message_channel_id_list: MessageChannelIDList
:param _request_timeout: timeout setting for this request. If one
@@ -5723,7 +5757,7 @@ def set_group_message_channels(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -5739,7 +5773,7 @@ def set_group_message_channels(
@validate_call
def set_group_message_channels_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
message_channel_id_list: MessageChannelIDList,
_request_timeout: Union[
None,
@@ -5753,13 +5787,13 @@ def set_group_message_channels_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""set_group_message_channels
Sets the list of audit message channels attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param message_channel_id_list: (required)
:type message_channel_id_list: MessageChannelIDList
:param _request_timeout: timeout setting for this request. If one
@@ -5794,7 +5828,7 @@ def set_group_message_channels_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -5810,7 +5844,7 @@ def set_group_message_channels_with_http_info(
@validate_call
def set_group_message_channels_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
message_channel_id_list: MessageChannelIDList,
_request_timeout: Union[
None,
@@ -5830,7 +5864,7 @@ def set_group_message_channels_without_preload_content(
Sets the list of audit message channels attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param message_channel_id_list: (required)
:type message_channel_id_list: MessageChannelIDList
:param _request_timeout: timeout setting for this request. If one
@@ -5865,7 +5899,7 @@ def set_group_message_channels_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -5957,7 +5991,7 @@ def _set_group_message_channels_serialize(
@validate_call
def set_group_on_call_schedules(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
on_call_schedule_id_list: OnCallScheduleIDList,
_request_timeout: Union[
None,
@@ -5971,13 +6005,13 @@ def set_group_on_call_schedules(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""set_group_on_call_schedules
Sets the list of on call schedules attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param on_call_schedule_id_list: (required)
:type on_call_schedule_id_list: OnCallScheduleIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6012,7 +6046,7 @@ def set_group_on_call_schedules(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6028,7 +6062,7 @@ def set_group_on_call_schedules(
@validate_call
def set_group_on_call_schedules_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
on_call_schedule_id_list: OnCallScheduleIDList,
_request_timeout: Union[
None,
@@ -6042,13 +6076,13 @@ def set_group_on_call_schedules_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""set_group_on_call_schedules
Sets the list of on call schedules attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param on_call_schedule_id_list: (required)
:type on_call_schedule_id_list: OnCallScheduleIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6083,7 +6117,7 @@ def set_group_on_call_schedules_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6099,7 +6133,7 @@ def set_group_on_call_schedules_with_http_info(
@validate_call
def set_group_on_call_schedules_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
on_call_schedule_id_list: OnCallScheduleIDList,
_request_timeout: Union[
None,
@@ -6119,7 +6153,7 @@ def set_group_on_call_schedules_without_preload_content(
Sets the list of on call schedules attached to a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param on_call_schedule_id_list: (required)
:type on_call_schedule_id_list: OnCallScheduleIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6154,7 +6188,7 @@ def set_group_on_call_schedules_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6246,7 +6280,7 @@ def _set_group_on_call_schedules_serialize(
@validate_call
def set_group_resources(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
update_group_resources_info: UpdateGroupResourcesInfo,
_request_timeout: Union[
None,
@@ -6266,7 +6300,7 @@ def set_group_resources(
Sets the list of resources that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param update_group_resources_info: (required)
:type update_group_resources_info: UpdateGroupResourcesInfo
:param _request_timeout: timeout setting for this request. If one
@@ -6317,7 +6351,7 @@ def set_group_resources(
@validate_call
def set_group_resources_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
update_group_resources_info: UpdateGroupResourcesInfo,
_request_timeout: Union[
None,
@@ -6337,7 +6371,7 @@ def set_group_resources_with_http_info(
Sets the list of resources that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param update_group_resources_info: (required)
:type update_group_resources_info: UpdateGroupResourcesInfo
:param _request_timeout: timeout setting for this request. If one
@@ -6388,7 +6422,7 @@ def set_group_resources_with_http_info(
@validate_call
def set_group_resources_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
update_group_resources_info: UpdateGroupResourcesInfo,
_request_timeout: Union[
None,
@@ -6408,7 +6442,7 @@ def set_group_resources_without_preload_content(
Sets the list of resources that the group gives access to.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param update_group_resources_info: (required)
:type update_group_resources_info: UpdateGroupResourcesInfo
:param _request_timeout: timeout setting for this request. If one
@@ -6528,7 +6562,7 @@ def _set_group_resources_serialize(
@validate_call
def set_group_reviewer_stages(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
reviewer_stage_list: ReviewerStageList,
_request_timeout: Union[
None,
@@ -6548,7 +6582,7 @@ def set_group_reviewer_stages(
Sets the list of reviewer stages for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param reviewer_stage_list: (required)
:type reviewer_stage_list: ReviewerStageList
:param _request_timeout: timeout setting for this request. If one
@@ -6600,7 +6634,7 @@ def set_group_reviewer_stages(
@validate_call
def set_group_reviewer_stages_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
reviewer_stage_list: ReviewerStageList,
_request_timeout: Union[
None,
@@ -6620,7 +6654,7 @@ def set_group_reviewer_stages_with_http_info(
Sets the list of reviewer stages for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param reviewer_stage_list: (required)
:type reviewer_stage_list: ReviewerStageList
:param _request_timeout: timeout setting for this request. If one
@@ -6672,7 +6706,7 @@ def set_group_reviewer_stages_with_http_info(
@validate_call
def set_group_reviewer_stages_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
reviewer_stage_list: ReviewerStageList,
_request_timeout: Union[
None,
@@ -6692,7 +6726,7 @@ def set_group_reviewer_stages_without_preload_content(
Sets the list of reviewer stages for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param reviewer_stage_list: (required)
:type reviewer_stage_list: ReviewerStageList
:param _request_timeout: timeout setting for this request. If one
@@ -6820,7 +6854,7 @@ def _set_group_reviewer_stages_serialize(
@validate_call
def set_group_reviewers(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
reviewer_id_list: ReviewerIDList,
_request_timeout: Union[
None,
@@ -6834,13 +6868,13 @@ def set_group_reviewers(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""(Deprecated) set_group_reviewers
Sets the list of reviewers for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param reviewer_id_list: (required)
:type reviewer_id_list: ReviewerIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6876,7 +6910,7 @@ def set_group_reviewers(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6892,7 +6926,7 @@ def set_group_reviewers(
@validate_call
def set_group_reviewers_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
reviewer_id_list: ReviewerIDList,
_request_timeout: Union[
None,
@@ -6906,13 +6940,13 @@ def set_group_reviewers_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""(Deprecated) set_group_reviewers
Sets the list of reviewers for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param reviewer_id_list: (required)
:type reviewer_id_list: ReviewerIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6948,7 +6982,7 @@ def set_group_reviewers_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6964,7 +6998,7 @@ def set_group_reviewers_with_http_info(
@validate_call
def set_group_reviewers_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
reviewer_id_list: ReviewerIDList,
_request_timeout: Union[
None,
@@ -6984,7 +7018,7 @@ def set_group_reviewers_without_preload_content(
Sets the list of reviewers for a group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param reviewer_id_list: (required)
:type reviewer_id_list: ReviewerIDList
:param _request_timeout: timeout setting for this request. If one
@@ -7020,7 +7054,7 @@ def set_group_reviewers_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -7112,7 +7146,7 @@ def _set_group_reviewers_serialize(
@validate_call
def set_group_visibility(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -7132,7 +7166,7 @@ def set_group_visibility(
Sets the visibility of this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -7183,7 +7217,7 @@ def set_group_visibility(
@validate_call
def set_group_visibility_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -7203,7 +7237,7 @@ def set_group_visibility_with_http_info(
Sets the visibility of this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -7254,7 +7288,7 @@ def set_group_visibility_with_http_info(
@validate_call
def set_group_visibility_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -7274,7 +7308,7 @@ def set_group_visibility_without_preload_content(
Sets the visibility of this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -7401,8 +7435,8 @@ def _set_group_visibility_serialize(
@validate_call
def update_group_user(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of the user whose access is being updated.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose access is being updated.")],
update_group_user_request: UpdateGroupUserRequest,
_request_timeout: Union[
None,
@@ -7422,9 +7456,9 @@ def update_group_user(
Updates a user's access level or duration in this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of the user whose access is being updated. (required)
- :type user_id: UUID
+ :type user_id: str
:param update_group_user_request: (required)
:type update_group_user_request: UpdateGroupUserRequest
:param _request_timeout: timeout setting for this request. If one
@@ -7476,8 +7510,8 @@ def update_group_user(
@validate_call
def update_group_user_with_http_info(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of the user whose access is being updated.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose access is being updated.")],
update_group_user_request: UpdateGroupUserRequest,
_request_timeout: Union[
None,
@@ -7497,9 +7531,9 @@ def update_group_user_with_http_info(
Updates a user's access level or duration in this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of the user whose access is being updated. (required)
- :type user_id: UUID
+ :type user_id: str
:param update_group_user_request: (required)
:type update_group_user_request: UpdateGroupUserRequest
:param _request_timeout: timeout setting for this request. If one
@@ -7551,8 +7585,8 @@ def update_group_user_with_http_info(
@validate_call
def update_group_user_without_preload_content(
self,
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
- user_id: Annotated[UUID, Field(description="The ID of the user whose access is being updated.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose access is being updated.")],
update_group_user_request: UpdateGroupUserRequest,
_request_timeout: Union[
None,
@@ -7572,9 +7606,9 @@ def update_group_user_without_preload_content(
Updates a user's access level or duration in this group.
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param user_id: The ID of the user whose access is being updated. (required)
- :type user_id: UUID
+ :type user_id: str
:param update_group_user_request: (required)
:type update_group_user_request: UpdateGroupUserRequest
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/idp_group_mappings_api.py b/opal_security/api/idp_group_mappings_api.py
index d563157..c560bb6 100644
--- a/opal_security/api/idp_group_mappings_api.py
+++ b/opal_security/api/idp_group_mappings_api.py
@@ -17,10 +17,9 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field
+from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_idp_group_mapping_request import CreateIdpGroupMappingRequest
from opal_security.models.idp_group_mapping import IdpGroupMapping
from opal_security.models.idp_group_mapping_list import IdpGroupMappingList
@@ -47,8 +46,8 @@ def __init__(self, api_client=None) -> None:
@validate_call
def create_idp_group_mapping(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
create_idp_group_mapping_request: Optional[CreateIdpGroupMappingRequest] = None,
_request_timeout: Union[
None,
@@ -68,9 +67,9 @@ def create_idp_group_mapping(
Creates or updates an individual `IdpGroupMapping` object (upsert operation). **Behavior:** - If the mapping doesn't exist, it will be created with the provided values - If the mapping exists, only the fields provided in the request will be updated
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param create_idp_group_mapping_request:
:type create_idp_group_mapping_request: CreateIdpGroupMappingRequest
:param _request_timeout: timeout setting for this request. If one
@@ -122,8 +121,8 @@ def create_idp_group_mapping(
@validate_call
def create_idp_group_mapping_with_http_info(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
create_idp_group_mapping_request: Optional[CreateIdpGroupMappingRequest] = None,
_request_timeout: Union[
None,
@@ -143,9 +142,9 @@ def create_idp_group_mapping_with_http_info(
Creates or updates an individual `IdpGroupMapping` object (upsert operation). **Behavior:** - If the mapping doesn't exist, it will be created with the provided values - If the mapping exists, only the fields provided in the request will be updated
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param create_idp_group_mapping_request:
:type create_idp_group_mapping_request: CreateIdpGroupMappingRequest
:param _request_timeout: timeout setting for this request. If one
@@ -197,8 +196,8 @@ def create_idp_group_mapping_with_http_info(
@validate_call
def create_idp_group_mapping_without_preload_content(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
create_idp_group_mapping_request: Optional[CreateIdpGroupMappingRequest] = None,
_request_timeout: Union[
None,
@@ -218,9 +217,9 @@ def create_idp_group_mapping_without_preload_content(
Creates or updates an individual `IdpGroupMapping` object (upsert operation). **Behavior:** - If the mapping doesn't exist, it will be created with the provided values - If the mapping exists, only the fields provided in the request will be updated
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param create_idp_group_mapping_request:
:type create_idp_group_mapping_request: CreateIdpGroupMappingRequest
:param _request_timeout: timeout setting for this request. If one
@@ -351,8 +350,8 @@ def _create_idp_group_mapping_serialize(
@validate_call
def delete_idp_group_mappings(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -371,9 +370,9 @@ def delete_idp_group_mappings(
Deletes an `IdpGroupMapping` object.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -422,8 +421,8 @@ def delete_idp_group_mappings(
@validate_call
def delete_idp_group_mappings_with_http_info(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -442,9 +441,9 @@ def delete_idp_group_mappings_with_http_info(
Deletes an `IdpGroupMapping` object.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -493,8 +492,8 @@ def delete_idp_group_mappings_with_http_info(
@validate_call
def delete_idp_group_mappings_without_preload_content(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -513,9 +512,9 @@ def delete_idp_group_mappings_without_preload_content(
Deletes an `IdpGroupMapping` object.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -620,8 +619,8 @@ def _delete_idp_group_mappings_serialize(
@validate_call
def get_idp_group_mapping(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -640,9 +639,9 @@ def get_idp_group_mapping(
Gets an `IdpGroupMapping` object for an Okta app and group.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -691,8 +690,8 @@ def get_idp_group_mapping(
@validate_call
def get_idp_group_mapping_with_http_info(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -711,9 +710,9 @@ def get_idp_group_mapping_with_http_info(
Gets an `IdpGroupMapping` object for an Okta app and group.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -762,8 +761,8 @@ def get_idp_group_mapping_with_http_info(
@validate_call
def get_idp_group_mapping_without_preload_content(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
- group_id: Annotated[UUID, Field(description="The ID of the group.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -782,9 +781,9 @@ def get_idp_group_mapping_without_preload_content(
Gets an `IdpGroupMapping` object for an Okta app and group.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param group_id: The ID of the group. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -896,7 +895,7 @@ def _get_idp_group_mapping_serialize(
@validate_call
def get_idp_group_mappings(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -915,7 +914,7 @@ def get_idp_group_mappings(
Returns the configured set of available `IdpGroupMapping` objects for an Okta app.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -963,7 +962,7 @@ def get_idp_group_mappings(
@validate_call
def get_idp_group_mappings_with_http_info(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -982,7 +981,7 @@ def get_idp_group_mappings_with_http_info(
Returns the configured set of available `IdpGroupMapping` objects for an Okta app.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1030,7 +1029,7 @@ def get_idp_group_mappings_with_http_info(
@validate_call
def get_idp_group_mappings_without_preload_content(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1049,7 +1048,7 @@ def get_idp_group_mappings_without_preload_content(
Returns the configured set of available `IdpGroupMapping` objects for an Okta app.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1157,7 +1156,7 @@ def _get_idp_group_mappings_serialize(
@validate_call
def update_idp_group_mappings(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
update_idp_group_mappings_request: UpdateIdpGroupMappingsRequest,
_request_timeout: Union[
None,
@@ -1177,7 +1176,7 @@ def update_idp_group_mappings(
Updates the list of available `IdpGroupMapping` objects for an Okta app.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param update_idp_group_mappings_request: (required)
:type update_idp_group_mappings_request: UpdateIdpGroupMappingsRequest
:param _request_timeout: timeout setting for this request. If one
@@ -1228,7 +1227,7 @@ def update_idp_group_mappings(
@validate_call
def update_idp_group_mappings_with_http_info(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
update_idp_group_mappings_request: UpdateIdpGroupMappingsRequest,
_request_timeout: Union[
None,
@@ -1248,7 +1247,7 @@ def update_idp_group_mappings_with_http_info(
Updates the list of available `IdpGroupMapping` objects for an Okta app.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param update_idp_group_mappings_request: (required)
:type update_idp_group_mappings_request: UpdateIdpGroupMappingsRequest
:param _request_timeout: timeout setting for this request. If one
@@ -1299,7 +1298,7 @@ def update_idp_group_mappings_with_http_info(
@validate_call
def update_idp_group_mappings_without_preload_content(
self,
- app_resource_id: Annotated[UUID, Field(description="The ID of the Okta app.")],
+ app_resource_id: Annotated[StrictStr, Field(description="The ID of the Okta app.")],
update_idp_group_mappings_request: UpdateIdpGroupMappingsRequest,
_request_timeout: Union[
None,
@@ -1319,7 +1318,7 @@ def update_idp_group_mappings_without_preload_content(
Updates the list of available `IdpGroupMapping` objects for an Okta app.
:param app_resource_id: The ID of the Okta app. (required)
- :type app_resource_id: UUID
+ :type app_resource_id: str
:param update_idp_group_mappings_request: (required)
:type update_idp_group_mappings_request: UpdateIdpGroupMappingsRequest
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/message_channels_api.py b/opal_security/api/message_channels_api.py
index ca5fbe3..b5470cb 100644
--- a/opal_security/api/message_channels_api.py
+++ b/opal_security/api/message_channels_api.py
@@ -17,9 +17,8 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field
+from pydantic import Field, StrictStr
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_message_channel_info import CreateMessageChannelInfo
from opal_security.models.message_channel import MessageChannel
from opal_security.models.message_channel_list import MessageChannelList
@@ -319,7 +318,7 @@ def _create_message_channel_serialize(
@validate_call
def get_message_channel(
self,
- message_channel_id: Annotated[UUID, Field(description="The ID of the message_channel.")],
+ message_channel_id: Annotated[StrictStr, Field(description="The ID of the message_channel.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -338,7 +337,7 @@ def get_message_channel(
Gets a `MessageChannel` object.
:param message_channel_id: The ID of the message_channel. (required)
- :type message_channel_id: UUID
+ :type message_channel_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -386,7 +385,7 @@ def get_message_channel(
@validate_call
def get_message_channel_with_http_info(
self,
- message_channel_id: Annotated[UUID, Field(description="The ID of the message_channel.")],
+ message_channel_id: Annotated[StrictStr, Field(description="The ID of the message_channel.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -405,7 +404,7 @@ def get_message_channel_with_http_info(
Gets a `MessageChannel` object.
:param message_channel_id: The ID of the message_channel. (required)
- :type message_channel_id: UUID
+ :type message_channel_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -453,7 +452,7 @@ def get_message_channel_with_http_info(
@validate_call
def get_message_channel_without_preload_content(
self,
- message_channel_id: Annotated[UUID, Field(description="The ID of the message_channel.")],
+ message_channel_id: Annotated[StrictStr, Field(description="The ID of the message_channel.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -472,7 +471,7 @@ def get_message_channel_without_preload_content(
Gets a `MessageChannel` object.
:param message_channel_id: The ID of the message_channel. (required)
- :type message_channel_id: UUID
+ :type message_channel_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/on_call_schedules_api.py b/opal_security/api/on_call_schedules_api.py
index 79068a6..c52f8df 100644
--- a/opal_security/api/on_call_schedules_api.py
+++ b/opal_security/api/on_call_schedules_api.py
@@ -17,9 +17,8 @@
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
-from pydantic import Field
+from pydantic import Field, StrictStr
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_on_call_schedule_info import CreateOnCallScheduleInfo
from opal_security.models.on_call_schedule import OnCallSchedule
from opal_security.models.on_call_schedule_list import OnCallScheduleList
@@ -319,7 +318,7 @@ def _create_on_call_schedule_serialize(
@validate_call
def get_on_call_schedule(
self,
- on_call_schedule_id: Annotated[UUID, Field(description="The ID of the on_call_schedule.")],
+ on_call_schedule_id: Annotated[StrictStr, Field(description="The ID of the on_call_schedule.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -338,7 +337,7 @@ def get_on_call_schedule(
Gets a `OnCallSchedule` object.
:param on_call_schedule_id: The ID of the on_call_schedule. (required)
- :type on_call_schedule_id: UUID
+ :type on_call_schedule_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -386,7 +385,7 @@ def get_on_call_schedule(
@validate_call
def get_on_call_schedule_with_http_info(
self,
- on_call_schedule_id: Annotated[UUID, Field(description="The ID of the on_call_schedule.")],
+ on_call_schedule_id: Annotated[StrictStr, Field(description="The ID of the on_call_schedule.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -405,7 +404,7 @@ def get_on_call_schedule_with_http_info(
Gets a `OnCallSchedule` object.
:param on_call_schedule_id: The ID of the on_call_schedule. (required)
- :type on_call_schedule_id: UUID
+ :type on_call_schedule_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -453,7 +452,7 @@ def get_on_call_schedule_with_http_info(
@validate_call
def get_on_call_schedule_without_preload_content(
self,
- on_call_schedule_id: Annotated[UUID, Field(description="The ID of the on_call_schedule.")],
+ on_call_schedule_id: Annotated[StrictStr, Field(description="The ID of the on_call_schedule.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -472,7 +471,7 @@ def get_on_call_schedule_without_preload_content(
Gets a `OnCallSchedule` object.
:param on_call_schedule_id: The ID of the on_call_schedule. (required)
- :type on_call_schedule_id: UUID
+ :type on_call_schedule_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/owners_api.py b/opal_security/api/owners_api.py
index 331351d..46248aa 100644
--- a/opal_security/api/owners_api.py
+++ b/opal_security/api/owners_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_owner_info import CreateOwnerInfo
from opal_security.models.owner import Owner
from opal_security.models.paginated_owners_list import PaginatedOwnersList
@@ -323,7 +322,7 @@ def _create_owner_serialize(
@validate_call
def delete_owner(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -342,7 +341,7 @@ def delete_owner(
Deletes an owner.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -390,7 +389,7 @@ def delete_owner(
@validate_call
def delete_owner_with_http_info(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -409,7 +408,7 @@ def delete_owner_with_http_info(
Deletes an owner.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -457,7 +456,7 @@ def delete_owner_with_http_info(
@validate_call
def delete_owner_without_preload_content(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -476,7 +475,7 @@ def delete_owner_without_preload_content(
Deletes an owner.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -577,7 +576,7 @@ def _delete_owner_serialize(
@validate_call
def get_owner(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -596,7 +595,7 @@ def get_owner(
Returns an `Owner` object.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -644,7 +643,7 @@ def get_owner(
@validate_call
def get_owner_with_http_info(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -663,7 +662,7 @@ def get_owner_with_http_info(
Returns an `Owner` object.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -711,7 +710,7 @@ def get_owner_with_http_info(
@validate_call
def get_owner_without_preload_content(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -730,7 +729,7 @@ def get_owner_without_preload_content(
Returns an `Owner` object.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1099,7 +1098,7 @@ def _get_owner_from_name_serialize(
@validate_call
def get_owner_users(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1118,7 +1117,7 @@ def get_owner_users(
Gets the list of users for this owner, in escalation priority order if applicable.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1166,7 +1165,7 @@ def get_owner_users(
@validate_call
def get_owner_users_with_http_info(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1185,7 +1184,7 @@ def get_owner_users_with_http_info(
Gets the list of users for this owner, in escalation priority order if applicable.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1233,7 +1232,7 @@ def get_owner_users_with_http_info(
@validate_call
def get_owner_users_without_preload_content(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1252,7 +1251,7 @@ def get_owner_users_without_preload_content(
Gets the list of users for this owner, in escalation priority order if applicable.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1657,7 +1656,7 @@ def _get_owners_serialize(
@validate_call
def set_owner_users(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
user_id_list: UserIDList,
_request_timeout: Union[
None,
@@ -1677,7 +1676,7 @@ def set_owner_users(
Sets the list of users for this owner. If escalation is enabled, the order of this list is the escalation priority order of the users. If the owner has a source group, adding or removing users from this list won't be possible.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param user_id_list: (required)
:type user_id_list: UserIDList
:param _request_timeout: timeout setting for this request. If one
@@ -1728,7 +1727,7 @@ def set_owner_users(
@validate_call
def set_owner_users_with_http_info(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
user_id_list: UserIDList,
_request_timeout: Union[
None,
@@ -1748,7 +1747,7 @@ def set_owner_users_with_http_info(
Sets the list of users for this owner. If escalation is enabled, the order of this list is the escalation priority order of the users. If the owner has a source group, adding or removing users from this list won't be possible.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param user_id_list: (required)
:type user_id_list: UserIDList
:param _request_timeout: timeout setting for this request. If one
@@ -1799,7 +1798,7 @@ def set_owner_users_with_http_info(
@validate_call
def set_owner_users_without_preload_content(
self,
- owner_id: Annotated[UUID, Field(description="The ID of the owner.")],
+ owner_id: Annotated[StrictStr, Field(description="The ID of the owner.")],
user_id_list: UserIDList,
_request_timeout: Union[
None,
@@ -1819,7 +1818,7 @@ def set_owner_users_without_preload_content(
Sets the list of users for this owner. If escalation is enabled, the order of this list is the escalation priority order of the users. If the owner has a source group, adding or removing users from this list won't be possible.
:param owner_id: The ID of the owner. (required)
- :type owner_id: UUID
+ :type owner_id: str
:param user_id_list: (required)
:type user_id_list: UserIDList
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/requests_api.py b/opal_security/api/requests_api.py
index f8e3ebf..4f77b67 100644
--- a/opal_security/api/requests_api.py
+++ b/opal_security/api/requests_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictBool, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.approve_request200_response import ApproveRequest200Response
from opal_security.models.approve_request_request import ApproveRequestRequest
from opal_security.models.create_request200_response import CreateRequest200Response
@@ -54,7 +53,7 @@ def __init__(self, api_client=None) -> None:
@validate_call
def approve_request(
self,
- id: Annotated[UUID, Field(description="The ID of the request to approve")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to approve")],
approve_request_request: Annotated[ApproveRequestRequest, Field(description="Approval parameters")],
_request_timeout: Union[
None,
@@ -74,7 +73,7 @@ def approve_request(
Approve an access request
:param id: The ID of the request to approve (required)
- :type id: UUID
+ :type id: str
:param approve_request_request: Approval parameters (required)
:type approve_request_request: ApproveRequestRequest
:param _request_timeout: timeout setting for this request. If one
@@ -125,7 +124,7 @@ def approve_request(
@validate_call
def approve_request_with_http_info(
self,
- id: Annotated[UUID, Field(description="The ID of the request to approve")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to approve")],
approve_request_request: Annotated[ApproveRequestRequest, Field(description="Approval parameters")],
_request_timeout: Union[
None,
@@ -145,7 +144,7 @@ def approve_request_with_http_info(
Approve an access request
:param id: The ID of the request to approve (required)
- :type id: UUID
+ :type id: str
:param approve_request_request: Approval parameters (required)
:type approve_request_request: ApproveRequestRequest
:param _request_timeout: timeout setting for this request. If one
@@ -196,7 +195,7 @@ def approve_request_with_http_info(
@validate_call
def approve_request_without_preload_content(
self,
- id: Annotated[UUID, Field(description="The ID of the request to approve")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to approve")],
approve_request_request: Annotated[ApproveRequestRequest, Field(description="Approval parameters")],
_request_timeout: Union[
None,
@@ -216,7 +215,7 @@ def approve_request_without_preload_content(
Approve an access request
:param id: The ID of the request to approve (required)
- :type id: UUID
+ :type id: str
:param approve_request_request: Approval parameters (required)
:type approve_request_request: ApproveRequestRequest
:param _request_timeout: timeout setting for this request. If one
@@ -617,7 +616,7 @@ def _create_request_serialize(
@validate_call
def create_request_comment(
self,
- id: Annotated[UUID, Field(description="The ID of the request to comment on")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to comment on")],
create_request_comment_request: Annotated[CreateRequestCommentRequest, Field(description="Comment parameters")],
_request_timeout: Union[
None,
@@ -637,7 +636,7 @@ def create_request_comment(
Comment on an access request
:param id: The ID of the request to comment on (required)
- :type id: UUID
+ :type id: str
:param create_request_comment_request: Comment parameters (required)
:type create_request_comment_request: CreateRequestCommentRequest
:param _request_timeout: timeout setting for this request. If one
@@ -688,7 +687,7 @@ def create_request_comment(
@validate_call
def create_request_comment_with_http_info(
self,
- id: Annotated[UUID, Field(description="The ID of the request to comment on")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to comment on")],
create_request_comment_request: Annotated[CreateRequestCommentRequest, Field(description="Comment parameters")],
_request_timeout: Union[
None,
@@ -708,7 +707,7 @@ def create_request_comment_with_http_info(
Comment on an access request
:param id: The ID of the request to comment on (required)
- :type id: UUID
+ :type id: str
:param create_request_comment_request: Comment parameters (required)
:type create_request_comment_request: CreateRequestCommentRequest
:param _request_timeout: timeout setting for this request. If one
@@ -759,7 +758,7 @@ def create_request_comment_with_http_info(
@validate_call
def create_request_comment_without_preload_content(
self,
- id: Annotated[UUID, Field(description="The ID of the request to comment on")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to comment on")],
create_request_comment_request: Annotated[CreateRequestCommentRequest, Field(description="Comment parameters")],
_request_timeout: Union[
None,
@@ -779,7 +778,7 @@ def create_request_comment_without_preload_content(
Comment on an access request
:param id: The ID of the request to comment on (required)
- :type id: UUID
+ :type id: str
:param create_request_comment_request: Comment parameters (required)
:type create_request_comment_request: CreateRequestCommentRequest
:param _request_timeout: timeout setting for this request. If one
@@ -906,7 +905,7 @@ def _create_request_comment_serialize(
@validate_call
def deny_request(
self,
- id: Annotated[UUID, Field(description="The ID of the request to deny")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to deny")],
deny_request_request: Annotated[DenyRequestRequest, Field(description="Denial parameters")],
_request_timeout: Union[
None,
@@ -926,7 +925,7 @@ def deny_request(
Deny an access request
:param id: The ID of the request to deny (required)
- :type id: UUID
+ :type id: str
:param deny_request_request: Denial parameters (required)
:type deny_request_request: DenyRequestRequest
:param _request_timeout: timeout setting for this request. If one
@@ -977,7 +976,7 @@ def deny_request(
@validate_call
def deny_request_with_http_info(
self,
- id: Annotated[UUID, Field(description="The ID of the request to deny")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to deny")],
deny_request_request: Annotated[DenyRequestRequest, Field(description="Denial parameters")],
_request_timeout: Union[
None,
@@ -997,7 +996,7 @@ def deny_request_with_http_info(
Deny an access request
:param id: The ID of the request to deny (required)
- :type id: UUID
+ :type id: str
:param deny_request_request: Denial parameters (required)
:type deny_request_request: DenyRequestRequest
:param _request_timeout: timeout setting for this request. If one
@@ -1048,7 +1047,7 @@ def deny_request_with_http_info(
@validate_call
def deny_request_without_preload_content(
self,
- id: Annotated[UUID, Field(description="The ID of the request to deny")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to deny")],
deny_request_request: Annotated[DenyRequestRequest, Field(description="Denial parameters")],
_request_timeout: Union[
None,
@@ -1068,7 +1067,7 @@ def deny_request_without_preload_content(
Deny an access request
:param id: The ID of the request to deny (required)
- :type id: UUID
+ :type id: str
:param deny_request_request: Denial parameters (required)
:type deny_request_request: DenyRequestRequest
:param _request_timeout: timeout setting for this request. If one
@@ -1195,7 +1194,7 @@ def _deny_request_serialize(
@validate_call
def get_request(
self,
- id: Annotated[UUID, Field(description="The ID of the request.")],
+ id: Annotated[StrictStr, Field(description="The ID of the request.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1214,7 +1213,7 @@ def get_request(
Returns a request by ID.
:param id: The ID of the request. (required)
- :type id: UUID
+ :type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1262,7 +1261,7 @@ def get_request(
@validate_call
def get_request_with_http_info(
self,
- id: Annotated[UUID, Field(description="The ID of the request.")],
+ id: Annotated[StrictStr, Field(description="The ID of the request.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1281,7 +1280,7 @@ def get_request_with_http_info(
Returns a request by ID.
:param id: The ID of the request. (required)
- :type id: UUID
+ :type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1329,7 +1328,7 @@ def get_request_with_http_info(
@validate_call
def get_request_without_preload_content(
self,
- id: Annotated[UUID, Field(description="The ID of the request.")],
+ id: Annotated[StrictStr, Field(description="The ID of the request.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1348,7 +1347,7 @@ def get_request_without_preload_content(
Returns a request by ID.
:param id: The ID of the request. (required)
- :type id: UUID
+ :type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1456,7 +1455,7 @@ def _get_request_serialize(
@validate_call
def get_request_comments(
self,
- id: Annotated[UUID, Field(description="The ID of the request to get comments for")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to get comments for")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1475,7 +1474,7 @@ def get_request_comments(
Returns a list of comments for a specific request.
:param id: The ID of the request to get comments for (required)
- :type id: UUID
+ :type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1523,7 +1522,7 @@ def get_request_comments(
@validate_call
def get_request_comments_with_http_info(
self,
- id: Annotated[UUID, Field(description="The ID of the request to get comments for")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to get comments for")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1542,7 +1541,7 @@ def get_request_comments_with_http_info(
Returns a list of comments for a specific request.
:param id: The ID of the request to get comments for (required)
- :type id: UUID
+ :type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1590,7 +1589,7 @@ def get_request_comments_with_http_info(
@validate_call
def get_request_comments_without_preload_content(
self,
- id: Annotated[UUID, Field(description="The ID of the request to get comments for")],
+ id: Annotated[StrictStr, Field(description="The ID of the request to get comments for")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1609,7 +1608,7 @@ def get_request_comments_without_preload_content(
Returns a list of comments for a specific request.
:param id: The ID of the request to get comments for (required)
- :type id: UUID
+ :type id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1719,8 +1718,10 @@ def get_requests(
self,
start_date_filter: Annotated[Optional[StrictStr], Field(description="A start date filter for the events.")] = None,
end_date_filter: Annotated[Optional[StrictStr], Field(description="An end date filter for the events.")] = None,
- requester_id: Annotated[Optional[UUID], Field(description="Filter requests by their requester ID.")] = None,
- target_user_id: Annotated[Optional[UUID], Field(description="Filter requests by their target user ID.")] = None,
+ requester_id: Annotated[Optional[StrictStr], Field(description="Filter requests by their requester ID.")] = None,
+ target_user_id: Annotated[Optional[StrictStr], Field(description="Filter requests by their target user ID.")] = None,
+ resource_id: Annotated[Optional[StrictStr], Field(description="Filter requests by the resource ID that was requested.")] = None,
+ group_id: Annotated[Optional[StrictStr], Field(description="Filter requests by the group ID that was requested.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
show_pending_only: Annotated[Optional[StrictBool], Field(description="Boolean toggle for if it should only show pending requests.")] = None,
@@ -1746,9 +1747,13 @@ def get_requests(
:param end_date_filter: An end date filter for the events.
:type end_date_filter: str
:param requester_id: Filter requests by their requester ID.
- :type requester_id: UUID
+ :type requester_id: str
:param target_user_id: Filter requests by their target user ID.
- :type target_user_id: UUID
+ :type target_user_id: str
+ :param resource_id: Filter requests by the resource ID that was requested.
+ :type resource_id: str
+ :param group_id: Filter requests by the group ID that was requested.
+ :type group_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -1782,6 +1787,8 @@ def get_requests(
end_date_filter=end_date_filter,
requester_id=requester_id,
target_user_id=target_user_id,
+ resource_id=resource_id,
+ group_id=group_id,
cursor=cursor,
page_size=page_size,
show_pending_only=show_pending_only,
@@ -1810,8 +1817,10 @@ def get_requests_with_http_info(
self,
start_date_filter: Annotated[Optional[StrictStr], Field(description="A start date filter for the events.")] = None,
end_date_filter: Annotated[Optional[StrictStr], Field(description="An end date filter for the events.")] = None,
- requester_id: Annotated[Optional[UUID], Field(description="Filter requests by their requester ID.")] = None,
- target_user_id: Annotated[Optional[UUID], Field(description="Filter requests by their target user ID.")] = None,
+ requester_id: Annotated[Optional[StrictStr], Field(description="Filter requests by their requester ID.")] = None,
+ target_user_id: Annotated[Optional[StrictStr], Field(description="Filter requests by their target user ID.")] = None,
+ resource_id: Annotated[Optional[StrictStr], Field(description="Filter requests by the resource ID that was requested.")] = None,
+ group_id: Annotated[Optional[StrictStr], Field(description="Filter requests by the group ID that was requested.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
show_pending_only: Annotated[Optional[StrictBool], Field(description="Boolean toggle for if it should only show pending requests.")] = None,
@@ -1837,9 +1846,13 @@ def get_requests_with_http_info(
:param end_date_filter: An end date filter for the events.
:type end_date_filter: str
:param requester_id: Filter requests by their requester ID.
- :type requester_id: UUID
+ :type requester_id: str
:param target_user_id: Filter requests by their target user ID.
- :type target_user_id: UUID
+ :type target_user_id: str
+ :param resource_id: Filter requests by the resource ID that was requested.
+ :type resource_id: str
+ :param group_id: Filter requests by the group ID that was requested.
+ :type group_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -1873,6 +1886,8 @@ def get_requests_with_http_info(
end_date_filter=end_date_filter,
requester_id=requester_id,
target_user_id=target_user_id,
+ resource_id=resource_id,
+ group_id=group_id,
cursor=cursor,
page_size=page_size,
show_pending_only=show_pending_only,
@@ -1901,8 +1916,10 @@ def get_requests_without_preload_content(
self,
start_date_filter: Annotated[Optional[StrictStr], Field(description="A start date filter for the events.")] = None,
end_date_filter: Annotated[Optional[StrictStr], Field(description="An end date filter for the events.")] = None,
- requester_id: Annotated[Optional[UUID], Field(description="Filter requests by their requester ID.")] = None,
- target_user_id: Annotated[Optional[UUID], Field(description="Filter requests by their target user ID.")] = None,
+ requester_id: Annotated[Optional[StrictStr], Field(description="Filter requests by their requester ID.")] = None,
+ target_user_id: Annotated[Optional[StrictStr], Field(description="Filter requests by their target user ID.")] = None,
+ resource_id: Annotated[Optional[StrictStr], Field(description="Filter requests by the resource ID that was requested.")] = None,
+ group_id: Annotated[Optional[StrictStr], Field(description="Filter requests by the group ID that was requested.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
show_pending_only: Annotated[Optional[StrictBool], Field(description="Boolean toggle for if it should only show pending requests.")] = None,
@@ -1928,9 +1945,13 @@ def get_requests_without_preload_content(
:param end_date_filter: An end date filter for the events.
:type end_date_filter: str
:param requester_id: Filter requests by their requester ID.
- :type requester_id: UUID
+ :type requester_id: str
:param target_user_id: Filter requests by their target user ID.
- :type target_user_id: UUID
+ :type target_user_id: str
+ :param resource_id: Filter requests by the resource ID that was requested.
+ :type resource_id: str
+ :param group_id: Filter requests by the group ID that was requested.
+ :type group_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
@@ -1964,6 +1985,8 @@ def get_requests_without_preload_content(
end_date_filter=end_date_filter,
requester_id=requester_id,
target_user_id=target_user_id,
+ resource_id=resource_id,
+ group_id=group_id,
cursor=cursor,
page_size=page_size,
show_pending_only=show_pending_only,
@@ -1989,6 +2012,8 @@ def _get_requests_serialize(
end_date_filter,
requester_id,
target_user_id,
+ resource_id,
+ group_id,
cursor,
page_size,
show_pending_only,
@@ -2030,6 +2055,14 @@ def _get_requests_serialize(
_query_params.append(('target_user_id', target_user_id))
+ if resource_id is not None:
+
+ _query_params.append(('resource_id', resource_id))
+
+ if group_id is not None:
+
+ _query_params.append(('group_id', group_id))
+
if cursor is not None:
_query_params.append(('cursor', cursor))
@@ -2087,8 +2120,8 @@ def get_requests_relay(
last: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of results to return before the cursor. Use either first/after or last/before, not both.")] = None,
before: Annotated[Optional[StrictStr], Field(description="Cursor to fetch results before. Used with 'last' for backward pagination.")] = None,
status: Annotated[Optional[RequestStatusEnum], Field(description="Filter requests by their status.")] = None,
- to: Annotated[Optional[UUID], Field(description="Filter requests assigned to a specific user ID.")] = None,
- var_from: Annotated[Optional[UUID], Field(description="Filter requests made by a specific user ID.")] = None,
+ to: Annotated[Optional[StrictStr], Field(description="Filter requests assigned to a specific user ID.")] = None,
+ var_from: Annotated[Optional[StrictStr], Field(description="Filter requests made by a specific user ID.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2117,9 +2150,9 @@ def get_requests_relay(
:param status: Filter requests by their status.
:type status: RequestStatusEnum
:param to: Filter requests assigned to a specific user ID.
- :type to: UUID
+ :type to: str
:param var_from: Filter requests made by a specific user ID.
- :type var_from: UUID
+ :type var_from: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2179,8 +2212,8 @@ def get_requests_relay_with_http_info(
last: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of results to return before the cursor. Use either first/after or last/before, not both.")] = None,
before: Annotated[Optional[StrictStr], Field(description="Cursor to fetch results before. Used with 'last' for backward pagination.")] = None,
status: Annotated[Optional[RequestStatusEnum], Field(description="Filter requests by their status.")] = None,
- to: Annotated[Optional[UUID], Field(description="Filter requests assigned to a specific user ID.")] = None,
- var_from: Annotated[Optional[UUID], Field(description="Filter requests made by a specific user ID.")] = None,
+ to: Annotated[Optional[StrictStr], Field(description="Filter requests assigned to a specific user ID.")] = None,
+ var_from: Annotated[Optional[StrictStr], Field(description="Filter requests made by a specific user ID.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2209,9 +2242,9 @@ def get_requests_relay_with_http_info(
:param status: Filter requests by their status.
:type status: RequestStatusEnum
:param to: Filter requests assigned to a specific user ID.
- :type to: UUID
+ :type to: str
:param var_from: Filter requests made by a specific user ID.
- :type var_from: UUID
+ :type var_from: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2271,8 +2304,8 @@ def get_requests_relay_without_preload_content(
last: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Number of results to return before the cursor. Use either first/after or last/before, not both.")] = None,
before: Annotated[Optional[StrictStr], Field(description="Cursor to fetch results before. Used with 'last' for backward pagination.")] = None,
status: Annotated[Optional[RequestStatusEnum], Field(description="Filter requests by their status.")] = None,
- to: Annotated[Optional[UUID], Field(description="Filter requests assigned to a specific user ID.")] = None,
- var_from: Annotated[Optional[UUID], Field(description="Filter requests made by a specific user ID.")] = None,
+ to: Annotated[Optional[StrictStr], Field(description="Filter requests assigned to a specific user ID.")] = None,
+ var_from: Annotated[Optional[StrictStr], Field(description="Filter requests made by a specific user ID.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2301,9 +2334,9 @@ def get_requests_relay_without_preload_content(
:param status: Filter requests by their status.
:type status: RequestStatusEnum
:param to: Filter requests assigned to a specific user ID.
- :type to: UUID
+ :type to: str
:param var_from: Filter requests made by a specific user ID.
- :type var_from: UUID
+ :type var_from: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/resources_api.py b/opal_security/api/resources_api.py
index 203fb79..5443ac7 100644
--- a/opal_security/api/resources_api.py
+++ b/opal_security/api/resources_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictBool, StrictInt, StrictStr
from typing import List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.access_list import AccessList
from opal_security.models.add_resource_nhi_request import AddResourceNhiRequest
from opal_security.models.add_resource_user_request import AddResourceUserRequest
@@ -66,8 +65,8 @@ def __init__(self, api_client=None) -> None:
@validate_call
def add_resource_nhi(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- non_human_identity_id: Annotated[UUID, Field(description="The resource ID of the non-human identity to add.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ non_human_identity_id: Annotated[StrictStr, Field(description="The resource ID of the non-human identity to add.")],
add_resource_nhi_request: Optional[AddResourceNhiRequest] = None,
_request_timeout: Union[
None,
@@ -87,9 +86,9 @@ def add_resource_nhi(
Gives a non-human identity access to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param non_human_identity_id: The resource ID of the non-human identity to add. (required)
- :type non_human_identity_id: UUID
+ :type non_human_identity_id: str
:param add_resource_nhi_request:
:type add_resource_nhi_request: AddResourceNhiRequest
:param _request_timeout: timeout setting for this request. If one
@@ -141,8 +140,8 @@ def add_resource_nhi(
@validate_call
def add_resource_nhi_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- non_human_identity_id: Annotated[UUID, Field(description="The resource ID of the non-human identity to add.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ non_human_identity_id: Annotated[StrictStr, Field(description="The resource ID of the non-human identity to add.")],
add_resource_nhi_request: Optional[AddResourceNhiRequest] = None,
_request_timeout: Union[
None,
@@ -162,9 +161,9 @@ def add_resource_nhi_with_http_info(
Gives a non-human identity access to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param non_human_identity_id: The resource ID of the non-human identity to add. (required)
- :type non_human_identity_id: UUID
+ :type non_human_identity_id: str
:param add_resource_nhi_request:
:type add_resource_nhi_request: AddResourceNhiRequest
:param _request_timeout: timeout setting for this request. If one
@@ -216,8 +215,8 @@ def add_resource_nhi_with_http_info(
@validate_call
def add_resource_nhi_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- non_human_identity_id: Annotated[UUID, Field(description="The resource ID of the non-human identity to add.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ non_human_identity_id: Annotated[StrictStr, Field(description="The resource ID of the non-human identity to add.")],
add_resource_nhi_request: Optional[AddResourceNhiRequest] = None,
_request_timeout: Union[
None,
@@ -237,9 +236,9 @@ def add_resource_nhi_without_preload_content(
Gives a non-human identity access to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param non_human_identity_id: The resource ID of the non-human identity to add. (required)
- :type non_human_identity_id: UUID
+ :type non_human_identity_id: str
:param add_resource_nhi_request:
:type add_resource_nhi_request: AddResourceNhiRequest
:param _request_timeout: timeout setting for this request. If one
@@ -370,8 +369,8 @@ def _add_resource_nhi_serialize(
@validate_call
def add_resource_user(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to add.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to add.")],
duration_minutes: Annotated[Optional[Annotated[int, Field(le=525960, strict=True)]], Field(description="The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite.")] = None,
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_resource_user_request: Optional[AddResourceUserRequest] = None,
@@ -393,9 +392,9 @@ def add_resource_user(
Adds a user to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user to add. (required)
- :type user_id: UUID
+ :type user_id: str
:param duration_minutes: The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite.
:type duration_minutes: int
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
@@ -453,8 +452,8 @@ def add_resource_user(
@validate_call
def add_resource_user_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to add.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to add.")],
duration_minutes: Annotated[Optional[Annotated[int, Field(le=525960, strict=True)]], Field(description="The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite.")] = None,
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_resource_user_request: Optional[AddResourceUserRequest] = None,
@@ -476,9 +475,9 @@ def add_resource_user_with_http_info(
Adds a user to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user to add. (required)
- :type user_id: UUID
+ :type user_id: str
:param duration_minutes: The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite.
:type duration_minutes: int
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
@@ -536,8 +535,8 @@ def add_resource_user_with_http_info(
@validate_call
def add_resource_user_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to add.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to add.")],
duration_minutes: Annotated[Optional[Annotated[int, Field(le=525960, strict=True)]], Field(description="The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite.")] = None,
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.")] = None,
add_resource_user_request: Optional[AddResourceUserRequest] = None,
@@ -559,9 +558,9 @@ def add_resource_user_without_preload_content(
Adds a user to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user to add. (required)
- :type user_id: UUID
+ :type user_id: str
:param duration_minutes: The duration for which the resource can be accessed (in minutes). Use 0 to set to indefinite.
:type duration_minutes: int
:param access_level_remote_id: The remote ID of the access level to grant to this user. If omitted, the default access level remote ID value (empty string) is used.
@@ -982,7 +981,7 @@ def _create_resource_serialize(
@validate_call
def delete_resource(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1001,7 +1000,7 @@ def delete_resource(
Deletes a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1049,7 +1048,7 @@ def delete_resource(
@validate_call
def delete_resource_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1068,7 +1067,7 @@ def delete_resource_with_http_info(
Deletes a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1116,7 +1115,7 @@ def delete_resource_with_http_info(
@validate_call
def delete_resource_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1135,7 +1134,7 @@ def delete_resource_without_preload_content(
Deletes a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1236,8 +1235,8 @@ def _delete_resource_serialize(
@validate_call
def delete_resource_nhi(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- non_human_identity_id: Annotated[UUID, Field(description="The resource ID of the non-human identity to remove from this resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ non_human_identity_id: Annotated[StrictStr, Field(description="The resource ID of the non-human identity to remove from this resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1257,9 +1256,9 @@ def delete_resource_nhi(
Removes a non-human identity's direct access from this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param non_human_identity_id: The resource ID of the non-human identity to remove from this resource. (required)
- :type non_human_identity_id: UUID
+ :type non_human_identity_id: str
:param access_level_remote_id: The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1311,8 +1310,8 @@ def delete_resource_nhi(
@validate_call
def delete_resource_nhi_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- non_human_identity_id: Annotated[UUID, Field(description="The resource ID of the non-human identity to remove from this resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ non_human_identity_id: Annotated[StrictStr, Field(description="The resource ID of the non-human identity to remove from this resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1332,9 +1331,9 @@ def delete_resource_nhi_with_http_info(
Removes a non-human identity's direct access from this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param non_human_identity_id: The resource ID of the non-human identity to remove from this resource. (required)
- :type non_human_identity_id: UUID
+ :type non_human_identity_id: str
:param access_level_remote_id: The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1386,8 +1385,8 @@ def delete_resource_nhi_with_http_info(
@validate_call
def delete_resource_nhi_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- non_human_identity_id: Annotated[UUID, Field(description="The resource ID of the non-human identity to remove from this resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ non_human_identity_id: Annotated[StrictStr, Field(description="The resource ID of the non-human identity to remove from this resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1407,9 +1406,9 @@ def delete_resource_nhi_without_preload_content(
Removes a non-human identity's direct access from this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param non_human_identity_id: The resource ID of the non-human identity to remove from this resource. (required)
- :type non_human_identity_id: UUID
+ :type non_human_identity_id: str
:param access_level_remote_id: The remote ID of the access level for which this non-human identity has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1522,8 +1521,8 @@ def _delete_resource_nhi_serialize(
@validate_call
def delete_resource_user(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of a user to remove from this resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of a user to remove from this resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1543,9 +1542,9 @@ def delete_resource_user(
Removes a user's direct access from this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of a user to remove from this resource. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1597,8 +1596,8 @@ def delete_resource_user(
@validate_call
def delete_resource_user_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of a user to remove from this resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of a user to remove from this resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1618,9 +1617,9 @@ def delete_resource_user_with_http_info(
Removes a user's direct access from this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of a user to remove from this resource. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1672,8 +1671,8 @@ def delete_resource_user_with_http_info(
@validate_call
def delete_resource_user_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of a user to remove from this resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of a user to remove from this resource.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.")] = None,
_request_timeout: Union[
None,
@@ -1693,9 +1692,9 @@ def delete_resource_user_without_preload_content(
Removes a user's direct access from this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of a user to remove from this resource. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level for which this user has direct access. If omitted, the default access level remote ID value (empty string) is assumed.
:type access_level_remote_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -1808,7 +1807,7 @@ def _delete_resource_user_serialize(
@validate_call
def get_resource(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1827,7 +1826,7 @@ def get_resource(
Retrieves a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1875,7 +1874,7 @@ def get_resource(
@validate_call
def get_resource_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1894,7 +1893,7 @@ def get_resource_with_http_info(
Retrieves a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1942,7 +1941,7 @@ def get_resource_with_http_info(
@validate_call
def get_resource_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1961,7 +1960,7 @@ def get_resource_without_preload_content(
Retrieves a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2069,7 +2068,7 @@ def _get_resource_serialize(
@validate_call
def get_resource_groups(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource that the groups grant access to.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource that the groups grant access to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2088,7 +2087,7 @@ def get_resource_groups(
Returns a list of groups that grant access to the resource
:param resource_id: The ID of the resource that the groups grant access to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2136,7 +2135,7 @@ def get_resource_groups(
@validate_call
def get_resource_groups_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource that the groups grant access to.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource that the groups grant access to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2155,7 +2154,7 @@ def get_resource_groups_with_http_info(
Returns a list of groups that grant access to the resource
:param resource_id: The ID of the resource that the groups grant access to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2203,7 +2202,7 @@ def get_resource_groups_with_http_info(
@validate_call
def get_resource_groups_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource that the groups grant access to.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource that the groups grant access to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2222,7 +2221,7 @@ def get_resource_groups_without_preload_content(
Returns a list of groups that grant access to the resource
:param resource_id: The ID of the resource that the groups grant access to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2330,7 +2329,7 @@ def _get_resource_groups_serialize(
@validate_call
def get_resource_message_channels(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2349,7 +2348,7 @@ def get_resource_message_channels(
Gets the list of audit message channels attached to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2397,7 +2396,7 @@ def get_resource_message_channels(
@validate_call
def get_resource_message_channels_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2416,7 +2415,7 @@ def get_resource_message_channels_with_http_info(
Gets the list of audit message channels attached to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2464,7 +2463,7 @@ def get_resource_message_channels_with_http_info(
@validate_call
def get_resource_message_channels_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2483,7 +2482,7 @@ def get_resource_message_channels_without_preload_content(
Gets the list of audit message channels attached to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2591,7 +2590,7 @@ def _get_resource_message_channels_serialize(
@validate_call
def get_resource_nhis(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
_request_timeout: Union[
None,
@@ -2611,7 +2610,7 @@ def get_resource_nhis(
Gets the list of non-human identities with access to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param _request_timeout: timeout setting for this request. If one
@@ -2662,7 +2661,7 @@ def get_resource_nhis(
@validate_call
def get_resource_nhis_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
_request_timeout: Union[
None,
@@ -2682,7 +2681,7 @@ def get_resource_nhis_with_http_info(
Gets the list of non-human identities with access to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param _request_timeout: timeout setting for this request. If one
@@ -2733,7 +2732,7 @@ def get_resource_nhis_with_http_info(
@validate_call
def get_resource_nhis_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
_request_timeout: Union[
None,
@@ -2753,7 +2752,7 @@ def get_resource_nhis_without_preload_content(
Gets the list of non-human identities with access to this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param _request_timeout: timeout setting for this request. If one
@@ -2869,7 +2868,7 @@ def _get_resource_nhis_serialize(
@validate_call
def get_resource_reviewer_stages(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2888,7 +2887,7 @@ def get_resource_reviewer_stages(
Gets the list reviewer stages for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2936,7 +2935,7 @@ def get_resource_reviewer_stages(
@validate_call
def get_resource_reviewer_stages_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2955,7 +2954,7 @@ def get_resource_reviewer_stages_with_http_info(
Gets the list reviewer stages for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3003,7 +3002,7 @@ def get_resource_reviewer_stages_with_http_info(
@validate_call
def get_resource_reviewer_stages_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3022,7 +3021,7 @@ def get_resource_reviewer_stages_without_preload_content(
Gets the list reviewer stages for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3130,7 +3129,7 @@ def _get_resource_reviewer_stages_serialize(
@validate_call
def get_resource_reviewers(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3143,13 +3142,13 @@ def get_resource_reviewers(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""get_resource_reviewers
Gets the list of owner IDs of the reviewers for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3181,7 +3180,7 @@ def get_resource_reviewers(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -3197,7 +3196,7 @@ def get_resource_reviewers(
@validate_call
def get_resource_reviewers_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3210,13 +3209,13 @@ def get_resource_reviewers_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""get_resource_reviewers
Gets the list of owner IDs of the reviewers for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3248,7 +3247,7 @@ def get_resource_reviewers_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -3264,7 +3263,7 @@ def get_resource_reviewers_with_http_info(
@validate_call
def get_resource_reviewers_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3283,7 +3282,7 @@ def get_resource_reviewers_without_preload_content(
Gets the list of owner IDs of the reviewers for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3315,7 +3314,7 @@ def get_resource_reviewers_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -3391,7 +3390,7 @@ def _get_resource_reviewers_serialize(
@validate_call
def get_resource_scoped_role_permissions(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose scoped role permissions belong to.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose scoped role permissions belong to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3410,7 +3409,7 @@ def get_resource_scoped_role_permissions(
Returns all the scoped role permissions that apply to the given resource. Only OPAL_SCOPED_ROLE resource type supports this field.
:param resource_id: The ID of the resource whose scoped role permissions belong to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3458,7 +3457,7 @@ def get_resource_scoped_role_permissions(
@validate_call
def get_resource_scoped_role_permissions_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose scoped role permissions belong to.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose scoped role permissions belong to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3477,7 +3476,7 @@ def get_resource_scoped_role_permissions_with_http_info(
Returns all the scoped role permissions that apply to the given resource. Only OPAL_SCOPED_ROLE resource type supports this field.
:param resource_id: The ID of the resource whose scoped role permissions belong to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3525,7 +3524,7 @@ def get_resource_scoped_role_permissions_with_http_info(
@validate_call
def get_resource_scoped_role_permissions_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose scoped role permissions belong to.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose scoped role permissions belong to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3544,7 +3543,7 @@ def get_resource_scoped_role_permissions_without_preload_content(
Returns all the scoped role permissions that apply to the given resource. Only OPAL_SCOPED_ROLE resource type supports this field.
:param resource_id: The ID of the resource whose scoped role permissions belong to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3652,7 +3651,7 @@ def _get_resource_scoped_role_permissions_serialize(
@validate_call
def get_resource_tags(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose tags to return.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3671,7 +3670,7 @@ def get_resource_tags(
Returns all tags applied to the resource.
:param resource_id: The ID of the resource whose tags to return. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3719,7 +3718,7 @@ def get_resource_tags(
@validate_call
def get_resource_tags_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose tags to return.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3738,7 +3737,7 @@ def get_resource_tags_with_http_info(
Returns all tags applied to the resource.
:param resource_id: The ID of the resource whose tags to return. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3786,7 +3785,7 @@ def get_resource_tags_with_http_info(
@validate_call
def get_resource_tags_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose tags to return.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3805,7 +3804,7 @@ def get_resource_tags_without_preload_content(
Returns all tags applied to the resource.
:param resource_id: The ID of the resource whose tags to return. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3913,8 +3912,8 @@ def _get_resource_tags_serialize(
@validate_call
def get_resource_user(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
_request_timeout: Union[
None,
@@ -3934,9 +3933,9 @@ def get_resource_user(
Returns information about a specific user's access to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param _request_timeout: timeout setting for this request. If one
@@ -3989,8 +3988,8 @@ def get_resource_user(
@validate_call
def get_resource_user_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
_request_timeout: Union[
None,
@@ -4010,9 +4009,9 @@ def get_resource_user_with_http_info(
Returns information about a specific user's access to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param _request_timeout: timeout setting for this request. If one
@@ -4065,8 +4064,8 @@ def get_resource_user_with_http_info(
@validate_call
def get_resource_user_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
_request_timeout: Union[
None,
@@ -4086,9 +4085,9 @@ def get_resource_user_without_preload_content(
Returns information about a specific user's access to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param cursor: The pagination cursor value.
:type cursor: str
:param _request_timeout: timeout setting for this request. If one
@@ -4209,7 +4208,7 @@ def _get_resource_user_serialize(
@validate_call
def get_resource_users(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
_request_timeout: Union[
None,
@@ -4229,7 +4228,7 @@ def get_resource_users(
Gets the list of users for this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param _request_timeout: timeout setting for this request. If one
@@ -4280,7 +4279,7 @@ def get_resource_users(
@validate_call
def get_resource_users_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
_request_timeout: Union[
None,
@@ -4300,7 +4299,7 @@ def get_resource_users_with_http_info(
Gets the list of users for this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param _request_timeout: timeout setting for this request. If one
@@ -4351,7 +4350,7 @@ def get_resource_users_with_http_info(
@validate_call
def get_resource_users_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
_request_timeout: Union[
None,
@@ -4371,7 +4370,7 @@ def get_resource_users_without_preload_content(
Gets the list of users for this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param _request_timeout: timeout setting for this request. If one
@@ -4487,7 +4486,7 @@ def _get_resource_users_serialize(
@validate_call
def get_resource_visibility(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4506,7 +4505,7 @@ def get_resource_visibility(
Gets the visibility of this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4554,7 +4553,7 @@ def get_resource_visibility(
@validate_call
def get_resource_visibility_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4573,7 +4572,7 @@ def get_resource_visibility_with_http_info(
Gets the visibility of this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4621,7 +4620,7 @@ def get_resource_visibility_with_http_info(
@validate_call
def get_resource_visibility_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4640,7 +4639,7 @@ def get_resource_visibility_without_preload_content(
Gets the visibility of this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4751,11 +4750,12 @@ def get_resources(
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
resource_type_filter: Annotated[Optional[ResourceTypeEnum], Field(description="The resource type to filter by. Required when remote_id is provided.")] = None,
- resource_ids: Annotated[Optional[List[UUID]], Field(description="The resource ids to filter by.")] = None,
+ resource_ids: Annotated[Optional[List[StrictStr]], Field(description="The resource ids to filter by.")] = None,
resource_name: Annotated[Optional[StrictStr], Field(description="Resource name.")] = None,
- parent_resource_id: Annotated[Optional[UUID], Field(description="The parent resource id to filter by.")] = None,
- ancestor_resource_id: Annotated[Optional[UUID], Field(description="The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.")] = None,
+ parent_resource_id: Annotated[Optional[StrictStr], Field(description="The parent resource id to filter by.")] = None,
+ ancestor_resource_id: Annotated[Optional[StrictStr], Field(description="The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.")] = None,
remote_id: Annotated[Optional[StrictStr], Field(description="Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only resources that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4780,15 +4780,17 @@ def get_resources(
:param resource_type_filter: The resource type to filter by. Required when remote_id is provided.
:type resource_type_filter: ResourceTypeEnum
:param resource_ids: The resource ids to filter by.
- :type resource_ids: List[UUID]
+ :type resource_ids: List[str]
:param resource_name: Resource name.
:type resource_name: str
:param parent_resource_id: The parent resource id to filter by.
- :type parent_resource_id: UUID
+ :type parent_resource_id: str
:param ancestor_resource_id: The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.
- :type ancestor_resource_id: UUID
+ :type ancestor_resource_id: str
:param remote_id: Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided.
:type remote_id: str
+ :param tag_ids: The IDs of the tags to filter by. Returns only resources that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4820,6 +4822,7 @@ def get_resources(
parent_resource_id=parent_resource_id,
ancestor_resource_id=ancestor_resource_id,
remote_id=remote_id,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -4846,11 +4849,12 @@ def get_resources_with_http_info(
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
resource_type_filter: Annotated[Optional[ResourceTypeEnum], Field(description="The resource type to filter by. Required when remote_id is provided.")] = None,
- resource_ids: Annotated[Optional[List[UUID]], Field(description="The resource ids to filter by.")] = None,
+ resource_ids: Annotated[Optional[List[StrictStr]], Field(description="The resource ids to filter by.")] = None,
resource_name: Annotated[Optional[StrictStr], Field(description="Resource name.")] = None,
- parent_resource_id: Annotated[Optional[UUID], Field(description="The parent resource id to filter by.")] = None,
- ancestor_resource_id: Annotated[Optional[UUID], Field(description="The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.")] = None,
+ parent_resource_id: Annotated[Optional[StrictStr], Field(description="The parent resource id to filter by.")] = None,
+ ancestor_resource_id: Annotated[Optional[StrictStr], Field(description="The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.")] = None,
remote_id: Annotated[Optional[StrictStr], Field(description="Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only resources that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4875,15 +4879,17 @@ def get_resources_with_http_info(
:param resource_type_filter: The resource type to filter by. Required when remote_id is provided.
:type resource_type_filter: ResourceTypeEnum
:param resource_ids: The resource ids to filter by.
- :type resource_ids: List[UUID]
+ :type resource_ids: List[str]
:param resource_name: Resource name.
:type resource_name: str
:param parent_resource_id: The parent resource id to filter by.
- :type parent_resource_id: UUID
+ :type parent_resource_id: str
:param ancestor_resource_id: The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.
- :type ancestor_resource_id: UUID
+ :type ancestor_resource_id: str
:param remote_id: Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided.
:type remote_id: str
+ :param tag_ids: The IDs of the tags to filter by. Returns only resources that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4915,6 +4921,7 @@ def get_resources_with_http_info(
parent_resource_id=parent_resource_id,
ancestor_resource_id=ancestor_resource_id,
remote_id=remote_id,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -4941,11 +4948,12 @@ def get_resources_without_preload_content(
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
resource_type_filter: Annotated[Optional[ResourceTypeEnum], Field(description="The resource type to filter by. Required when remote_id is provided.")] = None,
- resource_ids: Annotated[Optional[List[UUID]], Field(description="The resource ids to filter by.")] = None,
+ resource_ids: Annotated[Optional[List[StrictStr]], Field(description="The resource ids to filter by.")] = None,
resource_name: Annotated[Optional[StrictStr], Field(description="Resource name.")] = None,
- parent_resource_id: Annotated[Optional[UUID], Field(description="The parent resource id to filter by.")] = None,
- ancestor_resource_id: Annotated[Optional[UUID], Field(description="The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.")] = None,
+ parent_resource_id: Annotated[Optional[StrictStr], Field(description="The parent resource id to filter by.")] = None,
+ ancestor_resource_id: Annotated[Optional[StrictStr], Field(description="The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.")] = None,
remote_id: Annotated[Optional[StrictStr], Field(description="Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only resources that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4970,15 +4978,17 @@ def get_resources_without_preload_content(
:param resource_type_filter: The resource type to filter by. Required when remote_id is provided.
:type resource_type_filter: ResourceTypeEnum
:param resource_ids: The resource ids to filter by.
- :type resource_ids: List[UUID]
+ :type resource_ids: List[str]
:param resource_name: Resource name.
:type resource_name: str
:param parent_resource_id: The parent resource id to filter by.
- :type parent_resource_id: UUID
+ :type parent_resource_id: str
:param ancestor_resource_id: The ancestor resource id to filter by. Returns all resources that are descendants of the specified resource.
- :type ancestor_resource_id: UUID
+ :type ancestor_resource_id: str
:param remote_id: Filter resources by their remote id. This will return all resources that have a remote id that matches the provided remote id. Note that this requires resource_type_filter to be provided.
:type remote_id: str
+ :param tag_ids: The IDs of the tags to filter by. Returns only resources that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -5010,6 +5020,7 @@ def get_resources_without_preload_content(
parent_resource_id=parent_resource_id,
ancestor_resource_id=ancestor_resource_id,
remote_id=remote_id,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -5036,6 +5047,7 @@ def _get_resources_serialize(
parent_resource_id,
ancestor_resource_id,
remote_id,
+ tag_ids,
_request_auth,
_content_type,
_headers,
@@ -5046,6 +5058,7 @@ def _get_resources_serialize(
_collection_formats: Dict[str, str] = {
'resource_ids': 'csv',
+ 'tag_ids': 'multi',
}
_path_params: Dict[str, str] = {}
@@ -5091,6 +5104,10 @@ def _get_resources_serialize(
_query_params.append(('remote_id', remote_id))
+ if tag_ids is not None:
+
+ _query_params.append(('tag_ids', tag_ids))
+
# process the header parameters
# process the form parameters
# process the body parameter
@@ -5131,7 +5148,7 @@ def _get_resources_serialize(
@validate_call
def get_user_resources(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
include_unmanaged: Annotated[Optional[StrictBool], Field(description="Include user's access to unmanaged resources.")] = None,
@@ -5153,7 +5170,7 @@ def get_user_resources(
Gets the list of resources for this user.
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param cursor: The pagination cursor value.
@@ -5210,7 +5227,7 @@ def get_user_resources(
@validate_call
def get_user_resources_with_http_info(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
include_unmanaged: Annotated[Optional[StrictBool], Field(description="Include user's access to unmanaged resources.")] = None,
@@ -5232,7 +5249,7 @@ def get_user_resources_with_http_info(
Gets the list of resources for this user.
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param cursor: The pagination cursor value.
@@ -5289,7 +5306,7 @@ def get_user_resources_with_http_info(
@validate_call
def get_user_resources_without_preload_content(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
limit: Annotated[Optional[StrictInt], Field(description="Limit the number of results returned.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
include_unmanaged: Annotated[Optional[StrictBool], Field(description="Include user's access to unmanaged resources.")] = None,
@@ -5311,7 +5328,7 @@ def get_user_resources_without_preload_content(
Gets the list of resources for this user.
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param limit: Limit the number of results returned.
:type limit: int
:param cursor: The pagination cursor value.
@@ -5443,8 +5460,8 @@ def _get_user_resources_serialize(
@validate_call
def resource_user_access_status_retrieve(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
@@ -5466,9 +5483,9 @@ def resource_user_access_status_retrieve(
Get user's access status to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param cursor: The pagination cursor value.
@@ -5527,8 +5544,8 @@ def resource_user_access_status_retrieve(
@validate_call
def resource_user_access_status_retrieve_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
@@ -5550,9 +5567,9 @@ def resource_user_access_status_retrieve_with_http_info(
Get user's access status to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param cursor: The pagination cursor value.
@@ -5611,8 +5628,8 @@ def resource_user_access_status_retrieve_with_http_info(
@validate_call
def resource_user_access_status_retrieve_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user.")],
access_level_remote_id: Annotated[Optional[StrictStr], Field(description="The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
@@ -5634,9 +5651,9 @@ def resource_user_access_status_retrieve_without_preload_content(
Get user's access status to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user. (required)
- :type user_id: UUID
+ :type user_id: str
:param access_level_remote_id: The remote ID of the access level that you wish to query for the resource. If omitted, the default access level remote ID value (empty string) is used.
:type access_level_remote_id: str
:param cursor: The pagination cursor value.
@@ -5773,7 +5790,7 @@ def _resource_user_access_status_retrieve_serialize(
@validate_call
def set_resource_message_channels(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
message_channel_id_list: MessageChannelIDList,
_request_timeout: Union[
None,
@@ -5787,13 +5804,13 @@ def set_resource_message_channels(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""set_resource_message_channels
Sets the list of audit message channels attached to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param message_channel_id_list: (required)
:type message_channel_id_list: MessageChannelIDList
:param _request_timeout: timeout setting for this request. If one
@@ -5828,7 +5845,7 @@ def set_resource_message_channels(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -5844,7 +5861,7 @@ def set_resource_message_channels(
@validate_call
def set_resource_message_channels_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
message_channel_id_list: MessageChannelIDList,
_request_timeout: Union[
None,
@@ -5858,13 +5875,13 @@ def set_resource_message_channels_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""set_resource_message_channels
Sets the list of audit message channels attached to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param message_channel_id_list: (required)
:type message_channel_id_list: MessageChannelIDList
:param _request_timeout: timeout setting for this request. If one
@@ -5899,7 +5916,7 @@ def set_resource_message_channels_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -5915,7 +5932,7 @@ def set_resource_message_channels_with_http_info(
@validate_call
def set_resource_message_channels_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
message_channel_id_list: MessageChannelIDList,
_request_timeout: Union[
None,
@@ -5935,7 +5952,7 @@ def set_resource_message_channels_without_preload_content(
Sets the list of audit message channels attached to a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param message_channel_id_list: (required)
:type message_channel_id_list: MessageChannelIDList
:param _request_timeout: timeout setting for this request. If one
@@ -5970,7 +5987,7 @@ def set_resource_message_channels_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6062,7 +6079,7 @@ def _set_resource_message_channels_serialize(
@validate_call
def set_resource_reviewer_stages(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
reviewer_stage_list: ReviewerStageList,
_request_timeout: Union[
None,
@@ -6082,7 +6099,7 @@ def set_resource_reviewer_stages(
Sets the list of reviewer stages for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param reviewer_stage_list: (required)
:type reviewer_stage_list: ReviewerStageList
:param _request_timeout: timeout setting for this request. If one
@@ -6133,7 +6150,7 @@ def set_resource_reviewer_stages(
@validate_call
def set_resource_reviewer_stages_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
reviewer_stage_list: ReviewerStageList,
_request_timeout: Union[
None,
@@ -6153,7 +6170,7 @@ def set_resource_reviewer_stages_with_http_info(
Sets the list of reviewer stages for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param reviewer_stage_list: (required)
:type reviewer_stage_list: ReviewerStageList
:param _request_timeout: timeout setting for this request. If one
@@ -6204,7 +6221,7 @@ def set_resource_reviewer_stages_with_http_info(
@validate_call
def set_resource_reviewer_stages_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
reviewer_stage_list: ReviewerStageList,
_request_timeout: Union[
None,
@@ -6224,7 +6241,7 @@ def set_resource_reviewer_stages_without_preload_content(
Sets the list of reviewer stages for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param reviewer_stage_list: (required)
:type reviewer_stage_list: ReviewerStageList
:param _request_timeout: timeout setting for this request. If one
@@ -6351,7 +6368,7 @@ def _set_resource_reviewer_stages_serialize(
@validate_call
def set_resource_reviewers(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
reviewer_id_list: ReviewerIDList,
_request_timeout: Union[
None,
@@ -6365,13 +6382,13 @@ def set_resource_reviewers(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> List[UUID]:
+ ) -> List[str]:
"""set_resource_reviewers
Sets the list of reviewers for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param reviewer_id_list: (required)
:type reviewer_id_list: ReviewerIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6406,7 +6423,7 @@ def set_resource_reviewers(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6422,7 +6439,7 @@ def set_resource_reviewers(
@validate_call
def set_resource_reviewers_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
reviewer_id_list: ReviewerIDList,
_request_timeout: Union[
None,
@@ -6436,13 +6453,13 @@ def set_resource_reviewers_with_http_info(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> ApiResponse[List[UUID]]:
+ ) -> ApiResponse[List[str]]:
"""set_resource_reviewers
Sets the list of reviewers for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param reviewer_id_list: (required)
:type reviewer_id_list: ReviewerIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6477,7 +6494,7 @@ def set_resource_reviewers_with_http_info(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6493,7 +6510,7 @@ def set_resource_reviewers_with_http_info(
@validate_call
def set_resource_reviewers_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
reviewer_id_list: ReviewerIDList,
_request_timeout: Union[
None,
@@ -6513,7 +6530,7 @@ def set_resource_reviewers_without_preload_content(
Sets the list of reviewers for a resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param reviewer_id_list: (required)
:type reviewer_id_list: ReviewerIDList
:param _request_timeout: timeout setting for this request. If one
@@ -6548,7 +6565,7 @@ def set_resource_reviewers_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "List[UUID]",
+ '200': "List[str]",
}
response_data = self.api_client.call_api(
*_param,
@@ -6640,7 +6657,7 @@ def _set_resource_reviewers_serialize(
@validate_call
def set_resource_scoped_role_permissions(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.")],
scoped_role_permission_list: ScopedRolePermissionList,
_request_timeout: Union[
None,
@@ -6660,7 +6677,7 @@ def set_resource_scoped_role_permissions(
Sets all the scoped role permissions on an OPAL_SCOPED_ROLE resource.
:param resource_id: The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param scoped_role_permission_list: (required)
:type scoped_role_permission_list: ScopedRolePermissionList
:param _request_timeout: timeout setting for this request. If one
@@ -6711,7 +6728,7 @@ def set_resource_scoped_role_permissions(
@validate_call
def set_resource_scoped_role_permissions_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.")],
scoped_role_permission_list: ScopedRolePermissionList,
_request_timeout: Union[
None,
@@ -6731,7 +6748,7 @@ def set_resource_scoped_role_permissions_with_http_info(
Sets all the scoped role permissions on an OPAL_SCOPED_ROLE resource.
:param resource_id: The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param scoped_role_permission_list: (required)
:type scoped_role_permission_list: ScopedRolePermissionList
:param _request_timeout: timeout setting for this request. If one
@@ -6782,7 +6799,7 @@ def set_resource_scoped_role_permissions_with_http_info(
@validate_call
def set_resource_scoped_role_permissions_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type.")],
scoped_role_permission_list: ScopedRolePermissionList,
_request_timeout: Union[
None,
@@ -6802,7 +6819,7 @@ def set_resource_scoped_role_permissions_without_preload_content(
Sets all the scoped role permissions on an OPAL_SCOPED_ROLE resource.
:param resource_id: The ID of the resource whose scoped role permissions belong to. Must be of OPAL_SCOPED_ROLE resource type. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param scoped_role_permission_list: (required)
:type scoped_role_permission_list: ScopedRolePermissionList
:param _request_timeout: timeout setting for this request. If one
@@ -6929,7 +6946,7 @@ def _set_resource_scoped_role_permissions_serialize(
@validate_call
def set_resource_visibility(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -6949,7 +6966,7 @@ def set_resource_visibility(
Sets the visibility of this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -7000,7 +7017,7 @@ def set_resource_visibility(
@validate_call
def set_resource_visibility_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -7020,7 +7037,7 @@ def set_resource_visibility_with_http_info(
Sets the visibility of this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -7071,7 +7088,7 @@ def set_resource_visibility_with_http_info(
@validate_call
def set_resource_visibility_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
visibility_info: VisibilityInfo,
_request_timeout: Union[
None,
@@ -7091,7 +7108,7 @@ def set_resource_visibility_without_preload_content(
Sets the visibility of this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param visibility_info: (required)
:type visibility_info: VisibilityInfo
:param _request_timeout: timeout setting for this request. If one
@@ -7218,8 +7235,8 @@ def _set_resource_visibility_serialize(
@validate_call
def update_resource_user(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user whose access is being updated.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose access is being updated.")],
update_resource_user_request: UpdateResourceUserRequest,
_request_timeout: Union[
None,
@@ -7239,9 +7256,9 @@ def update_resource_user(
Updates a user's access level or duration on this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user whose access is being updated. (required)
- :type user_id: UUID
+ :type user_id: str
:param update_resource_user_request: (required)
:type update_resource_user_request: UpdateResourceUserRequest
:param _request_timeout: timeout setting for this request. If one
@@ -7293,8 +7310,8 @@ def update_resource_user(
@validate_call
def update_resource_user_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user whose access is being updated.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose access is being updated.")],
update_resource_user_request: UpdateResourceUserRequest,
_request_timeout: Union[
None,
@@ -7314,9 +7331,9 @@ def update_resource_user_with_http_info(
Updates a user's access level or duration on this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user whose access is being updated. (required)
- :type user_id: UUID
+ :type user_id: str
:param update_resource_user_request: (required)
:type update_resource_user_request: UpdateResourceUserRequest
:param _request_timeout: timeout setting for this request. If one
@@ -7368,8 +7385,8 @@ def update_resource_user_with_http_info(
@validate_call
def update_resource_user_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
- user_id: Annotated[UUID, Field(description="The ID of the user whose access is being updated.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose access is being updated.")],
update_resource_user_request: UpdateResourceUserRequest,
_request_timeout: Union[
None,
@@ -7389,9 +7406,9 @@ def update_resource_user_without_preload_content(
Updates a user's access level or duration on this resource.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user whose access is being updated. (required)
- :type user_id: UUID
+ :type user_id: str
:param update_resource_user_request: (required)
:type update_resource_user_request: UpdateResourceUserRequest
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/sessions_api.py b/opal_security/api/sessions_api.py
index 303a59a..76680bb 100644
--- a/opal_security/api/sessions_api.py
+++ b/opal_security/api/sessions_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.sessions_list import SessionsList
from opal_security.api_client import ApiClient, RequestSerialized
@@ -44,7 +43,7 @@ def __init__(self, api_client=None) -> None:
@validate_call
def sessions(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
user_id: Annotated[Optional[StrictStr], Field(description="The ID of the user you wish to query sessions for.")] = None,
_request_timeout: Union[
None,
@@ -64,7 +63,7 @@ def sessions(
Returns a list of `Session` objects.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user you wish to query sessions for.
:type user_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -115,7 +114,7 @@ def sessions(
@validate_call
def sessions_with_http_info(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
user_id: Annotated[Optional[StrictStr], Field(description="The ID of the user you wish to query sessions for.")] = None,
_request_timeout: Union[
None,
@@ -135,7 +134,7 @@ def sessions_with_http_info(
Returns a list of `Session` objects.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user you wish to query sessions for.
:type user_id: str
:param _request_timeout: timeout setting for this request. If one
@@ -186,7 +185,7 @@ def sessions_with_http_info(
@validate_call
def sessions_without_preload_content(
self,
- resource_id: Annotated[UUID, Field(description="The ID of the resource.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource.")],
user_id: Annotated[Optional[StrictStr], Field(description="The ID of the user you wish to query sessions for.")] = None,
_request_timeout: Union[
None,
@@ -206,7 +205,7 @@ def sessions_without_preload_content(
Returns a list of `Session` objects.
:param resource_id: The ID of the resource. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param user_id: The ID of the user you wish to query sessions for.
:type user_id: str
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api/tags_api.py b/opal_security/api/tags_api.py
index d5ef75f..6a1ad3b 100644
--- a/opal_security/api/tags_api.py
+++ b/opal_security/api/tags_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import Any, Dict, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_tag_info import CreateTagInfo
from opal_security.models.paginated_tags_list import PaginatedTagsList
from opal_security.models.tag import Tag
@@ -46,8 +45,8 @@ def __init__(self, api_client=None) -> None:
@validate_call
def add_group_tag(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to apply the tag to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -66,9 +65,9 @@ def add_group_tag(
Applies a tag to a group.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param group_id: The ID of the group to apply the tag to. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -117,8 +116,8 @@ def add_group_tag(
@validate_call
def add_group_tag_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to apply the tag to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -137,9 +136,9 @@ def add_group_tag_with_http_info(
Applies a tag to a group.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param group_id: The ID of the group to apply the tag to. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -188,8 +187,8 @@ def add_group_tag_with_http_info(
@validate_call
def add_group_tag_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to apply the tag to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -208,9 +207,9 @@ def add_group_tag_without_preload_content(
Applies a tag to a group.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param group_id: The ID of the group to apply the tag to. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -315,8 +314,8 @@ def _add_group_tag_serialize(
@validate_call
def add_resource_tag(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to apply the tag to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -335,9 +334,9 @@ def add_resource_tag(
Applies a tag to a resource.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param resource_id: The ID of the resource to apply the tag to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -386,8 +385,8 @@ def add_resource_tag(
@validate_call
def add_resource_tag_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to apply the tag to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -406,9 +405,9 @@ def add_resource_tag_with_http_info(
Applies a tag to a resource.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param resource_id: The ID of the resource to apply the tag to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -457,8 +456,8 @@ def add_resource_tag_with_http_info(
@validate_call
def add_resource_tag_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to apply the tag to.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -477,9 +476,9 @@ def add_resource_tag_without_preload_content(
Applies a tag to a resource.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param resource_id: The ID of the resource to apply the tag to. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -584,8 +583,8 @@ def _add_resource_tag_serialize(
@validate_call
def add_user_tag(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to apply the tag to.")],
body: Optional[Dict[str, Any]] = None,
_request_timeout: Union[
None,
@@ -605,9 +604,9 @@ def add_user_tag(
Applies a tag to a user.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param user_id: The ID of the user to apply the tag to. (required)
- :type user_id: UUID
+ :type user_id: str
:param body:
:type body: object
:param _request_timeout: timeout setting for this request. If one
@@ -659,8 +658,8 @@ def add_user_tag(
@validate_call
def add_user_tag_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to apply the tag to.")],
body: Optional[Dict[str, Any]] = None,
_request_timeout: Union[
None,
@@ -680,9 +679,9 @@ def add_user_tag_with_http_info(
Applies a tag to a user.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param user_id: The ID of the user to apply the tag to. (required)
- :type user_id: UUID
+ :type user_id: str
:param body:
:type body: object
:param _request_timeout: timeout setting for this request. If one
@@ -734,8 +733,8 @@ def add_user_tag_with_http_info(
@validate_call
def add_user_tag_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to apply.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to apply the tag to.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to apply.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to apply the tag to.")],
body: Optional[Dict[str, Any]] = None,
_request_timeout: Union[
None,
@@ -755,9 +754,9 @@ def add_user_tag_without_preload_content(
Applies a tag to a user.
:param tag_id: The ID of the tag to apply. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param user_id: The ID of the user to apply the tag to. (required)
- :type user_id: UUID
+ :type user_id: str
:param body:
:type body: object
:param _request_timeout: timeout setting for this request. If one
@@ -883,7 +882,7 @@ def create_tag(
self,
tag_key: Annotated[Optional[StrictStr], Field(description="The key of the tag to create.")] = None,
tag_value: Annotated[Optional[StrictStr], Field(description="The value of the tag to create.")] = None,
- admin_owner_id: Annotated[Optional[UUID], Field(description="The ID of the owner that manages the tag.")] = None,
+ admin_owner_id: Annotated[Optional[StrictStr], Field(description="The ID of the owner that manages the tag.")] = None,
create_tag_info: Optional[CreateTagInfo] = None,
_request_timeout: Union[
None,
@@ -907,7 +906,7 @@ def create_tag(
:param tag_value: The value of the tag to create.
:type tag_value: str
:param admin_owner_id: The ID of the owner that manages the tag.
- :type admin_owner_id: UUID
+ :type admin_owner_id: str
:param create_tag_info:
:type create_tag_info: CreateTagInfo
:param _request_timeout: timeout setting for this request. If one
@@ -962,7 +961,7 @@ def create_tag_with_http_info(
self,
tag_key: Annotated[Optional[StrictStr], Field(description="The key of the tag to create.")] = None,
tag_value: Annotated[Optional[StrictStr], Field(description="The value of the tag to create.")] = None,
- admin_owner_id: Annotated[Optional[UUID], Field(description="The ID of the owner that manages the tag.")] = None,
+ admin_owner_id: Annotated[Optional[StrictStr], Field(description="The ID of the owner that manages the tag.")] = None,
create_tag_info: Optional[CreateTagInfo] = None,
_request_timeout: Union[
None,
@@ -986,7 +985,7 @@ def create_tag_with_http_info(
:param tag_value: The value of the tag to create.
:type tag_value: str
:param admin_owner_id: The ID of the owner that manages the tag.
- :type admin_owner_id: UUID
+ :type admin_owner_id: str
:param create_tag_info:
:type create_tag_info: CreateTagInfo
:param _request_timeout: timeout setting for this request. If one
@@ -1041,7 +1040,7 @@ def create_tag_without_preload_content(
self,
tag_key: Annotated[Optional[StrictStr], Field(description="The key of the tag to create.")] = None,
tag_value: Annotated[Optional[StrictStr], Field(description="The value of the tag to create.")] = None,
- admin_owner_id: Annotated[Optional[UUID], Field(description="The ID of the owner that manages the tag.")] = None,
+ admin_owner_id: Annotated[Optional[StrictStr], Field(description="The ID of the owner that manages the tag.")] = None,
create_tag_info: Optional[CreateTagInfo] = None,
_request_timeout: Union[
None,
@@ -1065,7 +1064,7 @@ def create_tag_without_preload_content(
:param tag_value: The value of the tag to create.
:type tag_value: str
:param admin_owner_id: The ID of the owner that manages the tag.
- :type admin_owner_id: UUID
+ :type admin_owner_id: str
:param create_tag_info:
:type create_tag_info: CreateTagInfo
:param _request_timeout: timeout setting for this request. If one
@@ -1206,7 +1205,7 @@ def _create_tag_serialize(
@validate_call
def delete_tag_by_id(
self,
- tag_id: Annotated[UUID, Field(description="The tag ID")],
+ tag_id: Annotated[StrictStr, Field(description="The tag ID")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1225,7 +1224,7 @@ def delete_tag_by_id(
UNSTABLE. May be removed at any time. Deletes a tag with the given id.
:param tag_id: The tag ID (required)
- :type tag_id: UUID
+ :type tag_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1273,7 +1272,7 @@ def delete_tag_by_id(
@validate_call
def delete_tag_by_id_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The tag ID")],
+ tag_id: Annotated[StrictStr, Field(description="The tag ID")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1292,7 +1291,7 @@ def delete_tag_by_id_with_http_info(
UNSTABLE. May be removed at any time. Deletes a tag with the given id.
:param tag_id: The tag ID (required)
- :type tag_id: UUID
+ :type tag_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1340,7 +1339,7 @@ def delete_tag_by_id_with_http_info(
@validate_call
def delete_tag_by_id_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The tag ID")],
+ tag_id: Annotated[StrictStr, Field(description="The tag ID")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1359,7 +1358,7 @@ def delete_tag_by_id_without_preload_content(
UNSTABLE. May be removed at any time. Deletes a tag with the given id.
:param tag_id: The tag ID (required)
- :type tag_id: UUID
+ :type tag_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1740,7 +1739,7 @@ def _get_tag_serialize(
@validate_call
def get_tag_by_id(
self,
- tag_id: Annotated[UUID, Field(description="The tag ID")],
+ tag_id: Annotated[StrictStr, Field(description="The tag ID")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1759,7 +1758,7 @@ def get_tag_by_id(
UNSTABLE. May be removed at any time. Gets a tag with the given id.
:param tag_id: The tag ID (required)
- :type tag_id: UUID
+ :type tag_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1807,7 +1806,7 @@ def get_tag_by_id(
@validate_call
def get_tag_by_id_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The tag ID")],
+ tag_id: Annotated[StrictStr, Field(description="The tag ID")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1826,7 +1825,7 @@ def get_tag_by_id_with_http_info(
UNSTABLE. May be removed at any time. Gets a tag with the given id.
:param tag_id: The tag ID (required)
- :type tag_id: UUID
+ :type tag_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -1874,7 +1873,7 @@ def get_tag_by_id_with_http_info(
@validate_call
def get_tag_by_id_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The tag ID")],
+ tag_id: Annotated[StrictStr, Field(description="The tag ID")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -1893,7 +1892,7 @@ def get_tag_by_id_without_preload_content(
UNSTABLE. May be removed at any time. Gets a tag with the given id.
:param tag_id: The tag ID (required)
- :type tag_id: UUID
+ :type tag_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2281,8 +2280,8 @@ def _get_tags_serialize(
@validate_call
def remove_group_tag(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2301,9 +2300,9 @@ def remove_group_tag(
Removes a tag from a group.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param group_id: The ID of the group to remove the tag from. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2352,8 +2351,8 @@ def remove_group_tag(
@validate_call
def remove_group_tag_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2372,9 +2371,9 @@ def remove_group_tag_with_http_info(
Removes a tag from a group.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param group_id: The ID of the group to remove the tag from. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2423,8 +2422,8 @@ def remove_group_tag_with_http_info(
@validate_call
def remove_group_tag_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- group_id: Annotated[UUID, Field(description="The ID of the group to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ group_id: Annotated[StrictStr, Field(description="The ID of the group to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2443,9 +2442,9 @@ def remove_group_tag_without_preload_content(
Removes a tag from a group.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param group_id: The ID of the group to remove the tag from. (required)
- :type group_id: UUID
+ :type group_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2550,8 +2549,8 @@ def _remove_group_tag_serialize(
@validate_call
def remove_resource_tag(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2570,9 +2569,9 @@ def remove_resource_tag(
Removes a tag from a resource.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param resource_id: The ID of the resource to remove the tag from. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2621,8 +2620,8 @@ def remove_resource_tag(
@validate_call
def remove_resource_tag_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2641,9 +2640,9 @@ def remove_resource_tag_with_http_info(
Removes a tag from a resource.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param resource_id: The ID of the resource to remove the tag from. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2692,8 +2691,8 @@ def remove_resource_tag_with_http_info(
@validate_call
def remove_resource_tag_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- resource_id: Annotated[UUID, Field(description="The ID of the resource to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ resource_id: Annotated[StrictStr, Field(description="The ID of the resource to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2712,9 +2711,9 @@ def remove_resource_tag_without_preload_content(
Removes a tag from a resource.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param resource_id: The ID of the resource to remove the tag from. (required)
- :type resource_id: UUID
+ :type resource_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2819,8 +2818,8 @@ def _remove_resource_tag_serialize(
@validate_call
def remove_user_tag(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2839,9 +2838,9 @@ def remove_user_tag(
Removes a tag from a user.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param user_id: The ID of the user to remove the tag from. (required)
- :type user_id: UUID
+ :type user_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2890,8 +2889,8 @@ def remove_user_tag(
@validate_call
def remove_user_tag_with_http_info(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2910,9 +2909,9 @@ def remove_user_tag_with_http_info(
Removes a tag from a user.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param user_id: The ID of the user to remove the tag from. (required)
- :type user_id: UUID
+ :type user_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -2961,8 +2960,8 @@ def remove_user_tag_with_http_info(
@validate_call
def remove_user_tag_without_preload_content(
self,
- tag_id: Annotated[UUID, Field(description="The ID of the tag to remove.")],
- user_id: Annotated[UUID, Field(description="The ID of the user to remove the tag from.")],
+ tag_id: Annotated[StrictStr, Field(description="The ID of the tag to remove.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user to remove the tag from.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -2981,9 +2980,9 @@ def remove_user_tag_without_preload_content(
Removes a tag from a user.
:param tag_id: The ID of the tag to remove. (required)
- :type tag_id: UUID
+ :type tag_id: str
:param user_id: The ID of the user to remove the tag from. (required)
- :type user_id: UUID
+ :type user_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/tokens_api.py b/opal_security/api/tokens_api.py
new file mode 100644
index 0000000..e9c6e9d
--- /dev/null
+++ b/opal_security/api/tokens_api.py
@@ -0,0 +1,615 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+import warnings
+from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
+from typing import Any, Dict, List, Optional, Tuple, Union
+from typing_extensions import Annotated
+
+from pydantic import Field, StrictStr
+from typing import List, Optional
+from typing_extensions import Annotated
+from opal_security.models.paginated_tokens_list import PaginatedTokensList
+
+from opal_security.api_client import ApiClient, RequestSerialized
+from opal_security.api_response import ApiResponse
+from opal_security.rest import RESTResponseType
+
+
+class TokensApi:
+ """NOTE: This class is auto generated by OpenAPI Generator
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+ """
+
+ def __init__(self, api_client=None) -> None:
+ if api_client is None:
+ api_client = ApiClient.get_default()
+ self.api_client = api_client
+
+
+ @validate_call
+ def delete_token(
+ self,
+ token_id: Annotated[StrictStr, Field(description="The ID of the token to delete.")],
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> None:
+ """Delete token
+
+ Deletes a first-party API token. Admins can delete any token. Non-admins can only delete their own tokens when the organization allows all users to create API tokens.
+
+ :param token_id: The ID of the token to delete. (required)
+ :type token_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._delete_token_serialize(
+ token_id=token_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': None,
+ '403': None,
+ '404': None,
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def delete_token_with_http_info(
+ self,
+ token_id: Annotated[StrictStr, Field(description="The ID of the token to delete.")],
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[None]:
+ """Delete token
+
+ Deletes a first-party API token. Admins can delete any token. Non-admins can only delete their own tokens when the organization allows all users to create API tokens.
+
+ :param token_id: The ID of the token to delete. (required)
+ :type token_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._delete_token_serialize(
+ token_id=token_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': None,
+ '403': None,
+ '404': None,
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def delete_token_without_preload_content(
+ self,
+ token_id: Annotated[StrictStr, Field(description="The ID of the token to delete.")],
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Delete token
+
+ Deletes a first-party API token. Admins can delete any token. Non-admins can only delete their own tokens when the organization allows all users to create API tokens.
+
+ :param token_id: The ID of the token to delete. (required)
+ :type token_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._delete_token_serialize(
+ token_id=token_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': None,
+ '403': None,
+ '404': None,
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _delete_token_serialize(
+ self,
+ token_id,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ if token_id is not None:
+ _path_params['token_id'] = token_id
+ # process the query parameters
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'BearerAuth'
+ ]
+
+ return self.api_client.param_serialize(
+ method='DELETE',
+ resource_path='/tokens/{token_id}',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
+
+
+ @validate_call
+ def get_tokens(
+ self,
+ cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
+ token_ids: Annotated[Optional[List[StrictStr]], Field(description="Filter by token IDs.")] = None,
+ user_id: Annotated[Optional[StrictStr], Field(description="Filter by user ID.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> PaginatedTokensList:
+ """Get tokens
+
+ Returns a list of first-party API tokens for your organization. Requires admin access.
+
+ :param cursor: The pagination cursor value.
+ :type cursor: str
+ :param page_size: Number of results to return per page. Default is 200.
+ :type page_size: int
+ :param token_ids: Filter by token IDs.
+ :type token_ids: List[str]
+ :param user_id: Filter by user ID.
+ :type user_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_tokens_serialize(
+ cursor=cursor,
+ page_size=page_size,
+ token_ids=token_ids,
+ user_id=user_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "PaginatedTokensList",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def get_tokens_with_http_info(
+ self,
+ cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
+ token_ids: Annotated[Optional[List[StrictStr]], Field(description="Filter by token IDs.")] = None,
+ user_id: Annotated[Optional[StrictStr], Field(description="Filter by user ID.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[PaginatedTokensList]:
+ """Get tokens
+
+ Returns a list of first-party API tokens for your organization. Requires admin access.
+
+ :param cursor: The pagination cursor value.
+ :type cursor: str
+ :param page_size: Number of results to return per page. Default is 200.
+ :type page_size: int
+ :param token_ids: Filter by token IDs.
+ :type token_ids: List[str]
+ :param user_id: Filter by user ID.
+ :type user_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_tokens_serialize(
+ cursor=cursor,
+ page_size=page_size,
+ token_ids=token_ids,
+ user_id=user_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "PaginatedTokensList",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def get_tokens_without_preload_content(
+ self,
+ cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
+ page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
+ token_ids: Annotated[Optional[List[StrictStr]], Field(description="Filter by token IDs.")] = None,
+ user_id: Annotated[Optional[StrictStr], Field(description="Filter by user ID.")] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Get tokens
+
+ Returns a list of first-party API tokens for your organization. Requires admin access.
+
+ :param cursor: The pagination cursor value.
+ :type cursor: str
+ :param page_size: Number of results to return per page. Default is 200.
+ :type page_size: int
+ :param token_ids: Filter by token IDs.
+ :type token_ids: List[str]
+ :param user_id: Filter by user ID.
+ :type user_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_tokens_serialize(
+ cursor=cursor,
+ page_size=page_size,
+ token_ids=token_ids,
+ user_id=user_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "PaginatedTokensList",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_tokens_serialize(
+ self,
+ cursor,
+ page_size,
+ token_ids,
+ user_id,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ 'token_ids': 'csv',
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ # process the query parameters
+ if cursor is not None:
+
+ _query_params.append(('cursor', cursor))
+
+ if page_size is not None:
+
+ _query_params.append(('page_size', page_size))
+
+ if token_ids is not None:
+
+ _query_params.append(('token_ids', token_ids))
+
+ if user_id is not None:
+
+ _query_params.append(('user_id', user_id))
+
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'BearerAuth'
+ ]
+
+ return self.api_client.param_serialize(
+ method='GET',
+ resource_path='/tokens',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
diff --git a/opal_security/api/uars_api.py b/opal_security/api/uars_api.py
index f3f0df1..36d22dc 100644
--- a/opal_security/api/uars_api.py
+++ b/opal_security/api/uars_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_uar_info import CreateUARInfo
from opal_security.models.paginated_uars_list import PaginatedUARsList
from opal_security.models.uar import UAR
@@ -320,7 +319,7 @@ def _create_uar_serialize(
@validate_call
def get_uar(
self,
- uar_id: Annotated[UUID, Field(description="The ID of the UAR.")],
+ uar_id: Annotated[StrictStr, Field(description="The ID of the UAR.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -339,7 +338,7 @@ def get_uar(
Retrieves a specific UAR.
:param uar_id: The ID of the UAR. (required)
- :type uar_id: UUID
+ :type uar_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -387,7 +386,7 @@ def get_uar(
@validate_call
def get_uar_with_http_info(
self,
- uar_id: Annotated[UUID, Field(description="The ID of the UAR.")],
+ uar_id: Annotated[StrictStr, Field(description="The ID of the UAR.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -406,7 +405,7 @@ def get_uar_with_http_info(
Retrieves a specific UAR.
:param uar_id: The ID of the UAR. (required)
- :type uar_id: UUID
+ :type uar_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -454,7 +453,7 @@ def get_uar_with_http_info(
@validate_call
def get_uar_without_preload_content(
self,
- uar_id: Annotated[UUID, Field(description="The ID of the UAR.")],
+ uar_id: Annotated[StrictStr, Field(description="The ID of the UAR.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -473,7 +472,7 @@ def get_uar_without_preload_content(
Retrieves a specific UAR.
:param uar_id: The ID of the UAR. (required)
- :type uar_id: UUID
+ :type uar_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
diff --git a/opal_security/api/users_api.py b/opal_security/api/users_api.py
index cdb9cd0..bab1a9f 100644
--- a/opal_security/api/users_api.py
+++ b/opal_security/api/users_api.py
@@ -20,7 +20,6 @@
from pydantic import Field, StrictStr
from typing import List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.paginated_remote_users_list import PaginatedRemoteUsersList
from opal_security.models.paginated_users_list import PaginatedUsersList
from opal_security.models.tags_list import TagsList
@@ -49,7 +48,7 @@ def __init__(self, api_client=None) -> None:
def get_remote_users(
self,
third_party_provider: Annotated[Optional[List[ThirdPartyProviderEnum]], Field(description="Filter remote users by their third party provider.")] = None,
- user_id: Annotated[Optional[List[UUID]], Field(description="Filter remote users by their user ID.")] = None,
+ user_id: Annotated[Optional[List[StrictStr]], Field(description="Filter remote users by their user ID.")] = None,
remote_id: Annotated[Optional[List[StrictStr]], Field(description="Filter remote users by their remote ID.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
@@ -73,7 +72,7 @@ def get_remote_users(
:param third_party_provider: Filter remote users by their third party provider.
:type third_party_provider: List[ThirdPartyProviderEnum]
:param user_id: Filter remote users by their user ID.
- :type user_id: List[UUID]
+ :type user_id: List[str]
:param remote_id: Filter remote users by their remote ID.
:type remote_id: List[str]
:param cursor: The pagination cursor value.
@@ -132,7 +131,7 @@ def get_remote_users(
def get_remote_users_with_http_info(
self,
third_party_provider: Annotated[Optional[List[ThirdPartyProviderEnum]], Field(description="Filter remote users by their third party provider.")] = None,
- user_id: Annotated[Optional[List[UUID]], Field(description="Filter remote users by their user ID.")] = None,
+ user_id: Annotated[Optional[List[StrictStr]], Field(description="Filter remote users by their user ID.")] = None,
remote_id: Annotated[Optional[List[StrictStr]], Field(description="Filter remote users by their remote ID.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
@@ -156,7 +155,7 @@ def get_remote_users_with_http_info(
:param third_party_provider: Filter remote users by their third party provider.
:type third_party_provider: List[ThirdPartyProviderEnum]
:param user_id: Filter remote users by their user ID.
- :type user_id: List[UUID]
+ :type user_id: List[str]
:param remote_id: Filter remote users by their remote ID.
:type remote_id: List[str]
:param cursor: The pagination cursor value.
@@ -215,7 +214,7 @@ def get_remote_users_with_http_info(
def get_remote_users_without_preload_content(
self,
third_party_provider: Annotated[Optional[List[ThirdPartyProviderEnum]], Field(description="Filter remote users by their third party provider.")] = None,
- user_id: Annotated[Optional[List[UUID]], Field(description="Filter remote users by their user ID.")] = None,
+ user_id: Annotated[Optional[List[StrictStr]], Field(description="Filter remote users by their user ID.")] = None,
remote_id: Annotated[Optional[List[StrictStr]], Field(description="Filter remote users by their remote ID.")] = None,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
@@ -239,7 +238,7 @@ def get_remote_users_without_preload_content(
:param third_party_provider: Filter remote users by their third party provider.
:type third_party_provider: List[ThirdPartyProviderEnum]
:param user_id: Filter remote users by their user ID.
- :type user_id: List[UUID]
+ :type user_id: List[str]
:param remote_id: Filter remote users by their remote ID.
:type remote_id: List[str]
:param cursor: The pagination cursor value.
@@ -382,7 +381,7 @@ def _get_remote_users_serialize(
@validate_call
def get_user_tags(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user whose tags to return.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -401,7 +400,7 @@ def get_user_tags(
Returns all tags applied to the user.
:param user_id: The ID of the user whose tags to return. (required)
- :type user_id: UUID
+ :type user_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -449,7 +448,7 @@ def get_user_tags(
@validate_call
def get_user_tags_with_http_info(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user whose tags to return.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -468,7 +467,7 @@ def get_user_tags_with_http_info(
Returns all tags applied to the user.
:param user_id: The ID of the user whose tags to return. (required)
- :type user_id: UUID
+ :type user_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -516,7 +515,7 @@ def get_user_tags_with_http_info(
@validate_call
def get_user_tags_without_preload_content(
self,
- user_id: Annotated[UUID, Field(description="The ID of the user whose tags to return.")],
+ user_id: Annotated[StrictStr, Field(description="The ID of the user whose tags to return.")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -535,7 +534,7 @@ def get_user_tags_without_preload_content(
Returns all tags applied to the user.
:param user_id: The ID of the user whose tags to return. (required)
- :type user_id: UUID
+ :type user_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -645,6 +644,7 @@ def get_users(
self,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only users that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -666,6 +666,8 @@ def get_users(
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
:type page_size: int
+ :param tag_ids: The IDs of the tags to filter by. Returns only users that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -691,6 +693,7 @@ def get_users(
_param = self._get_users_serialize(
cursor=cursor,
page_size=page_size,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -716,6 +719,7 @@ def get_users_with_http_info(
self,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only users that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -737,6 +741,8 @@ def get_users_with_http_info(
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
:type page_size: int
+ :param tag_ids: The IDs of the tags to filter by. Returns only users that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -762,6 +768,7 @@ def get_users_with_http_info(
_param = self._get_users_serialize(
cursor=cursor,
page_size=page_size,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -787,6 +794,7 @@ def get_users_without_preload_content(
self,
cursor: Annotated[Optional[StrictStr], Field(description="The pagination cursor value.")] = None,
page_size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True)]], Field(description="Number of results to return per page. Default is 200.")] = None,
+ tag_ids: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the tags to filter by. Returns only users that have any of these tags applied.")] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -808,6 +816,8 @@ def get_users_without_preload_content(
:type cursor: str
:param page_size: Number of results to return per page. Default is 200.
:type page_size: int
+ :param tag_ids: The IDs of the tags to filter by. Returns only users that have any of these tags applied.
+ :type tag_ids: List[str]
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -833,6 +843,7 @@ def get_users_without_preload_content(
_param = self._get_users_serialize(
cursor=cursor,
page_size=page_size,
+ tag_ids=tag_ids,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -853,6 +864,7 @@ def _get_users_serialize(
self,
cursor,
page_size,
+ tag_ids,
_request_auth,
_content_type,
_headers,
@@ -862,6 +874,7 @@ def _get_users_serialize(
_host = None
_collection_formats: Dict[str, str] = {
+ 'tag_ids': 'multi',
}
_path_params: Dict[str, str] = {}
@@ -883,6 +896,10 @@ def _get_users_serialize(
_query_params.append(('page_size', page_size))
+ if tag_ids is not None:
+
+ _query_params.append(('tag_ids', tag_ids))
+
# process the header parameters
# process the form parameters
# process the body parameter
@@ -923,7 +940,7 @@ def _get_users_serialize(
@validate_call
def user(
self,
- user_id: Annotated[Optional[UUID], Field(description="The user ID of the user.")] = None,
+ user_id: Annotated[Optional[StrictStr], Field(description="The user ID of the user.")] = None,
email: Annotated[Optional[StrictStr], Field(description="The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur.")] = None,
_request_timeout: Union[
None,
@@ -943,7 +960,7 @@ def user(
Returns a `User` object.
:param user_id: The user ID of the user.
- :type user_id: UUID
+ :type user_id: str
:param email: The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur.
:type email: str
:param _request_timeout: timeout setting for this request. If one
@@ -994,7 +1011,7 @@ def user(
@validate_call
def user_with_http_info(
self,
- user_id: Annotated[Optional[UUID], Field(description="The user ID of the user.")] = None,
+ user_id: Annotated[Optional[StrictStr], Field(description="The user ID of the user.")] = None,
email: Annotated[Optional[StrictStr], Field(description="The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur.")] = None,
_request_timeout: Union[
None,
@@ -1014,7 +1031,7 @@ def user_with_http_info(
Returns a `User` object.
:param user_id: The user ID of the user.
- :type user_id: UUID
+ :type user_id: str
:param email: The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur.
:type email: str
:param _request_timeout: timeout setting for this request. If one
@@ -1065,7 +1082,7 @@ def user_with_http_info(
@validate_call
def user_without_preload_content(
self,
- user_id: Annotated[Optional[UUID], Field(description="The user ID of the user.")] = None,
+ user_id: Annotated[Optional[StrictStr], Field(description="The user ID of the user.")] = None,
email: Annotated[Optional[StrictStr], Field(description="The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur.")] = None,
_request_timeout: Union[
None,
@@ -1085,7 +1102,7 @@ def user_without_preload_content(
Returns a `User` object.
:param user_id: The user ID of the user.
- :type user_id: UUID
+ :type user_id: str
:param email: The email of the user. If both user ID and email are provided, user ID will take precedence. If neither are provided, an error will occur.
:type email: str
:param _request_timeout: timeout setting for this request. If one
diff --git a/opal_security/api_client.py b/opal_security/api_client.py
index 5492861..a99efc4 100644
--- a/opal_security/api_client.py
+++ b/opal_security/api_client.py
@@ -22,7 +22,6 @@
import os
import re
import tempfile
-import uuid
from urllib.parse import quote
from typing import Tuple, Optional, List, Dict, Union
@@ -313,7 +312,7 @@ def response_deserialize(
return_data = self.__deserialize_file(response_data)
elif response_type is not None:
match = None
- content_type = response_data.headers.get('content-type')
+ content_type = response_data.getheader('content-type')
if content_type is not None:
match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type)
encoding = match.group(1) if match else "utf-8"
@@ -330,7 +329,7 @@ def response_deserialize(
return ApiResponse(
status_code = response_data.status,
data = return_data,
- headers = response_data.headers,
+ headers = response_data.getheaders(),
raw_data = response_data.data
)
@@ -358,8 +357,6 @@ def sanitize_for_serialization(self, obj):
return obj.get_secret_value()
elif isinstance(obj, self.PRIMITIVE_TYPES):
return obj
- elif isinstance(obj, uuid.UUID):
- return str(obj)
elif isinstance(obj, list):
return [
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
@@ -386,10 +383,6 @@ def sanitize_for_serialization(self, obj):
else:
obj_dict = obj.__dict__
- if isinstance(obj_dict, list):
- # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict()
- return self.sanitize_for_serialization(obj_dict)
-
return {
key: self.sanitize_for_serialization(val)
for key, val in obj_dict.items()
@@ -412,7 +405,7 @@ def deserialize(self, response_text: str, response_type: str, content_type: Opti
data = json.loads(response_text)
except ValueError:
data = response_text
- elif re.match(r'^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE):
+ elif re.match(r'^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE):
if response_text == "":
data = ""
else:
@@ -461,13 +454,13 @@ def __deserialize(self, data, klass):
if klass in self.PRIMITIVE_TYPES:
return self.__deserialize_primitive(data, klass)
- elif klass is object:
+ elif klass == object:
return self.__deserialize_object(data)
- elif klass is datetime.date:
+ elif klass == datetime.date:
return self.__deserialize_date(data)
- elif klass is datetime.datetime:
+ elif klass == datetime.datetime:
return self.__deserialize_datetime(data)
- elif klass is decimal.Decimal:
+ elif klass == decimal.Decimal:
return decimal.Decimal(data)
elif issubclass(klass, Enum):
return self.__deserialize_enum(data, klass)
@@ -525,7 +518,7 @@ def parameters_to_url_query(self, params, collection_formats):
if k in collection_formats:
collection_format = collection_formats[k]
if collection_format == 'multi':
- new_params.extend((k, quote(str(value))) for value in v)
+ new_params.extend((k, str(value)) for value in v)
else:
if collection_format == 'ssv':
delimiter = ' '
@@ -702,7 +695,7 @@ def __deserialize_file(self, response):
os.close(fd)
os.remove(path)
- content_disposition = response.headers.get("Content-Disposition")
+ content_disposition = response.getheader("Content-Disposition")
if content_disposition:
m = re.search(
r'filename=[\'"]?([^\'"\s]+)[\'"]?',
diff --git a/opal_security/configuration.py b/opal_security/configuration.py
index d66db0a..f8a4d28 100644
--- a/opal_security/configuration.py
+++ b/opal_security/configuration.py
@@ -19,7 +19,7 @@
from logging import FileHandler
import multiprocessing
import sys
-from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
+from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict
from typing_extensions import NotRequired, Self
import urllib3
@@ -162,10 +162,6 @@ class Configuration:
:param ssl_ca_cert: str - the path to a file of concatenated CA certificates
in PEM format.
:param retries: Number of retries for API requests.
- :param ca_cert_data: verify the peer using concatenated CA certificate data
- in PEM (str) or DER (bytes) format.
- :param cert_file: the path to a client certificate file, for mTLS.
- :param key_file: the path to a client key file, for mTLS.
:Example:
"""
@@ -180,16 +176,13 @@ def __init__(
username: Optional[str]=None,
password: Optional[str]=None,
access_token: Optional[str]=None,
- server_index: Optional[int]=None,
+ server_index: Optional[int]=None,
server_variables: Optional[ServerVariablesT]=None,
server_operation_index: Optional[Dict[int, int]]=None,
server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None,
ignore_operation_servers: bool=False,
ssl_ca_cert: Optional[str]=None,
retries: Optional[int] = None,
- ca_cert_data: Optional[Union[str, bytes]] = None,
- cert_file: Optional[str]=None,
- key_file: Optional[str]=None,
*,
debug: Optional[bool] = None,
) -> None:
@@ -267,14 +260,10 @@ def __init__(
self.ssl_ca_cert = ssl_ca_cert
"""Set this to customize the certificate file to verify the peer.
"""
- self.ca_cert_data = ca_cert_data
- """Set this to verify the peer using PEM (str) or DER (bytes)
- certificate data.
- """
- self.cert_file = cert_file
+ self.cert_file = None
"""client certificate file
"""
- self.key_file = key_file
+ self.key_file = None
"""client key file
"""
self.assert_hostname = None
@@ -487,7 +476,6 @@ def get_basic_auth_token(self) -> Optional[str]:
password = ""
if self.password is not None:
password = self.password
-
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
@@ -564,7 +552,6 @@ def get_host_from_settings(
variable_name, variable['default_value'])
if 'enum_values' in variable \
- and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "
diff --git a/opal_security/exceptions.py b/opal_security/exceptions.py
index 1c1f98a..12f9285 100644
--- a/opal_security/exceptions.py
+++ b/opal_security/exceptions.py
@@ -129,7 +129,7 @@ def __init__(
self.body = http_resp.data.decode('utf-8')
except Exception:
pass
- self.headers = http_resp.headers
+ self.headers = http_resp.getheaders()
@classmethod
def from_response(
@@ -151,13 +151,6 @@ def from_response(
if http_resp.status == 404:
raise NotFoundException(http_resp=http_resp, body=body, data=data)
- # Added new conditions for 409 and 422
- if http_resp.status == 409:
- raise ConflictException(http_resp=http_resp, body=body, data=data)
-
- if http_resp.status == 422:
- raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data)
-
if 500 <= http_resp.status <= 599:
raise ServiceException(http_resp=http_resp, body=body, data=data)
raise ApiException(http_resp=http_resp, body=body, data=data)
@@ -170,11 +163,8 @@ def __str__(self):
error_message += "HTTP response headers: {0}\n".format(
self.headers)
- if self.body:
- error_message += "HTTP response body: {0}\n".format(self.body)
-
- if self.data:
- error_message += "HTTP response data: {0}\n".format(self.data)
+ if self.data or self.body:
+ error_message += "HTTP response body: {0}\n".format(self.data or self.body)
return error_message
@@ -199,16 +189,6 @@ class ServiceException(ApiException):
pass
-class ConflictException(ApiException):
- """Exception for HTTP 409 Conflict."""
- pass
-
-
-class UnprocessableEntityException(ApiException):
- """Exception for HTTP 422 Unprocessable Entity."""
- pass
-
-
def render_path(path_to_item):
"""Returns a string representation of a path"""
result = ""
diff --git a/opal_security/models/__init__.py b/opal_security/models/__init__.py
index fdbf08f..da47262 100644
--- a/opal_security/models/__init__.py
+++ b/opal_security/models/__init__.py
@@ -13,6 +13,7 @@
Do not edit the class manually.
""" # noqa: E501
+
# import models into model package
from opal_security.models.access import Access
from opal_security.models.access_list import AccessList
@@ -23,6 +24,7 @@
from opal_security.models.add_group_user_request import AddGroupUserRequest
from opal_security.models.add_resource_nhi_request import AddResourceNhiRequest
from opal_security.models.add_resource_user_request import AddResourceUserRequest
+from opal_security.models.api_access_level_enum import ApiAccessLevelEnum
from opal_security.models.app import App
from opal_security.models.app_type_enum import AppTypeEnum
from opal_security.models.app_validation import AppValidation
@@ -75,6 +77,7 @@
from opal_security.models.group_remote_info_aws_sso_group import GroupRemoteInfoAwsSsoGroup
from opal_security.models.group_remote_info_azure_ad_microsoft365_group import GroupRemoteInfoAzureAdMicrosoft365Group
from opal_security.models.group_remote_info_azure_ad_security_group import GroupRemoteInfoAzureAdSecurityGroup
+from opal_security.models.group_remote_info_clickhouse_role import GroupRemoteInfoClickhouseRole
from opal_security.models.group_remote_info_connector_group import GroupRemoteInfoConnectorGroup
from opal_security.models.group_remote_info_databricks_account_group import GroupRemoteInfoDatabricksAccountGroup
from opal_security.models.group_remote_info_devin_group import GroupRemoteInfoDevinGroup
@@ -91,6 +94,7 @@
from opal_security.models.group_remote_info_rootly_on_call_schedule import GroupRemoteInfoRootlyOnCallSchedule
from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole
from opal_security.models.group_remote_info_tailscale_group import GroupRemoteInfoTailscaleGroup
+from opal_security.models.group_remote_info_twingate_group import GroupRemoteInfoTwingateGroup
from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
from opal_security.models.group_resource import GroupResource
from opal_security.models.group_resource_list import GroupResourceList
@@ -123,6 +127,7 @@
from opal_security.models.paginated_remote_users_list import PaginatedRemoteUsersList
from opal_security.models.paginated_resources_list import PaginatedResourcesList
from opal_security.models.paginated_tags_list import PaginatedTagsList
+from opal_security.models.paginated_tokens_list import PaginatedTokensList
from opal_security.models.paginated_uars_list import PaginatedUARsList
from opal_security.models.paginated_users_list import PaginatedUsersList
from opal_security.models.propagation_status import PropagationStatus
@@ -174,10 +179,13 @@
from opal_security.models.resource_remote_info_azure_subscription import ResourceRemoteInfoAzureSubscription
from opal_security.models.resource_remote_info_azure_user_assigned_managed_identity import ResourceRemoteInfoAzureUserAssignedManagedIdentity
from opal_security.models.resource_remote_info_azure_virtual_machine import ResourceRemoteInfoAzureVirtualMachine
+from opal_security.models.resource_remote_info_clickhouse_database import ResourceRemoteInfoClickhouseDatabase
+from opal_security.models.resource_remote_info_clickhouse_table import ResourceRemoteInfoClickhouseTable
from opal_security.models.resource_remote_info_coupa_role import ResourceRemoteInfoCoupaRole
from opal_security.models.resource_remote_info_cursor_organization import ResourceRemoteInfoCursorOrganization
from opal_security.models.resource_remote_info_custom_connector import ResourceRemoteInfoCustomConnector
from opal_security.models.resource_remote_info_databricks_account_service_principal import ResourceRemoteInfoDatabricksAccountServicePrincipal
+from opal_security.models.resource_remote_info_datadog_role import ResourceRemoteInfoDatadogRole
from opal_security.models.resource_remote_info_datastax_astra_role import ResourceRemoteInfoDatastaxAstraRole
from opal_security.models.resource_remote_info_devin_organization import ResourceRemoteInfoDevinOrganization
from opal_security.models.resource_remote_info_devin_role import ResourceRemoteInfoDevinRole
@@ -198,6 +206,7 @@
from opal_security.models.resource_remote_info_gitlab_project import ResourceRemoteInfoGitlabProject
from opal_security.models.resource_remote_info_google_workspace_role import ResourceRemoteInfoGoogleWorkspaceRole
from opal_security.models.resource_remote_info_ilevel_advanced_role import ResourceRemoteInfoIlevelAdvancedRole
+from opal_security.models.resource_remote_info_netsuite_role import ResourceRemoteInfoNetsuiteRole
from opal_security.models.resource_remote_info_okta_app import ResourceRemoteInfoOktaApp
from opal_security.models.resource_remote_info_okta_custom_role import ResourceRemoteInfoOktaCustomRole
from opal_security.models.resource_remote_info_okta_standard_role import ResourceRemoteInfoOktaStandardRole
@@ -213,6 +222,7 @@
from opal_security.models.resource_remote_info_snowflake_table import ResourceRemoteInfoSnowflakeTable
from opal_security.models.resource_remote_info_tailscale_ssh import ResourceRemoteInfoTailscaleSsh
from opal_security.models.resource_remote_info_teleport_role import ResourceRemoteInfoTeleportRole
+from opal_security.models.resource_remote_info_twingate_resource import ResourceRemoteInfoTwingateResource
from opal_security.models.resource_remote_info_workday_role import ResourceRemoteInfoWorkdayRole
from opal_security.models.resource_type_enum import ResourceTypeEnum
from opal_security.models.resource_user import ResourceUser
@@ -244,6 +254,7 @@
from opal_security.models.third_party_provider_enum import ThirdPartyProviderEnum
from opal_security.models.ticket_propagation_configuration import TicketPropagationConfiguration
from opal_security.models.ticketing_provider_enum import TicketingProviderEnum
+from opal_security.models.token import Token
from opal_security.models.uar import UAR
from opal_security.models.uar_reviewer_assignment_policy_enum import UARReviewerAssignmentPolicyEnum
from opal_security.models.uar_scope import UARScope
@@ -268,4 +279,3 @@
from opal_security.models.user_list import UserList
from opal_security.models.visibility_info import VisibilityInfo
from opal_security.models.visibility_type_enum import VisibilityTypeEnum
-
diff --git a/opal_security/models/access.py b/opal_security/models/access.py
index bddddea..2b0a349 100644
--- a/opal_security/models/access.py
+++ b/opal_security/models/access.py
@@ -19,9 +19,8 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.entity_type_enum import EntityTypeEnum
from opal_security.models.resource_access_level import ResourceAccessLevel
from typing import Optional, Set
@@ -31,9 +30,9 @@ class Access(BaseModel):
"""
# Access Object ### Description The `Access` object is used to represent a principal's access to an entity, either directly or inherited. ### Usage Example Fetch from the `LIST ResourceNonHumanIdentities` endpoint.
""" # noqa: E501
- principal_id: UUID = Field(description="The ID of the principal with access.")
+ principal_id: StrictStr = Field(description="The ID of the principal with access.")
principal_type: EntityTypeEnum
- entity_id: UUID = Field(description="The ID of the entity being accessed.")
+ entity_id: StrictStr = Field(description="The ID of the entity being accessed.")
entity_type: EntityTypeEnum
access_level: Optional[ResourceAccessLevel] = None
expiration_date: Optional[datetime] = Field(default=None, description="The day and time the principal's access will expire.")
diff --git a/opal_security/models/access_rule.py b/opal_security/models/access_rule.py
index 74438db..ed3e0f8 100644
--- a/opal_security/models/access_rule.py
+++ b/opal_security/models/access_rule.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.rule_clauses import RuleClauses
from typing import Optional, Set
from typing_extensions import Self
@@ -29,10 +28,10 @@ class AccessRule(BaseModel):
"""
# Access Rule Object ### Description The `AccessRule` object is used to represent an access rule configuration. ### Usage Example Get access rule configurations from the `GET Access Rule Configs` endpoint.
""" # noqa: E501
- access_rule_id: UUID = Field(description="The ID (group ID) of the access rule.")
+ access_rule_id: StrictStr = Field(description="The ID (group ID) of the access rule.")
name: StrictStr = Field(description="The name of the access rule.")
description: StrictStr = Field(description="A description of the group.")
- admin_owner_id: UUID = Field(description="The ID of the owner of the group.")
+ admin_owner_id: StrictStr = Field(description="The ID of the owner of the group.")
status: StrictStr = Field(description="The status of the access rule.")
rule_clauses: RuleClauses = Field(alias="ruleClauses")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/add_bundle_group_request.py b/opal_security/models/add_bundle_group_request.py
index a623f29..0fd11a2 100644
--- a/opal_security/models/add_bundle_group_request.py
+++ b/opal_security/models/add_bundle_group_request.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class AddBundleGroupRequest(BaseModel):
"""
AddBundleGroupRequest
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group to add.")
+ group_id: StrictStr = Field(description="The ID of the group to add.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The remote ID of the access level to grant to this user. Required if the group being added requires an access level. If omitted, the default access level remote ID value (empty string) is used.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The name of the access level to grant to this user. If omitted, the default access level name value (empty string) is used.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/add_bundle_resource_request.py b/opal_security/models/add_bundle_resource_request.py
index 546e406..9320d29 100644
--- a/opal_security/models/add_bundle_resource_request.py
+++ b/opal_security/models/add_bundle_resource_request.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class AddBundleResourceRequest(BaseModel):
"""
AddBundleResourceRequest
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource to add.")
+ resource_id: StrictStr = Field(description="The ID of the resource to add.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The remote ID of the access level to grant to this user. Required if the resource being added requires an access level. If omitted, the default access level remote ID value (empty string) is used.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The name of the access level to grant to this user. If omitted, the default access level name value (empty string) is used.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/api_access_level_enum.py b/opal_security/models/api_access_level_enum.py
new file mode 100644
index 0000000..e6609c3
--- /dev/null
+++ b/opal_security/models/api_access_level_enum.py
@@ -0,0 +1,38 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+from enum import Enum
+from typing_extensions import Self
+
+
+class ApiAccessLevelEnum(str, Enum):
+ """
+ The access level of an API token.
+ """
+
+ """
+ allowed enum values
+ """
+ READ_ONLY = 'READ_ONLY'
+ FULL_ACCESS = 'FULL_ACCESS'
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Create an instance of ApiAccessLevelEnum from a JSON string"""
+ return cls(json.loads(json_str))
+
+
diff --git a/opal_security/models/app.py b/opal_security/models/app.py
index 7cfb7c9..a0f32dd 100644
--- a/opal_security/models/app.py
+++ b/opal_security/models/app.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.app_type_enum import AppTypeEnum
from opal_security.models.app_validation import AppValidation
from typing import Optional, Set
@@ -30,10 +29,10 @@ class App(BaseModel):
"""
# App Object ### Description The `App` object is used to represent an app to an application. ### Usage Example List from the `GET Apps` endpoint.
""" # noqa: E501
- app_id: UUID = Field(description="The ID of the app.")
+ app_id: StrictStr = Field(description="The ID of the app.")
name: StrictStr = Field(description="The name of the app.")
description: StrictStr = Field(description="A description of the app.")
- admin_owner_id: UUID = Field(description="The ID of the owner of the app.")
+ admin_owner_id: StrictStr = Field(description="The ID of the owner of the app.")
app_type: AppTypeEnum
validations: Optional[List[AppValidation]] = Field(default=None, description="Validation checks of an apps' configuration and permissions.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/app_type_enum.py b/opal_security/models/app_type_enum.py
index 0385cb8..8f8ecc1 100644
--- a/opal_security/models/app_type_enum.py
+++ b/opal_security/models/app_type_enum.py
@@ -35,6 +35,7 @@ class AppTypeEnum(str, Enum):
COUPA = 'COUPA'
CURSOR = 'CURSOR'
CUSTOM = 'CUSTOM'
+ CUSTOM_CONNECTOR = 'CUSTOM_CONNECTOR'
DATABRICKS = 'DATABRICKS'
DATASTAX_ASTRA = 'DATASTAX_ASTRA'
DUO = 'DUO'
@@ -50,6 +51,8 @@ class AppTypeEnum(str, Enum):
MONGO = 'MONGO'
MONGO_ATLAS = 'MONGO_ATLAS'
MYSQL = 'MYSQL'
+ NETSUITE = 'NETSUITE'
+ DATADOG = 'DATADOG'
OKTA_DIRECTORY = 'OKTA_DIRECTORY'
OPENAI_PLATFORM = 'OPENAI_PLATFORM'
OPAL = 'OPAL'
@@ -58,6 +61,7 @@ class AppTypeEnum(str, Enum):
SNOWFLAKE = 'SNOWFLAKE'
TAILSCALE = 'TAILSCALE'
TELEPORT = 'TELEPORT'
+ TWINGATE = 'TWINGATE'
WORKDAY = 'WORKDAY'
@classmethod
diff --git a/opal_security/models/bundle.py b/opal_security/models/bundle.py
index fd77d1f..bf2965b 100644
--- a/opal_security/models/bundle.py
+++ b/opal_security/models/bundle.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -29,12 +28,12 @@ class Bundle(BaseModel):
"""
Bundle
""" # noqa: E501
- bundle_id: Optional[UUID] = Field(default=None, description="The ID of the bundle.")
+ bundle_id: Optional[StrictStr] = Field(default=None, description="The ID of the bundle.")
name: Optional[StrictStr] = Field(default=None, description="The name of the bundle.")
description: Optional[StrictStr] = Field(default=None, description="The description of the bundle.")
created_at: Optional[datetime] = Field(default=None, description="The creation timestamp of the bundle, in ISO 8601 format")
updated_at: Optional[datetime] = Field(default=None, description="The last updated timestamp of the bundle, in ISO 8601 format")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the bundle.")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the bundle.")
total_num_items: Optional[StrictInt] = Field(default=None, description="The total number of items in the bundle.")
total_num_resources: Optional[StrictInt] = Field(default=None, description="The total number of resources in the bundle.")
total_num_groups: Optional[StrictInt] = Field(default=None, description="The total number of groups in the bundle.")
diff --git a/opal_security/models/bundle_group.py b/opal_security/models/bundle_group.py
index dedd311..f9927ae 100644
--- a/opal_security/models/bundle_group.py
+++ b/opal_security/models/bundle_group.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,8 +27,8 @@ class BundleGroup(BaseModel):
"""
BundleGroup
""" # noqa: E501
- bundle_id: Optional[UUID] = Field(default=None, description="The ID of the bundle containing the group.")
- group_id: Optional[UUID] = Field(default=None, description="The ID of the group within a bundle.")
+ bundle_id: Optional[StrictStr] = Field(default=None, description="The ID of the bundle containing the group.")
+ group_id: Optional[StrictStr] = Field(default=None, description="The ID of the group within a bundle.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The access level of the group within a bundle.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The remote ID of the access level of the group within a bundle.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/bundle_resource.py b/opal_security/models/bundle_resource.py
index 30b0c22..004c46e 100644
--- a/opal_security/models/bundle_resource.py
+++ b/opal_security/models/bundle_resource.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,8 +27,8 @@ class BundleResource(BaseModel):
"""
BundleResource
""" # noqa: E501
- bundle_id: Optional[UUID] = Field(default=None, description="The ID of the bundle containing the resource.")
- resource_id: Optional[UUID] = Field(default=None, description="The ID of the resource within a bundle.")
+ bundle_id: Optional[StrictStr] = Field(default=None, description="The ID of the bundle containing the resource.")
+ resource_id: Optional[StrictStr] = Field(default=None, description="The ID of the resource within a bundle.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The access level of the resource within a bundle.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The remote ID of the access level of the resource within a bundle.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/condition.py b/opal_security/models/condition.py
index c8376fd..ad4c5f4 100644
--- a/opal_security/models/condition.py
+++ b/opal_security/models/condition.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class Condition(BaseModel):
"""
# Condition Object ### Description The `Condition` object is used to represent a condition. ### Usage Example Used to match request configurations to users in `RequestConfiguration`
""" # noqa: E501
- group_ids: Optional[List[UUID]] = Field(default=None, description="The list of group IDs to match.")
+ group_ids: Optional[List[StrictStr]] = Field(default=None, description="The list of group IDs to match.")
role_remote_ids: Optional[List[StrictStr]] = Field(default=None, description="The list of role remote IDs to match.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["group_ids", "role_remote_ids"]
diff --git a/opal_security/models/configuration_template.py b/opal_security/models/configuration_template.py
index 3cf9970..dbf0800 100644
--- a/opal_security/models/configuration_template.py
+++ b/opal_security/models/configuration_template.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.ticket_propagation_configuration import TicketPropagationConfiguration
from opal_security.models.visibility_info import VisibilityInfo
from typing import Optional, Set
@@ -31,14 +30,14 @@ class ConfigurationTemplate(BaseModel):
"""
# Configuration Template Object ### Description The `ConfigurationTemplate` object is used to represent a configuration template. ### Usage Example Returned from the `GET Configuration Templates` endpoint.
""" # noqa: E501
- configuration_template_id: Optional[UUID] = Field(default=None, description="The ID of the configuration template.")
+ configuration_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the configuration template.")
name: Optional[StrictStr] = Field(default=None, description="The name of the configuration template.")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the configuration template.")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the configuration template.")
visibility: Optional[VisibilityInfo] = Field(default=None, description="The visibility info of the configuration template.")
- linked_audit_message_channel_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the audit message channels linked to the configuration template.")
- request_configuration_id: Optional[UUID] = Field(default=None, description="The ID of the request configuration linked to the configuration template.")
- member_oncall_schedule_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the on-call schedules linked to the configuration template.")
- break_glass_user_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the break glass users linked to the configuration template.")
+ linked_audit_message_channel_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the audit message channels linked to the configuration template.")
+ request_configuration_id: Optional[StrictStr] = Field(default=None, description="The ID of the request configuration linked to the configuration template.")
+ member_oncall_schedule_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the on-call schedules linked to the configuration template.")
+ break_glass_user_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the break glass users linked to the configuration template.")
require_mfa_to_approve: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template.")
require_mfa_to_connect: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA to connect to resources associated with this configuration template.")
ticket_propagation: Optional[TicketPropagationConfiguration] = None
diff --git a/opal_security/models/create_configuration_template_info.py b/opal_security/models/create_configuration_template_info.py
index a72387b..2f6f6db 100644
--- a/opal_security/models/create_configuration_template_info.py
+++ b/opal_security/models/create_configuration_template_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_request_configuration_info_list import CreateRequestConfigurationInfoList
from opal_security.models.request_configuration import RequestConfiguration
from opal_security.models.ticket_propagation_configuration import TicketPropagationConfiguration
@@ -33,11 +32,11 @@ class CreateConfigurationTemplateInfo(BaseModel):
"""
# CreateConfigurationTemplateInfo Object ### Description The `CreateConfigurationTemplateInfo` object is used to store creation info for a configuration template. ### Usage Example Use in the `POST Configuration Templates` endpoint.
""" # noqa: E501
- admin_owner_id: UUID = Field(description="The ID of the owner of the configuration template.")
+ admin_owner_id: StrictStr = Field(description="The ID of the owner of the configuration template.")
visibility: VisibilityInfo = Field(description="The visibility info of the configuration template.")
- linked_audit_message_channel_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the audit message channels linked to the configuration template.")
- member_oncall_schedule_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the on-call schedules linked to the configuration template.")
- break_glass_user_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the break glass users linked to the configuration template.")
+ linked_audit_message_channel_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the audit message channels linked to the configuration template.")
+ member_oncall_schedule_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the on-call schedules linked to the configuration template.")
+ break_glass_user_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the break glass users linked to the configuration template.")
require_mfa_to_approve: StrictBool = Field(description="A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template.")
require_mfa_to_connect: StrictBool = Field(description="A bool representing whether or not to require MFA to connect to resources associated with this configuration template.")
name: StrictStr = Field(description="The name of the configuration template.")
diff --git a/opal_security/models/create_delegation_request.py b/opal_security/models/create_delegation_request.py
index 1f30c5e..e363aa5 100644
--- a/opal_security/models/create_delegation_request.py
+++ b/opal_security/models/create_delegation_request.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -29,8 +28,8 @@ class CreateDelegationRequest(BaseModel):
"""
Request body for creating a new delegation of access review requests from one user to another.
""" # noqa: E501
- delegator_user_id: UUID = Field(description="The ID of the user delegating their access review requests.")
- delegate_user_id: UUID = Field(description="The ID of the user being delegated to.")
+ delegator_user_id: StrictStr = Field(description="The ID of the user delegating their access review requests.")
+ delegate_user_id: StrictStr = Field(description="The ID of the user being delegated to.")
start_time: datetime = Field(description="The start time of the delegation.")
end_time: datetime = Field(description="The end time of the delegation.")
reason: StrictStr = Field(description="The reason for the delegation.")
diff --git a/opal_security/models/create_group_binding_info.py b/opal_security/models/create_group_binding_info.py
index 0874677..96c52ad 100644
--- a/opal_security/models/create_group_binding_info.py
+++ b/opal_security/models/create_group_binding_info.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.create_group_binding_info_groups_inner import CreateGroupBindingInfoGroupsInner
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class CreateGroupBindingInfo(BaseModel):
"""
# CreateGroupBindingInfo Object ### Description The `CreateGroupBindingInfo` object is used as an input to the CreateGroupBinding API.
""" # noqa: E501
- source_group_id: UUID = Field(description="The ID of the source group.")
+ source_group_id: StrictStr = Field(description="The ID of the source group.")
groups: List[CreateGroupBindingInfoGroupsInner] = Field(description="The list of groups.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["source_group_id", "groups"]
diff --git a/opal_security/models/create_group_binding_info_groups_inner.py b/opal_security/models/create_group_binding_info_groups_inner.py
index 4627923..867e083 100644
--- a/opal_security/models/create_group_binding_info_groups_inner.py
+++ b/opal_security/models/create_group_binding_info_groups_inner.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class CreateGroupBindingInfoGroupsInner(BaseModel):
"""
CreateGroupBindingInfoGroupsInner
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
+ group_id: StrictStr = Field(description="The ID of the group.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["group_id"]
diff --git a/opal_security/models/create_group_info.py b/opal_security/models/create_group_info.py
index cd7480a..4b96429 100644
--- a/opal_security/models/create_group_info.py
+++ b/opal_security/models/create_group_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.group_remote_info import GroupRemoteInfo
from opal_security.models.group_type_enum import GroupTypeEnum
from opal_security.models.risk_sensitivity_enum import RiskSensitivityEnum
@@ -35,7 +34,7 @@ class CreateGroupInfo(BaseModel):
name: StrictStr = Field(description="The name of the remote group.")
description: Optional[StrictStr] = Field(default=None, description="A description of the remote group.")
group_type: GroupTypeEnum
- app_id: UUID = Field(description="The ID of the app for the group.")
+ app_id: StrictStr = Field(description="The ID of the app for the group.")
remote_info: Optional[GroupRemoteInfo] = None
remote_group_id: Optional[StrictStr] = Field(default=None, description="Deprecated - use remote_info instead. The ID of the group on the remote system. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field.")
metadata: Optional[StrictStr] = Field(default=None, description="Deprecated - use remote_info instead. JSON metadata about the remote group. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field. The required format is dependent on group_type and should have the following schema: ```json { \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\": \"Group Metadata\", \"properties\": { \"ad_group\": { \"properties\": { \"object_guid\": { \"type\": \"string\" } }, \"required\": [\"object_guid\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Active Directory Group\" }, \"duo_group\": { \"properties\": { \"group_id\": { \"type\": \"string\" } }, \"required\": [\"group_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Duo Group\" }, \"git_hub_team\": { \"properties\": { \"org_name\": { \"type\": \"string\" }, \"team_slug\": { \"type\": \"string\" } }, \"required\": [\"org_name\", \"team_slug\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GitHub Team\" }, \"google_groups_group\": { \"properties\": { \"group_id\": { \"type\": \"string\" } }, \"required\": [\"group_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Google Groups Group\" }, \"ldap_group\": { \"properties\": { \"group_uid\": { \"type\": \"string\" } }, \"required\": [\"group_uid\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"LDAP Group\" }, \"okta_directory_group\": { \"properties\": { \"group_id\": { \"type\": \"string\" } }, \"required\": [\"group_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Okta Directory Group\" } }, \"additionalProperties\": false, \"minProperties\": 1, \"maxProperties\": 1, \"type\": \"object\" } ```")
diff --git a/opal_security/models/create_owner_info.py b/opal_security/models/create_owner_info.py
index c130bce..a73864d 100644
--- a/opal_security/models/create_owner_info.py
+++ b/opal_security/models/create_owner_info.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -31,9 +30,9 @@ class CreateOwnerInfo(BaseModel):
name: StrictStr = Field(description="The name of the owner.")
description: Optional[StrictStr] = Field(default=None, description="A description of the owner.")
access_request_escalation_period: Optional[StrictInt] = Field(default=None, description="The amount of time (in minutes) before the next reviewer is notified. Use 0 to remove escalation policy.")
- user_ids: List[UUID] = Field(description="Users to add to the created owner. If setting a source_group_id this list must be empty.")
+ user_ids: List[StrictStr] = Field(description="Users to add to the created owner. If setting a source_group_id this list must be empty.")
reviewer_message_channel_id: Optional[StrictStr] = Field(default=None, description="The message channel id for the reviewer channel.")
- source_group_id: Optional[UUID] = Field(default=None, description="Sync this owner's user list with a source group.")
+ source_group_id: Optional[StrictStr] = Field(default=None, description="Sync this owner's user list with a source group.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["name", "description", "access_request_escalation_period", "user_ids", "reviewer_message_channel_id", "source_group_id"]
diff --git a/opal_security/models/create_request200_response.py b/opal_security/models/create_request200_response.py
index 86350f0..617f033 100644
--- a/opal_security/models/create_request200_response.py
+++ b/opal_security/models/create_request200_response.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict
+from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class CreateRequest200Response(BaseModel):
"""
CreateRequest200Response
""" # noqa: E501
- id: Optional[UUID] = None
+ id: Optional[StrictStr] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["id"]
diff --git a/opal_security/models/create_request_info.py b/opal_security/models/create_request_info.py
index a004d06..efe815e 100644
--- a/opal_security/models/create_request_info.py
+++ b/opal_security/models/create_request_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_request_info_custom_metadata_inner import CreateRequestInfoCustomMetadataInner
from opal_security.models.create_request_info_groups_inner import CreateRequestInfoGroupsInner
from opal_security.models.create_request_info_resources_inner import CreateRequestInfoResourcesInner
@@ -35,8 +34,8 @@ class CreateRequestInfo(BaseModel):
""" # noqa: E501
resources: List[CreateRequestInfoResourcesInner]
groups: List[CreateRequestInfoGroupsInner]
- target_user_id: Optional[UUID] = Field(default=None, description="The ID of the user to be granted access. Should not be specified if target_group_id is specified.")
- target_group_id: Optional[UUID] = Field(default=None, description="The ID of the group the request is for. Should not be specified if target_user_id is specified.")
+ target_user_id: Optional[StrictStr] = Field(default=None, description="The ID of the user to be granted access. Should not be specified if target_group_id is specified.")
+ target_group_id: Optional[StrictStr] = Field(default=None, description="The ID of the group the request is for. Should not be specified if target_user_id is specified.")
reason: StrictStr
support_ticket: Optional[CreateRequestInfoSupportTicket] = None
duration_minutes: Annotated[int, Field(strict=True, ge=-1)] = Field(description="The duration of the request in minutes. -1 represents an indefinite duration")
diff --git a/opal_security/models/create_request_info_groups_inner.py b/opal_security/models/create_request_info_groups_inner.py
index ddb58b1..ce39a98 100644
--- a/opal_security/models/create_request_info_groups_inner.py
+++ b/opal_security/models/create_request_info_groups_inner.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class CreateRequestInfoGroupsInner(BaseModel):
"""
CreateRequestInfoGroupsInner
""" # noqa: E501
- id: UUID = Field(description="The ID of the group requested. Should not be specified if resource_id is specified.")
+ id: StrictStr = Field(description="The ID of the group requested. Should not be specified if resource_id is specified.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The ID of the access level requested on the remote system.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The ID of the access level requested on the remote system.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/create_request_info_resources_inner.py b/opal_security/models/create_request_info_resources_inner.py
index 9f39f46..8b7f39d 100644
--- a/opal_security/models/create_request_info_resources_inner.py
+++ b/opal_security/models/create_request_info_resources_inner.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class CreateRequestInfoResourcesInner(BaseModel):
"""
CreateRequestInfoResourcesInner
""" # noqa: E501
- id: Optional[UUID] = Field(default=None, description="The ID of the resource requested. Should not be specified if group_id is specified.")
+ id: Optional[StrictStr] = Field(default=None, description="The ID of the resource requested. Should not be specified if group_id is specified.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The ID of the access level requested on the remote system.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The ID of the access level requested on the remote system. This field is deprecated and no longer required. We will populate based on the access_level_remote_id.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/create_resource_info.py b/opal_security/models/create_resource_info.py
index 4d8c535..e96efd5 100644
--- a/opal_security/models/create_resource_info.py
+++ b/opal_security/models/create_resource_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.resource_remote_info import ResourceRemoteInfo
from opal_security.models.resource_type_enum import ResourceTypeEnum
from opal_security.models.risk_sensitivity_enum import RiskSensitivityEnum
@@ -35,7 +34,7 @@ class CreateResourceInfo(BaseModel):
name: StrictStr = Field(description="The name of the remote resource.")
description: Optional[StrictStr] = Field(default=None, description="A description of the remote resource.")
resource_type: ResourceTypeEnum
- app_id: UUID = Field(description="The ID of the app for the resource.")
+ app_id: StrictStr = Field(description="The ID of the app for the resource.")
remote_info: Optional[ResourceRemoteInfo] = None
remote_resource_id: Optional[StrictStr] = Field(default=None, description="Deprecated - use remote_info instead. The ID of the resource on the remote system. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field.")
metadata: Optional[StrictStr] = Field(default=None, description="Deprecated - use remote_info instead. JSON metadata about the remote resource. Include only for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details on how to specify this field. The required format is dependent on resource_type and should have the following schema: ```json { \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\": \"Resource Metadata\", \"properties\": { \"aws_ec2_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"region\": { \"type\": \"string\" } }, \"required\": [\"instance_id\", \"region\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS EC2 Instance\" }, \"aws_eks_cluster\": { \"properties\": { \"cluster_name\": { \"type\": \"string\" }, \"cluster_region\": { \"type\": \"string\" }, \"cluster_arn\": { \"type\": \"string\" } }, \"required\": [\"cluster_name\", \"cluster_region\", \"cluster_arn\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS EKS Cluster\" }, \"aws_rds_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"engine\": { \"type\": \"string\" }, \"region\": { \"type\": \"string\" }, \"resource_id\": { \"type\": \"string\" }, \"database_name\": { \"type\": \"string\" } }, \"required\": [ \"instance_id\", \"engine\", \"region\", \"resource_id\", \"database_name\" ], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS RDS Instance\" }, \"aws_role\": { \"properties\": { \"arn\": { \"type\": \"string\" }, \"name\": { \"type\": \"string\" } }, \"required\": [\"arn\", \"name\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"AWS Role\" }, \"gcp_bucket\": { \"properties\": { \"bucket_id\": { \"type\": \"string\" } }, \"required\": [\"bucket_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Bucket\" }, \"gcp_compute_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"project_id\": { \"type\": \"string\" }, \"zone\": { \"type\": \"string\" } }, \"required\": [\"instance_id\", \"project_id\", \"zone\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Compute Instance\" }, \"gcp_folder\": { \"properties\": { \"folder_id\": { \"type\": \"string\" } }, \"required\": [\"folder_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Folder\" }, \"gcp_gke_cluster\": { \"properties\": { \"cluster_name\": { \"type\": \"string\" } }, \"required\": [\"cluster_name\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP GKE Cluster\" }, \"gcp_project\": { \"properties\": { \"project_id\": { \"type\": \"string\" } }, \"required\": [\"project_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP Project\" }, \"gcp_sql_instance\": { \"properties\": { \"instance_id\": { \"type\": \"string\" }, \"project_id\": { \"type\": \"string\" } }, \"required\": [\"instance_id\", \"project_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GCP SQL Instance\" }, \"git_hub_repo\": { \"properties\": { \"org_name\": { \"type\": \"string\" }, \"repo_name\": { \"type\": \"string\" } }, \"required\": [\"org_name\", \"repo_name\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"GitHub Repo\" }, \"okta_directory_app\": { \"properties\": { \"app_id\": { \"type\": \"string\" }, \"logo_url\": { \"type\": \"string\" } }, \"required\": [\"app_id\", \"logo_url\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Okta Directory App\" }, \"okta_directory_role\": { \"properties\": { \"role_type\": { \"type\": \"string\" }, \"role_id\": { \"type\": \"string\" } }, \"required\": [\"role_type\", \"role_id\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Okta Directory Role\" }, \"salesforce_profile\": { \"properties\": { \"user_license\": { \"type\": \"string\" } }, \"required\": [\"user_license\"], \"additionalProperties\": false, \"type\": \"object\", \"title\": \"Salesforce Profile\" } }, \"additionalProperties\": false, \"minProperties\": 1, \"maxProperties\": 1, \"type\": \"object\" } ```")
diff --git a/opal_security/models/delegation.py b/opal_security/models/delegation.py
index c4dede3..91aed12 100644
--- a/opal_security/models/delegation.py
+++ b/opal_security/models/delegation.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -29,9 +28,9 @@ class Delegation(BaseModel):
"""
# Delegation Object ### Description The `Delegation` object represents a delegation of access review requests from one user to another. ### Usage Example List from the `GET Delegations` endpoint. Get from the `GET Delegation` endpoint.
""" # noqa: E501
- id: UUID = Field(description="The ID of the delegation.")
- delegator_user_id: UUID = Field(description="The ID of the user delegating their access review requests.")
- delegate_user_id: UUID = Field(description="The ID of the user being delegated to.")
+ id: StrictStr = Field(description="The ID of the delegation.")
+ delegator_user_id: StrictStr = Field(description="The ID of the user delegating their access review requests.")
+ delegate_user_id: StrictStr = Field(description="The ID of the user being delegated to.")
start_time: datetime = Field(description="The start time of the delegation.")
end_time: datetime = Field(description="The end time of the delegation.")
reason: StrictStr = Field(description="The reason for the delegation.")
diff --git a/opal_security/models/event.py b/opal_security/models/event.py
index f9d0ba9..9b4924b 100644
--- a/opal_security/models/event.py
+++ b/opal_security/models/event.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.sub_event import SubEvent
from typing import Optional, Set
from typing_extensions import Self
@@ -30,8 +29,8 @@ class Event(BaseModel):
"""
# Event Object ### Description The `Event` object is used to represent an event. ### Usage Example Fetch from the `LIST Events` endpoint.
""" # noqa: E501
- event_id: UUID = Field(description="The ID of the event.")
- actor_user_id: UUID = Field(description="The ID of the actor user.")
+ event_id: StrictStr = Field(description="The ID of the event.")
+ actor_user_id: StrictStr = Field(description="The ID of the actor user.")
actor_name: Optional[Any]
actor_email: Optional[StrictStr] = Field(default=None, description="The email of the actor user.")
event_type: StrictStr = Field(description="The event type.")
diff --git a/opal_security/models/group.py b/opal_security/models/group.py
index 9e734d1..4e20d56 100644
--- a/opal_security/models/group.py
+++ b/opal_security/models/group.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.group_remote_info import GroupRemoteInfo
from opal_security.models.group_type_enum import GroupTypeEnum
from opal_security.models.request_configuration import RequestConfiguration
@@ -34,12 +33,12 @@ class Group(BaseModel):
"""
# Group Object ### Description The `Group` object is used to represent a group. ### Usage Example Update from the `UPDATE Groups` endpoint.
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
- app_id: Optional[UUID] = Field(default=None, description="The ID of the group's app.")
+ group_id: StrictStr = Field(description="The ID of the group.")
+ app_id: Optional[StrictStr] = Field(default=None, description="The ID of the group's app.")
name: Optional[StrictStr] = Field(default=None, description="The name of the group.")
description: Optional[StrictStr] = Field(default=None, description="A description of the group.")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the group.")
- group_leader_user_ids: Optional[List[UUID]] = Field(default=None, description="A list of User IDs for the group leaders of the group")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the group.")
+ group_leader_user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of User IDs for the group leaders of the group")
remote_id: Optional[StrictStr] = Field(default=None, description="The ID of the remote.")
remote_name: Optional[StrictStr] = Field(default=None, description="The name of the remote.")
group_type: Optional[GroupTypeEnum] = None
@@ -51,9 +50,9 @@ class Group(BaseModel):
require_mfa_to_approve: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for reviewers to approve requests for this group.")
require_mfa_to_request: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for requesting access to this group.")
auto_approval: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to automatically approve requests to this group.")
- request_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated request template.")
- configuration_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated configuration template.")
- group_binding_id: Optional[UUID] = Field(default=None, description="The ID of the associated group binding.")
+ request_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated request template.")
+ configuration_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated configuration template.")
+ group_binding_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated group binding.")
is_requestable: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to allow access requests to this group.")
request_configurations: Optional[List[RequestConfiguration]] = Field(default=None, description="A list of request configurations for this group.")
request_configuration_list: Optional[List[RequestConfiguration]] = Field(default=None, description="A list of request configurations for this group. Deprecated in favor of `request_configurations`.")
diff --git a/opal_security/models/group_binding.py b/opal_security/models/group_binding.py
index 5443a1f..b52049c 100644
--- a/opal_security/models/group_binding.py
+++ b/opal_security/models/group_binding.py
@@ -19,9 +19,8 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.group_binding_group import GroupBindingGroup
from typing import Optional, Set
from typing_extensions import Self
@@ -30,10 +29,10 @@ class GroupBinding(BaseModel):
"""
# Group Binding Object ### Description The `GroupBinding` object is used to represent a group binding. ### Usage Example Get group bindings from the `GET Group Bindings` endpoint.
""" # noqa: E501
- group_binding_id: UUID = Field(description="The ID of the group binding.")
- created_by_id: UUID = Field(description="The ID of the user that created the group binding.")
+ group_binding_id: StrictStr = Field(description="The ID of the group binding.")
+ created_by_id: StrictStr = Field(description="The ID of the user that created the group binding.")
created_at: datetime = Field(description="The date the group binding was created.")
- source_group_id: UUID = Field(description="The ID of the source group.")
+ source_group_id: StrictStr = Field(description="The ID of the source group.")
groups: List[GroupBindingGroup] = Field(description="The list of groups.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["group_binding_id", "created_by_id", "created_at", "source_group_id", "groups"]
diff --git a/opal_security/models/group_binding_group.py b/opal_security/models/group_binding_group.py
index 020af15..3ec3eba 100644
--- a/opal_security/models/group_binding_group.py
+++ b/opal_security/models/group_binding_group.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.group_type_enum import GroupTypeEnum
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class GroupBindingGroup(BaseModel):
"""
# Group Binding Group Object ### Description The `GroupBindingGroup` object is used to represent a group binding group. ### Usage Example Get group binding groups from the `GET Group Bindings` endpoint.
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
+ group_id: StrictStr = Field(description="The ID of the group.")
group_type: GroupTypeEnum
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["group_id", "group_type"]
diff --git a/opal_security/models/group_containing_group.py b/opal_security/models/group_containing_group.py
index a2e48e1..f2085a6 100644
--- a/opal_security/models/group_containing_group.py
+++ b/opal_security/models/group_containing_group.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class GroupContainingGroup(BaseModel):
"""
# GroupContainingGroup Object ### Description The `GroupContainingGroup` object is used to represent a relationship between a group and a group.
""" # noqa: E501
- containing_group_id: UUID = Field(description="The groupID of the containing group.")
+ containing_group_id: StrictStr = Field(description="The groupID of the containing group.")
duration_minutes: Optional[Annotated[int, Field(le=525960, strict=True)]] = Field(default=None, description="The updated duration for which the group can be accessed (in minutes). Use 0 for indefinite.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The updated remote ID of the access level granted to this group.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/group_remote_info.py b/opal_security/models/group_remote_info.py
index 668843b..db3c0c7 100644
--- a/opal_security/models/group_remote_info.py
+++ b/opal_security/models/group_remote_info.py
@@ -24,6 +24,7 @@
from opal_security.models.group_remote_info_aws_sso_group import GroupRemoteInfoAwsSsoGroup
from opal_security.models.group_remote_info_azure_ad_microsoft365_group import GroupRemoteInfoAzureAdMicrosoft365Group
from opal_security.models.group_remote_info_azure_ad_security_group import GroupRemoteInfoAzureAdSecurityGroup
+from opal_security.models.group_remote_info_clickhouse_role import GroupRemoteInfoClickhouseRole
from opal_security.models.group_remote_info_connector_group import GroupRemoteInfoConnectorGroup
from opal_security.models.group_remote_info_databricks_account_group import GroupRemoteInfoDatabricksAccountGroup
from opal_security.models.group_remote_info_devin_group import GroupRemoteInfoDevinGroup
@@ -40,6 +41,7 @@
from opal_security.models.group_remote_info_rootly_on_call_schedule import GroupRemoteInfoRootlyOnCallSchedule
from opal_security.models.group_remote_info_snowflake_role import GroupRemoteInfoSnowflakeRole
from opal_security.models.group_remote_info_tailscale_group import GroupRemoteInfoTailscaleGroup
+from opal_security.models.group_remote_info_twingate_group import GroupRemoteInfoTwingateGroup
from opal_security.models.group_remote_info_workday_user_security_group import GroupRemoteInfoWorkdayUserSecurityGroup
from typing import Optional, Set
from typing_extensions import Self
@@ -50,6 +52,7 @@ class GroupRemoteInfo(BaseModel):
""" # noqa: E501
active_directory_group: Optional[GroupRemoteInfoActiveDirectoryGroup] = None
tailscale_group: Optional[GroupRemoteInfoTailscaleGroup] = None
+ twingate_group: Optional[GroupRemoteInfoTwingateGroup] = None
aws_sso_group: Optional[GroupRemoteInfoAwsSsoGroup] = None
databricks_account_group: Optional[GroupRemoteInfoDatabricksAccountGroup] = None
connector_group: Optional[GroupRemoteInfoConnectorGroup] = None
@@ -69,8 +72,9 @@ class GroupRemoteInfo(BaseModel):
incidentio_on_call_schedule: Optional[GroupRemoteInfoIncidentioOnCallSchedule] = None
rootly_on_call_schedule: Optional[GroupRemoteInfoRootlyOnCallSchedule] = None
devin_group: Optional[GroupRemoteInfoDevinGroup] = None
+ clickhouse_role: Optional[GroupRemoteInfoClickhouseRole] = None
additional_properties: Dict[str, Any] = {}
- __properties: ClassVar[List[str]] = ["active_directory_group", "tailscale_group", "aws_sso_group", "databricks_account_group", "connector_group", "github_team", "github_enterprise_team", "gitlab_group", "google_group", "ldap_group", "okta_group", "duo_group", "azure_ad_security_group", "azure_ad_microsoft_365_group", "snowflake_role", "okta_group_rule", "workday_user_security_group", "pagerduty_on_call_schedule", "incidentio_on_call_schedule", "rootly_on_call_schedule", "devin_group"]
+ __properties: ClassVar[List[str]] = ["active_directory_group", "tailscale_group", "twingate_group", "aws_sso_group", "databricks_account_group", "connector_group", "github_team", "github_enterprise_team", "gitlab_group", "google_group", "ldap_group", "okta_group", "duo_group", "azure_ad_security_group", "azure_ad_microsoft_365_group", "snowflake_role", "okta_group_rule", "workday_user_security_group", "pagerduty_on_call_schedule", "incidentio_on_call_schedule", "rootly_on_call_schedule", "devin_group", "clickhouse_role"]
model_config = ConfigDict(
populate_by_name=True,
@@ -119,6 +123,9 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of tailscale_group
if self.tailscale_group:
_dict['tailscale_group'] = self.tailscale_group.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of twingate_group
+ if self.twingate_group:
+ _dict['twingate_group'] = self.twingate_group.to_dict()
# override the default output from pydantic by calling `to_dict()` of aws_sso_group
if self.aws_sso_group:
_dict['aws_sso_group'] = self.aws_sso_group.to_dict()
@@ -176,6 +183,9 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of devin_group
if self.devin_group:
_dict['devin_group'] = self.devin_group.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of clickhouse_role
+ if self.clickhouse_role:
+ _dict['clickhouse_role'] = self.clickhouse_role.to_dict()
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
@@ -195,6 +205,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
_obj = cls.model_validate({
"active_directory_group": GroupRemoteInfoActiveDirectoryGroup.from_dict(obj["active_directory_group"]) if obj.get("active_directory_group") is not None else None,
"tailscale_group": GroupRemoteInfoTailscaleGroup.from_dict(obj["tailscale_group"]) if obj.get("tailscale_group") is not None else None,
+ "twingate_group": GroupRemoteInfoTwingateGroup.from_dict(obj["twingate_group"]) if obj.get("twingate_group") is not None else None,
"aws_sso_group": GroupRemoteInfoAwsSsoGroup.from_dict(obj["aws_sso_group"]) if obj.get("aws_sso_group") is not None else None,
"databricks_account_group": GroupRemoteInfoDatabricksAccountGroup.from_dict(obj["databricks_account_group"]) if obj.get("databricks_account_group") is not None else None,
"connector_group": GroupRemoteInfoConnectorGroup.from_dict(obj["connector_group"]) if obj.get("connector_group") is not None else None,
@@ -213,7 +224,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"pagerduty_on_call_schedule": GroupRemoteInfoPagerdutyOnCallSchedule.from_dict(obj["pagerduty_on_call_schedule"]) if obj.get("pagerduty_on_call_schedule") is not None else None,
"incidentio_on_call_schedule": GroupRemoteInfoIncidentioOnCallSchedule.from_dict(obj["incidentio_on_call_schedule"]) if obj.get("incidentio_on_call_schedule") is not None else None,
"rootly_on_call_schedule": GroupRemoteInfoRootlyOnCallSchedule.from_dict(obj["rootly_on_call_schedule"]) if obj.get("rootly_on_call_schedule") is not None else None,
- "devin_group": GroupRemoteInfoDevinGroup.from_dict(obj["devin_group"]) if obj.get("devin_group") is not None else None
+ "devin_group": GroupRemoteInfoDevinGroup.from_dict(obj["devin_group"]) if obj.get("devin_group") is not None else None,
+ "clickhouse_role": GroupRemoteInfoClickhouseRole.from_dict(obj["clickhouse_role"]) if obj.get("clickhouse_role") is not None else None
})
# store additional fields in additional_properties
for _key in obj.keys():
diff --git a/opal_security/models/group_remote_info_clickhouse_role.py b/opal_security/models/group_remote_info_clickhouse_role.py
new file mode 100644
index 0000000..289eda7
--- /dev/null
+++ b/opal_security/models/group_remote_info_clickhouse_role.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GroupRemoteInfoClickhouseRole(BaseModel):
+ """
+ Remote info for ClickHouse role.
+ """ # noqa: E501
+ role_id: StrictStr = Field(description="The name of the ClickHouse role.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["role_id"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of GroupRemoteInfoClickhouseRole from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of GroupRemoteInfoClickhouseRole from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "role_id": obj.get("role_id")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/group_remote_info_twingate_group.py b/opal_security/models/group_remote_info_twingate_group.py
new file mode 100644
index 0000000..db9026d
--- /dev/null
+++ b/opal_security/models/group_remote_info_twingate_group.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GroupRemoteInfoTwingateGroup(BaseModel):
+ """
+ Remote info for Twingate group.
+ """ # noqa: E501
+ group_id: StrictStr = Field(description="The id of the Twingate group.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["group_id"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of GroupRemoteInfoTwingateGroup from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of GroupRemoteInfoTwingateGroup from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "group_id": obj.get("group_id")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/group_resource.py b/opal_security/models/group_resource.py
index a0d9ed4..d5eed12 100644
--- a/opal_security/models/group_resource.py
+++ b/opal_security/models/group_resource.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.resource_access_level import ResourceAccessLevel
from typing import Optional, Set
from typing_extensions import Self
@@ -30,8 +29,8 @@ class GroupResource(BaseModel):
"""
# GroupResource Object ### Description The `GroupResource` object is used to represent a relationship between a group and a resource.
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
- resource_id: UUID = Field(description="The ID of the resource.")
+ group_id: StrictStr = Field(description="The ID of the group.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
group_name: Optional[StrictStr] = Field(default=None, description="The name of the group")
resource_name: Optional[StrictStr] = Field(default=None, description="The name of the resource")
expiration_date: Optional[datetime] = Field(default=None, description="The day and time the group's access will expire.")
diff --git a/opal_security/models/group_type_enum.py b/opal_security/models/group_type_enum.py
index d608a55..2ebd21e 100644
--- a/opal_security/models/group_type_enum.py
+++ b/opal_security/models/group_type_enum.py
@@ -51,6 +51,9 @@ class GroupTypeEnum(str, Enum):
ROOTLY_ON_CALL_SCHEDULE = 'ROOTLY_ON_CALL_SCHEDULE'
DEVIN_GROUP = 'DEVIN_GROUP'
GIT_HUB_ENTERPRISE_TEAM = 'GIT_HUB_ENTERPRISE_TEAM'
+ GRAFANA_TEAM = 'GRAFANA_TEAM'
+ CLICKHOUSE_ROLE = 'CLICKHOUSE_ROLE'
+ TWINGATE_GROUP = 'TWINGATE_GROUP'
@classmethod
def from_json(cls, json_str: str) -> Self:
diff --git a/opal_security/models/group_user.py b/opal_security/models/group_user.py
index d7344ba..9158fb3 100644
--- a/opal_security/models/group_user.py
+++ b/opal_security/models/group_user.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.group_access_level import GroupAccessLevel
from opal_security.models.propagation_status import PropagationStatus
from typing import Optional, Set
@@ -31,10 +30,10 @@ class GroupUser(BaseModel):
"""
# Group Access User Object ### Description The `GroupAccessUser` object is used to represent a user with access to a group. ### Usage Example Fetch from the `LIST GroupUsers` endpoint.
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
+ group_id: StrictStr = Field(description="The ID of the group.")
group_name: StrictStr = Field(description="The name of the group.")
description: StrictStr = Field(description="The description of the group.")
- user_id: UUID = Field(description="The ID of the user.")
+ user_id: StrictStr = Field(description="The ID of the user.")
access_level: Optional[GroupAccessLevel] = None
full_name: StrictStr = Field(description="The user's full name.")
email: StrictStr = Field(description="The user's email.")
diff --git a/opal_security/models/group_with_access_level.py b/opal_security/models/group_with_access_level.py
index ead9999..fcd4df8 100644
--- a/opal_security/models/group_with_access_level.py
+++ b/opal_security/models/group_with_access_level.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class GroupWithAccessLevel(BaseModel):
"""
Information about a group and corresponding access level
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
+ group_id: StrictStr = Field(description="The ID of the group.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The ID of the resource.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["group_id", "access_level_remote_id"]
diff --git a/opal_security/models/idp_group_mapping.py b/opal_security/models/idp_group_mapping.py
index 089247d..06d1a3f 100644
--- a/opal_security/models/idp_group_mapping.py
+++ b/opal_security/models/idp_group_mapping.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,8 +27,8 @@ class IdpGroupMapping(BaseModel):
"""
Information about a group mapping.
""" # noqa: E501
- app_resource_id: Optional[UUID] = Field(default=None, description="The ID of the app resource.")
- group_id: UUID = Field(description="The ID of the group.")
+ app_resource_id: Optional[StrictStr] = Field(default=None, description="The ID of the app resource.")
+ group_id: StrictStr = Field(description="The ID of the group.")
alias: Optional[StrictStr] = Field(default=None, description="The alias of the group.")
hidden_from_end_user: StrictBool = Field(description="A bool representing whether or not the group is hidden from the end user.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/message_channel.py b/opal_security/models/message_channel.py
index 82be0c7..3690497 100644
--- a/opal_security/models/message_channel.py
+++ b/opal_security/models/message_channel.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.message_channel_provider_enum import MessageChannelProviderEnum
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class MessageChannel(BaseModel):
"""
# MessageChannel Object ### Description The `MessageChannel` object is used to represent a message channel. ### Usage Example Update a groups message channel from the `UPDATE Groups` endpoint.
""" # noqa: E501
- message_channel_id: UUID = Field(description="The ID of the message channel.")
+ message_channel_id: StrictStr = Field(description="The ID of the message channel.")
third_party_provider: Optional[MessageChannelProviderEnum] = None
remote_id: Optional[StrictStr] = Field(default=None, description="The remote ID of the message channel")
name: Optional[StrictStr] = Field(default=None, description="The name of the message channel.")
diff --git a/opal_security/models/message_channel_id_list.py b/opal_security/models/message_channel_id_list.py
index 7603734..8a33434 100644
--- a/opal_security/models/message_channel_id_list.py
+++ b/opal_security/models/message_channel_id_list.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict
+from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class MessageChannelIDList(BaseModel):
"""
A list of message channel IDs.
""" # noqa: E501
- message_channel_ids: List[UUID]
+ message_channel_ids: List[StrictStr]
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["message_channel_ids"]
diff --git a/opal_security/models/on_call_schedule.py b/opal_security/models/on_call_schedule.py
index a7e777e..088f7ca 100644
--- a/opal_security/models/on_call_schedule.py
+++ b/opal_security/models/on_call_schedule.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.on_call_schedule_provider_enum import OnCallScheduleProviderEnum
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class OnCallSchedule(BaseModel):
"""
# OnCallSchedule Object ### Description The `OnCallSchedule` object is used to represent an on call schedule. ### Usage Example Update a groups on call schedule from the `UPDATE Groups` endpoint.
""" # noqa: E501
- on_call_schedule_id: Optional[UUID] = Field(default=None, description="The ID of the on-call schedule.")
+ on_call_schedule_id: Optional[StrictStr] = Field(default=None, description="The ID of the on-call schedule.")
third_party_provider: Optional[OnCallScheduleProviderEnum] = None
remote_id: Optional[StrictStr] = Field(default=None, description="The remote ID of the on call schedule")
name: Optional[StrictStr] = Field(default=None, description="The name of the on call schedule.")
diff --git a/opal_security/models/on_call_schedule_id_list.py b/opal_security/models/on_call_schedule_id_list.py
index 2cb3d27..cf09868 100644
--- a/opal_security/models/on_call_schedule_id_list.py
+++ b/opal_security/models/on_call_schedule_id_list.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict
+from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class OnCallScheduleIDList(BaseModel):
"""
A list of on call schedule Opal UUIDs. To get the matching remote IDs, use the /on-call-schedules endpoints.
""" # noqa: E501
- on_call_schedule_ids: List[UUID]
+ on_call_schedule_ids: List[StrictStr]
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["on_call_schedule_ids"]
diff --git a/opal_security/models/owner.py b/opal_security/models/owner.py
index 0300aae..c5e33e0 100644
--- a/opal_security/models/owner.py
+++ b/opal_security/models/owner.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,12 +27,12 @@ class Owner(BaseModel):
"""
# Owner Object ### Description The `Owner` object is used to represent an owner.
""" # noqa: E501
- owner_id: UUID = Field(description="The ID of the owner.")
+ owner_id: StrictStr = Field(description="The ID of the owner.")
name: Optional[StrictStr] = Field(default=None, description="The name of the owner.")
description: Optional[StrictStr] = Field(default=None, description="A description of the owner.")
access_request_escalation_period: Optional[StrictInt] = Field(default=None, description="The amount of time (in minutes) before the next reviewer is notified. Use 0 to remove escalation policy.")
- reviewer_message_channel_id: Optional[UUID] = None
- source_group_id: Optional[UUID] = None
+ reviewer_message_channel_id: Optional[StrictStr] = None
+ source_group_id: Optional[StrictStr] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["owner_id", "name", "description", "access_request_escalation_period", "reviewer_message_channel_id", "source_group_id"]
diff --git a/opal_security/models/paginated_tokens_list.py b/opal_security/models/paginated_tokens_list.py
new file mode 100644
index 0000000..6a4ad9d
--- /dev/null
+++ b/opal_security/models/paginated_tokens_list.py
@@ -0,0 +1,113 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from opal_security.models.token import Token
+from typing import Optional, Set
+from typing_extensions import Self
+
+class PaginatedTokensList(BaseModel):
+ """
+ PaginatedTokensList
+ """ # noqa: E501
+ next: Optional[StrictStr] = Field(default=None, description="The cursor with which to continue pagination if additional result pages exist.")
+ previous: Optional[StrictStr] = Field(default=None, description="The cursor used to obtain the current result page.")
+ results: List[Token]
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["next", "previous", "results"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of PaginatedTokensList from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in results (list)
+ _items = []
+ if self.results:
+ for _item_results in self.results:
+ if _item_results:
+ _items.append(_item_results.to_dict())
+ _dict['results'] = _items
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of PaginatedTokensList from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "next": obj.get("next"),
+ "previous": obj.get("previous"),
+ "results": [Token.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/remote_user.py b/opal_security/models/remote_user.py
index d130f66..20aaccc 100644
--- a/opal_security/models/remote_user.py
+++ b/opal_security/models/remote_user.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.third_party_provider_enum import ThirdPartyProviderEnum
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class RemoteUser(BaseModel):
"""
# RemoteUser Object ### Description The `RemoteUser` object is used to represent a remote user.
""" # noqa: E501
- user_id: UUID = Field(description="The ID of the user.")
+ user_id: StrictStr = Field(description="The ID of the user.")
remote_id: StrictStr = Field(description="The ID of the remote user.")
third_party_provider: ThirdPartyProviderEnum = Field(description="The third party provider of the remote user.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/request.py b/opal_security/models/request.py
index 4f6ae22..240a8cb 100644
--- a/opal_security/models/request.py
+++ b/opal_security/models/request.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.request_custom_field_response import RequestCustomFieldResponse
from opal_security.models.request_item_stages import RequestItemStages
from opal_security.models.request_reviewer_stages import RequestReviewerStages
@@ -34,12 +33,12 @@ class Request(BaseModel):
"""
# Request Object ### Description The `Request` object is used to represent a request. ### Usage Example Returned from the `GET Requests` endpoint.
""" # noqa: E501
- id: UUID = Field(description="The unique identifier of the request.")
+ id: StrictStr = Field(description="The unique identifier of the request.")
created_at: datetime = Field(description="The date and time the request was created.")
updated_at: datetime = Field(description="The date and time the request was last updated.")
- requester_id: UUID = Field(description="The unique identifier of the user who created the request.")
- target_user_id: Optional[UUID] = Field(default=None, description="The unique identifier of the user who is the target of the request.")
- target_group_id: Optional[UUID] = Field(default=None, description="The unique identifier of the group who is the target of the request.")
+ requester_id: StrictStr = Field(description="The unique identifier of the user who created the request.")
+ target_user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the user who is the target of the request.")
+ target_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the group who is the target of the request.")
status: RequestStatusEnum = Field(description="The status of the request.")
reason: StrictStr = Field(description="The reason for the request.")
duration_minutes: Optional[StrictInt] = Field(default=None, description="The duration of the request in minutes.")
diff --git a/opal_security/models/request_comment.py b/opal_security/models/request_comment.py
index 39db1a9..ef6a42d 100644
--- a/opal_security/models/request_comment.py
+++ b/opal_security/models/request_comment.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -30,8 +29,8 @@ class RequestComment(BaseModel):
# Request Comment Object ### Description The `RequestComment` object is used to represent a comment on a request. ### Usage Example Returned from the `GET Requests` endpoint as part of a `Request` object.
""" # noqa: E501
created_at: datetime = Field(description="The date and time the comment was created.")
- request_id: UUID = Field(description="The unique identifier of the request the comment is associated with.")
- user_id: UUID = Field(description="The unique identifier of the user who made the comment.")
+ request_id: StrictStr = Field(description="The unique identifier of the request the comment is associated with.")
+ user_id: StrictStr = Field(description="The unique identifier of the user who made the comment.")
user_full_name: Optional[StrictStr] = Field(default=None, description="The user's full name.")
user_email: Optional[StrictStr] = Field(default=None, description="The user's email address.")
comment: StrictStr = Field(description="The content of the comment.")
diff --git a/opal_security/models/request_configuration.py b/opal_security/models/request_configuration.py
index d8853e9..be33956 100644
--- a/opal_security/models/request_configuration.py
+++ b/opal_security/models/request_configuration.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.condition import Condition
from opal_security.models.reviewer_stage import ReviewerStage
from typing import Optional, Set
@@ -38,7 +37,7 @@ class RequestConfiguration(BaseModel):
recommended_duration_minutes: Optional[StrictInt] = Field(default=None, description="The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.")
require_support_ticket: StrictBool = Field(description="A bool representing whether or not access requests to the resource require an access ticket.")
extensions_duration_in_minutes: Optional[StrictInt] = Field(default=None, description="The duration for which access can be extended (in minutes). Set to 0 to disable extensions. When > 0, extensions are enabled for the specified duration.")
- request_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated request template.")
+ request_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated request template.")
reviewer_stages: Optional[List[ReviewerStage]] = Field(default=None, description="The list of reviewer stages for the request configuration.")
priority: StrictInt = Field(description="The priority of the request configuration.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/request_reviewer.py b/opal_security/models/request_reviewer.py
index 82f3399..c84d86b 100644
--- a/opal_security/models/request_reviewer.py
+++ b/opal_security/models/request_reviewer.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class RequestReviewer(BaseModel):
"""
A reviewer in a request stage
""" # noqa: E501
- id: UUID = Field(description="The unique identifier of the reviewer")
+ id: StrictStr = Field(description="The unique identifier of the reviewer")
full_name: Optional[StrictStr] = Field(default=None, description="The user's full name.")
status: StrictStr = Field(description="The status of this reviewer's review")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/requested_item.py b/opal_security/models/requested_item.py
index e2e1202..9e6ae9e 100644
--- a/opal_security/models/requested_item.py
+++ b/opal_security/models/requested_item.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,8 +27,8 @@ class RequestedItem(BaseModel):
"""
# Requested Item Object ### Description The `RequestedItem` object is used to represent a request target item. ### Usage Example Returned from the `GET Requests` endpoint.
""" # noqa: E501
- resource_id: Optional[UUID] = Field(default=None, description="The ID of the resource requested.")
- group_id: Optional[UUID] = Field(default=None, description="The ID of the group requested.")
+ resource_id: Optional[StrictStr] = Field(default=None, description="The ID of the resource requested.")
+ group_id: Optional[StrictStr] = Field(default=None, description="The ID of the group requested.")
access_level_name: Optional[StrictStr] = Field(default=None, description="The name of the access level requested.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The ID of the access level requested on the remote system.")
name: Optional[StrictStr] = Field(default=None, description="The name of the target.")
diff --git a/opal_security/models/resource.py b/opal_security/models/resource.py
index a717453..ace6bcf 100644
--- a/opal_security/models/resource.py
+++ b/opal_security/models/resource.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.request_configuration import RequestConfiguration
from opal_security.models.resource_remote_info import ResourceRemoteInfo
from opal_security.models.resource_type_enum import ResourceTypeEnum
@@ -35,11 +34,11 @@ class Resource(BaseModel):
"""
# Resource Object ### Description The `Resource` object is used to represent a resource. ### Usage Example Update from the `UPDATE Resources` endpoint.
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
- app_id: Optional[UUID] = Field(default=None, description="The ID of the app.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
+ app_id: Optional[StrictStr] = Field(default=None, description="The ID of the app.")
name: Optional[StrictStr] = Field(default=None, description="The name of the resource.")
description: Optional[StrictStr] = Field(default=None, description="A description of the resource.")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the resource.")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the resource.")
remote_resource_id: Optional[StrictStr] = Field(default=None, description="The ID of the resource on the remote system.")
remote_resource_name: Optional[StrictStr] = Field(default=None, description="The name of the resource on the remote system.")
resource_type: Optional[ResourceTypeEnum] = None
@@ -52,10 +51,10 @@ class Resource(BaseModel):
require_mfa_to_request: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for requesting access to this resource.")
require_mfa_to_connect: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA to connect to this resource.")
auto_approval: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to automatically approve requests to this resource.")
- request_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated request template.")
+ request_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated request template.")
is_requestable: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to allow access requests to this resource.")
- parent_resource_id: Optional[UUID] = Field(default=None, description="The ID of the parent resource.")
- configuration_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated configuration template.")
+ parent_resource_id: Optional[StrictStr] = Field(default=None, description="The ID of the parent resource.")
+ configuration_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated configuration template.")
request_configurations: Optional[List[RequestConfiguration]] = Field(default=None, description="A list of configurations for requests to this resource.")
request_configuration_list: Optional[List[RequestConfiguration]] = Field(default=None, description="A list of configurations for requests to this resource. Deprecated in favor of `request_configurations`.")
ticket_propagation: Optional[TicketPropagationConfiguration] = None
@@ -64,8 +63,8 @@ class Resource(BaseModel):
risk_sensitivity_override: Optional[RiskSensitivityEnum] = None
metadata: Optional[StrictStr] = Field(default=None, description="JSON metadata about the remote resource. Only set for items linked to remote systems. See [this guide](https://docs.opal.dev/reference/end-system-objects) for details.")
remote_info: Optional[ResourceRemoteInfo] = None
- ancestor_resource_ids: Optional[List[UUID]] = Field(default=None, description="List of resource IDs that are ancestors of this resource.")
- descendant_resource_ids: Optional[List[UUID]] = Field(default=None, description="List of resource IDs that are descendants of this resource.")
+ ancestor_resource_ids: Optional[List[StrictStr]] = Field(default=None, description="List of resource IDs that are ancestors of this resource.")
+ descendant_resource_ids: Optional[List[StrictStr]] = Field(default=None, description="List of resource IDs that are descendants of this resource.")
last_successful_sync: Optional[SyncTask] = Field(default=None, description="Information about the last successful sync of this resource.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["resource_id", "app_id", "name", "description", "admin_owner_id", "remote_resource_id", "remote_resource_name", "resource_type", "max_duration", "recommended_duration", "extensions_duration_in_minutes", "require_manager_approval", "require_support_ticket", "require_mfa_to_approve", "require_mfa_to_request", "require_mfa_to_connect", "auto_approval", "request_template_id", "is_requestable", "parent_resource_id", "configuration_template_id", "request_configurations", "request_configuration_list", "ticket_propagation", "custom_request_notification", "risk_sensitivity", "risk_sensitivity_override", "metadata", "remote_info", "ancestor_resource_ids", "descendant_resource_ids", "last_successful_sync"]
diff --git a/opal_security/models/resource_access_user.py b/opal_security/models/resource_access_user.py
index 73007c4..92f5bc3 100644
--- a/opal_security/models/resource_access_user.py
+++ b/opal_security/models/resource_access_user.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.propagation_status import PropagationStatus
from opal_security.models.resource_access_level import ResourceAccessLevel
from typing import Optional, Set
@@ -31,10 +30,10 @@ class ResourceAccessUser(BaseModel):
"""
# Resource Access User Object ### Description The `ResourceAccessUser` object is used to represent a user with access to a resource, either directly or indirectly through group(s). ### Usage Example Fetch from the `LIST ResourceUsers` endpoint.
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
resource_name: Optional[StrictStr] = Field(default=None, description="The name of the resource.")
description: Optional[StrictStr] = Field(default=None, description="The description of the resource.")
- user_id: UUID = Field(description="The ID of the user.")
+ user_id: StrictStr = Field(description="The ID of the user.")
access_level: ResourceAccessLevel
full_name: StrictStr = Field(description="The user's full name.")
email: StrictStr = Field(description="The user's email.")
diff --git a/opal_security/models/resource_nhi.py b/opal_security/models/resource_nhi.py
index 9a380a1..14a9813 100644
--- a/opal_security/models/resource_nhi.py
+++ b/opal_security/models/resource_nhi.py
@@ -19,9 +19,8 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.resource_access_level import ResourceAccessLevel
from typing import Optional, Set
from typing_extensions import Self
@@ -30,8 +29,8 @@ class ResourceNHI(BaseModel):
"""
# Resource Non-Human Identity Direct Access Object ### Description This object is used to represent a non-human identity with direct access to a resource.
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
- non_human_identity_id: UUID = Field(description="The resource ID of the non-human identity.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
+ non_human_identity_id: StrictStr = Field(description="The resource ID of the non-human identity.")
access_level: Optional[ResourceAccessLevel] = None
expiration_date: Optional[datetime] = Field(default=None, description="The day and time the non-human identity's access will expire.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/resource_remote_info.py b/opal_security/models/resource_remote_info.py
index 67846c1..dea3112 100644
--- a/opal_security/models/resource_remote_info.py
+++ b/opal_security/models/resource_remote_info.py
@@ -42,10 +42,13 @@
from opal_security.models.resource_remote_info_azure_subscription import ResourceRemoteInfoAzureSubscription
from opal_security.models.resource_remote_info_azure_user_assigned_managed_identity import ResourceRemoteInfoAzureUserAssignedManagedIdentity
from opal_security.models.resource_remote_info_azure_virtual_machine import ResourceRemoteInfoAzureVirtualMachine
+from opal_security.models.resource_remote_info_clickhouse_database import ResourceRemoteInfoClickhouseDatabase
+from opal_security.models.resource_remote_info_clickhouse_table import ResourceRemoteInfoClickhouseTable
from opal_security.models.resource_remote_info_coupa_role import ResourceRemoteInfoCoupaRole
from opal_security.models.resource_remote_info_cursor_organization import ResourceRemoteInfoCursorOrganization
from opal_security.models.resource_remote_info_custom_connector import ResourceRemoteInfoCustomConnector
from opal_security.models.resource_remote_info_databricks_account_service_principal import ResourceRemoteInfoDatabricksAccountServicePrincipal
+from opal_security.models.resource_remote_info_datadog_role import ResourceRemoteInfoDatadogRole
from opal_security.models.resource_remote_info_datastax_astra_role import ResourceRemoteInfoDatastaxAstraRole
from opal_security.models.resource_remote_info_devin_organization import ResourceRemoteInfoDevinOrganization
from opal_security.models.resource_remote_info_devin_role import ResourceRemoteInfoDevinRole
@@ -66,6 +69,7 @@
from opal_security.models.resource_remote_info_gitlab_project import ResourceRemoteInfoGitlabProject
from opal_security.models.resource_remote_info_google_workspace_role import ResourceRemoteInfoGoogleWorkspaceRole
from opal_security.models.resource_remote_info_ilevel_advanced_role import ResourceRemoteInfoIlevelAdvancedRole
+from opal_security.models.resource_remote_info_netsuite_role import ResourceRemoteInfoNetsuiteRole
from opal_security.models.resource_remote_info_okta_app import ResourceRemoteInfoOktaApp
from opal_security.models.resource_remote_info_okta_custom_role import ResourceRemoteInfoOktaCustomRole
from opal_security.models.resource_remote_info_okta_standard_role import ResourceRemoteInfoOktaStandardRole
@@ -81,6 +85,7 @@
from opal_security.models.resource_remote_info_snowflake_table import ResourceRemoteInfoSnowflakeTable
from opal_security.models.resource_remote_info_tailscale_ssh import ResourceRemoteInfoTailscaleSsh
from opal_security.models.resource_remote_info_teleport_role import ResourceRemoteInfoTeleportRole
+from opal_security.models.resource_remote_info_twingate_resource import ResourceRemoteInfoTwingateResource
from opal_security.models.resource_remote_info_workday_role import ResourceRemoteInfoWorkdayRole
from typing import Optional, Set
from typing_extensions import Self
@@ -136,6 +141,7 @@ class ResourceRemoteInfo(BaseModel):
snowflake_table: Optional[ResourceRemoteInfoSnowflakeTable] = None
ilevel_advanced_role: Optional[ResourceRemoteInfoIlevelAdvancedRole] = None
tailscale_ssh: Optional[ResourceRemoteInfoTailscaleSsh] = None
+ twingate_resource: Optional[ResourceRemoteInfoTwingateResource] = None
pagerduty_role: Optional[ResourceRemoteInfoPagerdutyRole] = None
workday_role: Optional[ResourceRemoteInfoWorkdayRole] = None
salesforce_permission_set: Optional[ResourceRemoteInfoSalesforcePermissionSet] = None
@@ -151,8 +157,12 @@ class ResourceRemoteInfo(BaseModel):
oracle_fusion_role: Optional[ResourceRemoteInfoOracleFusionRole] = None
devin_organization: Optional[ResourceRemoteInfoDevinOrganization] = None
devin_role: Optional[ResourceRemoteInfoDevinRole] = None
+ netsuite_role: Optional[ResourceRemoteInfoNetsuiteRole] = None
+ datadog_role: Optional[ResourceRemoteInfoDatadogRole] = None
+ clickhouse_database: Optional[ResourceRemoteInfoClickhouseDatabase] = None
+ clickhouse_table: Optional[ResourceRemoteInfoClickhouseTable] = None
additional_properties: Dict[str, Any] = {}
- __properties: ClassVar[List[str]] = ["databricks_account_service_principal", "azure_subscription", "azure_resource_group", "azure_management_group", "azure_virtual_machine", "azure_storage_account", "azure_storage_container", "azure_sql_server", "azure_sql_database", "azure_sql_managed_instance", "azure_sql_managed_database", "azure_user_assigned_managed_identity", "azure_enterprise_app", "azure_entra_id_role", "aws_organizational_unit", "aws_account", "aws_permission_set", "aws_iam_role", "aws_ec2_instance", "aws_rds_cluster", "aws_rds_instance", "aws_eks_cluster", "custom_connector", "gcp_organization", "gcp_bucket", "gcp_compute_instance", "gcp_big_query_dataset", "gcp_big_query_table", "gcp_folder", "gcp_gke_cluster", "gcp_project", "gcp_sql_instance", "gcp_service_account", "google_workspace_role", "github_repo", "github_org_role", "github_org", "github_enterprise_role", "gitlab_project", "okta_app", "okta_standard_role", "okta_custom_role", "snowflake_database", "snowflake_schema", "snowflake_table", "ilevel_advanced_role", "tailscale_ssh", "pagerduty_role", "workday_role", "salesforce_permission_set", "salesforce_profile", "salesforce_role", "teleport_role", "datastax_astra_role", "coupa_role", "cursor_organization", "openai_platform_project", "openai_platform_service_account", "anthropic_workspace", "oracle_fusion_role", "devin_organization", "devin_role"]
+ __properties: ClassVar[List[str]] = ["databricks_account_service_principal", "azure_subscription", "azure_resource_group", "azure_management_group", "azure_virtual_machine", "azure_storage_account", "azure_storage_container", "azure_sql_server", "azure_sql_database", "azure_sql_managed_instance", "azure_sql_managed_database", "azure_user_assigned_managed_identity", "azure_enterprise_app", "azure_entra_id_role", "aws_organizational_unit", "aws_account", "aws_permission_set", "aws_iam_role", "aws_ec2_instance", "aws_rds_cluster", "aws_rds_instance", "aws_eks_cluster", "custom_connector", "gcp_organization", "gcp_bucket", "gcp_compute_instance", "gcp_big_query_dataset", "gcp_big_query_table", "gcp_folder", "gcp_gke_cluster", "gcp_project", "gcp_sql_instance", "gcp_service_account", "google_workspace_role", "github_repo", "github_org_role", "github_org", "github_enterprise_role", "gitlab_project", "okta_app", "okta_standard_role", "okta_custom_role", "snowflake_database", "snowflake_schema", "snowflake_table", "ilevel_advanced_role", "tailscale_ssh", "twingate_resource", "pagerduty_role", "workday_role", "salesforce_permission_set", "salesforce_profile", "salesforce_role", "teleport_role", "datastax_astra_role", "coupa_role", "cursor_organization", "openai_platform_project", "openai_platform_service_account", "anthropic_workspace", "oracle_fusion_role", "devin_organization", "devin_role", "netsuite_role", "datadog_role", "clickhouse_database", "clickhouse_table"]
model_config = ConfigDict(
populate_by_name=True,
@@ -336,6 +346,9 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of tailscale_ssh
if self.tailscale_ssh:
_dict['tailscale_ssh'] = self.tailscale_ssh.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of twingate_resource
+ if self.twingate_resource:
+ _dict['twingate_resource'] = self.twingate_resource.to_dict()
# override the default output from pydantic by calling `to_dict()` of pagerduty_role
if self.pagerduty_role:
_dict['pagerduty_role'] = self.pagerduty_role.to_dict()
@@ -381,6 +394,18 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of devin_role
if self.devin_role:
_dict['devin_role'] = self.devin_role.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of netsuite_role
+ if self.netsuite_role:
+ _dict['netsuite_role'] = self.netsuite_role.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of datadog_role
+ if self.datadog_role:
+ _dict['datadog_role'] = self.datadog_role.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of clickhouse_database
+ if self.clickhouse_database:
+ _dict['clickhouse_database'] = self.clickhouse_database.to_dict()
+ # override the default output from pydantic by calling `to_dict()` of clickhouse_table
+ if self.clickhouse_table:
+ _dict['clickhouse_table'] = self.clickhouse_table.to_dict()
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
@@ -445,6 +470,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"snowflake_table": ResourceRemoteInfoSnowflakeTable.from_dict(obj["snowflake_table"]) if obj.get("snowflake_table") is not None else None,
"ilevel_advanced_role": ResourceRemoteInfoIlevelAdvancedRole.from_dict(obj["ilevel_advanced_role"]) if obj.get("ilevel_advanced_role") is not None else None,
"tailscale_ssh": ResourceRemoteInfoTailscaleSsh.from_dict(obj["tailscale_ssh"]) if obj.get("tailscale_ssh") is not None else None,
+ "twingate_resource": ResourceRemoteInfoTwingateResource.from_dict(obj["twingate_resource"]) if obj.get("twingate_resource") is not None else None,
"pagerduty_role": ResourceRemoteInfoPagerdutyRole.from_dict(obj["pagerduty_role"]) if obj.get("pagerduty_role") is not None else None,
"workday_role": ResourceRemoteInfoWorkdayRole.from_dict(obj["workday_role"]) if obj.get("workday_role") is not None else None,
"salesforce_permission_set": ResourceRemoteInfoSalesforcePermissionSet.from_dict(obj["salesforce_permission_set"]) if obj.get("salesforce_permission_set") is not None else None,
@@ -459,7 +485,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"anthropic_workspace": ResourceRemoteInfoAnthropicWorkspace.from_dict(obj["anthropic_workspace"]) if obj.get("anthropic_workspace") is not None else None,
"oracle_fusion_role": ResourceRemoteInfoOracleFusionRole.from_dict(obj["oracle_fusion_role"]) if obj.get("oracle_fusion_role") is not None else None,
"devin_organization": ResourceRemoteInfoDevinOrganization.from_dict(obj["devin_organization"]) if obj.get("devin_organization") is not None else None,
- "devin_role": ResourceRemoteInfoDevinRole.from_dict(obj["devin_role"]) if obj.get("devin_role") is not None else None
+ "devin_role": ResourceRemoteInfoDevinRole.from_dict(obj["devin_role"]) if obj.get("devin_role") is not None else None,
+ "netsuite_role": ResourceRemoteInfoNetsuiteRole.from_dict(obj["netsuite_role"]) if obj.get("netsuite_role") is not None else None,
+ "datadog_role": ResourceRemoteInfoDatadogRole.from_dict(obj["datadog_role"]) if obj.get("datadog_role") is not None else None,
+ "clickhouse_database": ResourceRemoteInfoClickhouseDatabase.from_dict(obj["clickhouse_database"]) if obj.get("clickhouse_database") is not None else None,
+ "clickhouse_table": ResourceRemoteInfoClickhouseTable.from_dict(obj["clickhouse_table"]) if obj.get("clickhouse_table") is not None else None
})
# store additional fields in additional_properties
for _key in obj.keys():
diff --git a/opal_security/models/resource_remote_info_clickhouse_database.py b/opal_security/models/resource_remote_info_clickhouse_database.py
new file mode 100644
index 0000000..f2ff332
--- /dev/null
+++ b/opal_security/models/resource_remote_info_clickhouse_database.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourceRemoteInfoClickhouseDatabase(BaseModel):
+ """
+ Remote info for ClickHouse database.
+ """ # noqa: E501
+ database_name: StrictStr = Field(description="The name of the ClickHouse database.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["database_name"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoClickhouseDatabase from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoClickhouseDatabase from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "database_name": obj.get("database_name")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/resource_remote_info_clickhouse_table.py b/opal_security/models/resource_remote_info_clickhouse_table.py
new file mode 100644
index 0000000..4e52a80
--- /dev/null
+++ b/opal_security/models/resource_remote_info_clickhouse_table.py
@@ -0,0 +1,103 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourceRemoteInfoClickhouseTable(BaseModel):
+ """
+ Remote info for ClickHouse table.
+ """ # noqa: E501
+ database_name: StrictStr = Field(description="The name of the ClickHouse database containing the table.")
+ table_name: StrictStr = Field(description="The name of the ClickHouse table.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["database_name", "table_name"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoClickhouseTable from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoClickhouseTable from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "database_name": obj.get("database_name"),
+ "table_name": obj.get("table_name")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/resource_remote_info_datadog_role.py b/opal_security/models/resource_remote_info_datadog_role.py
new file mode 100644
index 0000000..712677c
--- /dev/null
+++ b/opal_security/models/resource_remote_info_datadog_role.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourceRemoteInfoDatadogRole(BaseModel):
+ """
+ Remote info for Datadog role.
+ """ # noqa: E501
+ role_id: StrictStr = Field(description="The id of the role.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["role_id"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoDatadogRole from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoDatadogRole from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "role_id": obj.get("role_id")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/resource_remote_info_netsuite_role.py b/opal_security/models/resource_remote_info_netsuite_role.py
new file mode 100644
index 0000000..e6e4d1a
--- /dev/null
+++ b/opal_security/models/resource_remote_info_netsuite_role.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourceRemoteInfoNetsuiteRole(BaseModel):
+ """
+ Remote info for NetSuite role.
+ """ # noqa: E501
+ role_id: StrictStr = Field(description="The id of the role.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["role_id"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoNetsuiteRole from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoNetsuiteRole from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "role_id": obj.get("role_id")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/resource_remote_info_twingate_resource.py b/opal_security/models/resource_remote_info_twingate_resource.py
new file mode 100644
index 0000000..7695bfd
--- /dev/null
+++ b/opal_security/models/resource_remote_info_twingate_resource.py
@@ -0,0 +1,101 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ResourceRemoteInfoTwingateResource(BaseModel):
+ """
+ Remote info for Twingate resource.
+ """ # noqa: E501
+ resource_id: StrictStr = Field(description="The id of the Twingate resource.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["resource_id"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoTwingateResource from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ResourceRemoteInfoTwingateResource from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "resource_id": obj.get("resource_id")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/resource_type_enum.py b/opal_security/models/resource_type_enum.py
index 9c82767..558c7c6 100644
--- a/opal_security/models/resource_type_enum.py
+++ b/opal_security/models/resource_type_enum.py
@@ -70,6 +70,8 @@ class ResourceTypeEnum(str, Enum):
GOOGLE_WORKSPACE_ROLE = 'GOOGLE_WORKSPACE_ROLE'
MONGO_INSTANCE = 'MONGO_INSTANCE'
MONGO_ATLAS_INSTANCE = 'MONGO_ATLAS_INSTANCE'
+ NETSUITE_ROLE = 'NETSUITE_ROLE'
+ DATADOG_ROLE = 'DATADOG_ROLE'
OKTA_APP = 'OKTA_APP'
OKTA_ROLE = 'OKTA_ROLE'
OPAL_ROLE = 'OPAL_ROLE'
@@ -102,6 +104,13 @@ class ResourceTypeEnum(str, Enum):
VAULT_POLICY = 'VAULT_POLICY'
VAULT_OIDC_ROLE = 'VAULT_OIDC_ROLE'
GIT_HUB_ENTERPRISE_ROLE = 'GIT_HUB_ENTERPRISE_ROLE'
+ GRAFANA_FOLDER = 'GRAFANA_FOLDER'
+ GRAFANA_DASHBOARD = 'GRAFANA_DASHBOARD'
+ GRAFANA_BASIC_ROLE = 'GRAFANA_BASIC_ROLE'
+ GRAFANA_ROLE = 'GRAFANA_ROLE'
+ CLICKHOUSE_DATABASE = 'CLICKHOUSE_DATABASE'
+ CLICKHOUSE_TABLE = 'CLICKHOUSE_TABLE'
+ TWINGATE_RESOURCE = 'TWINGATE_RESOURCE'
@classmethod
def from_json(cls, json_str: str) -> Self:
diff --git a/opal_security/models/resource_user.py b/opal_security/models/resource_user.py
index 5e61150..058cf5a 100644
--- a/opal_security/models/resource_user.py
+++ b/opal_security/models/resource_user.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.resource_access_level import ResourceAccessLevel
from typing import Optional, Set
from typing_extensions import Self
@@ -30,8 +29,8 @@ class ResourceUser(BaseModel):
"""
# Resource User Object ### Description The `ResourceUser` object is used to represent a user with direct access to a resource.
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
- user_id: UUID = Field(description="The ID of the user.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
+ user_id: StrictStr = Field(description="The ID of the user.")
access_level: ResourceAccessLevel
full_name: StrictStr = Field(description="The user's full name.")
email: StrictStr = Field(description="The user's email.")
diff --git a/opal_security/models/resource_user_access_status.py b/opal_security/models/resource_user_access_status.py
index eac8e43..28d7851 100644
--- a/opal_security/models/resource_user_access_status.py
+++ b/opal_security/models/resource_user_access_status.py
@@ -19,9 +19,8 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.resource_access_level import ResourceAccessLevel
from opal_security.models.resource_user_access_status_enum import ResourceUserAccessStatusEnum
from typing import Optional, Set
@@ -31,8 +30,8 @@ class ResourceUserAccessStatus(BaseModel):
"""
# AccessStatus Object ### Description The `AccessStatus` object is used to represent the user's access to the resource. ### Usage Example View the `AccessStatus` for a resource/user pair to determine if the user has access to the resource.
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
- user_id: UUID = Field(description="The ID of the user.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
+ user_id: StrictStr = Field(description="The ID of the user.")
access_level: Optional[ResourceAccessLevel] = None
status: ResourceUserAccessStatusEnum
expiration_date: Optional[datetime] = Field(default=None, description="The day and time the user's access will expire.")
diff --git a/opal_security/models/resource_with_access_level.py b/opal_security/models/resource_with_access_level.py
index ea02cf2..69a933f 100644
--- a/opal_security/models/resource_with_access_level.py
+++ b/opal_security/models/resource_with_access_level.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class ResourceWithAccessLevel(BaseModel):
"""
Information about a resource and corresponding access level
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
access_level_remote_id: Optional[StrictStr] = Field(default=None, description="The ID of the resource.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["resource_id", "access_level_remote_id"]
diff --git a/opal_security/models/reviewer_id_list.py b/opal_security/models/reviewer_id_list.py
index 96ed47d..53e0eb2 100644
--- a/opal_security/models/reviewer_id_list.py
+++ b/opal_security/models/reviewer_id_list.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict
+from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class ReviewerIDList(BaseModel):
"""
A list of reviewer IDs.
""" # noqa: E501
- reviewer_ids: List[UUID]
+ reviewer_ids: List[StrictStr]
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["reviewer_ids"]
diff --git a/opal_security/models/reviewer_stage.py b/opal_security/models/reviewer_stage.py
index 5f5013b..b0df66b 100644
--- a/opal_security/models/reviewer_stage.py
+++ b/opal_security/models/reviewer_stage.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -31,9 +30,10 @@ class ReviewerStage(BaseModel):
require_manager_approval: StrictBool = Field(description="Whether this reviewer stage should require manager approval.")
require_admin_approval: Optional[StrictBool] = Field(default=None, description="Whether this reviewer stage should require admin approval.")
operator: StrictStr = Field(description="The operator of the reviewer stage. Admin and manager approval are also treated as reviewers.")
- owner_ids: List[UUID]
+ owner_ids: List[StrictStr] = Field(description="The IDs of owners assigned as reviewers for this stage.")
+ service_user_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of service users assigned as reviewers for this stage.")
additional_properties: Dict[str, Any] = {}
- __properties: ClassVar[List[str]] = ["require_manager_approval", "require_admin_approval", "operator", "owner_ids"]
+ __properties: ClassVar[List[str]] = ["require_manager_approval", "require_admin_approval", "operator", "owner_ids", "service_user_ids"]
@field_validator('operator')
def operator_validate_enum(cls, value):
@@ -103,7 +103,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"require_manager_approval": obj.get("require_manager_approval"),
"require_admin_approval": obj.get("require_admin_approval"),
"operator": obj.get("operator"),
- "owner_ids": obj.get("owner_ids")
+ "owner_ids": obj.get("owner_ids"),
+ "service_user_ids": obj.get("service_user_ids")
})
# store additional fields in additional_properties
for _key in obj.keys():
diff --git a/opal_security/models/scoped_role_permission.py b/opal_security/models/scoped_role_permission.py
index 52c8a90..36e44a5 100644
--- a/opal_security/models/scoped_role_permission.py
+++ b/opal_security/models/scoped_role_permission.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field, StrictBool
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.role_permission_name_enum import RolePermissionNameEnum
from opal_security.models.role_permission_target_type_enum import RolePermissionTargetTypeEnum
from typing import Optional, Set
@@ -30,7 +29,7 @@ class ScopedRolePermission(BaseModel):
"""
ScopedRolePermission
""" # noqa: E501
- target_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the entities that this permission applies to. If empty of missing, the permission will have untargeted scope.")
+ target_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the entities that this permission applies to. If empty of missing, the permission will have untargeted scope.")
target_type: RolePermissionTargetTypeEnum
permission_name: RolePermissionNameEnum
allow_all: StrictBool
diff --git a/opal_security/models/session.py b/opal_security/models/session.py
index d5210d6..e94daba 100644
--- a/opal_security/models/session.py
+++ b/opal_security/models/session.py
@@ -19,9 +19,8 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.resource_access_level import ResourceAccessLevel
from typing import Optional, Set
from typing_extensions import Self
@@ -30,9 +29,9 @@ class Session(BaseModel):
"""
# Session Object ### Description The `Session` object is used to represent an access session. Some resources can be accessed temporarily via a time-bounded session. ### Usage Example Fetch from the `LIST Sessions` endpoint.
""" # noqa: E501
- connection_id: UUID = Field(description="The ID of the connection.")
- user_id: UUID = Field(description="The ID of the user.")
- resource_id: UUID = Field(description="The ID of the resource.")
+ connection_id: StrictStr = Field(description="The ID of the connection.")
+ user_id: StrictStr = Field(description="The ID of the user.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
access_level: ResourceAccessLevel
expiration_date: datetime = Field(description="The day and time the user's access will expire.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/sync_error.py b/opal_security/models/sync_error.py
index c15ecab..030fe05 100644
--- a/opal_security/models/sync_error.py
+++ b/opal_security/models/sync_error.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -32,7 +31,7 @@ class SyncError(BaseModel):
first_seen: datetime = Field(description="The time when this error was first seen.")
last_seen: datetime = Field(description="The time when this error was most recently seen.")
error_message: StrictStr = Field(description="The error message associated with the sync error.")
- app_id: Optional[UUID] = Field(default=None, description="The ID of the app that the error occured for.")
+ app_id: Optional[StrictStr] = Field(default=None, description="The ID of the app that the error occured for.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["first_seen", "last_seen", "error_message", "app_id"]
diff --git a/opal_security/models/sync_task.py b/opal_security/models/sync_task.py
index b0d60b2..836e29e 100644
--- a/opal_security/models/sync_task.py
+++ b/opal_security/models/sync_task.py
@@ -19,9 +19,8 @@
import json
from datetime import datetime
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class SyncTask(BaseModel):
"""
Represents a sync task that has been completed, either successfully or with errors.
""" # noqa: E501
- id: UUID = Field(description="The ID of the sync task.")
+ id: StrictStr = Field(description="The ID of the sync task.")
completed_at: datetime = Field(description="The time when the sync task was completed.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["id", "completed_at"]
diff --git a/opal_security/models/tag.py b/opal_security/models/tag.py
index 2009477..3aca3db 100644
--- a/opal_security/models/tag.py
+++ b/opal_security/models/tag.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -29,10 +28,10 @@ class Tag(BaseModel):
"""
# Tag Object ### Description The `Tag` object is used to represent a tag. ### Usage Example Get tags from the `GET Tag` endpoint.
""" # noqa: E501
- tag_id: UUID = Field(description="The ID of the tag.")
+ tag_id: StrictStr = Field(description="The ID of the tag.")
created_at: Optional[datetime] = Field(default=None, description="The date the tag was created.")
updated_at: Optional[datetime] = Field(default=None, description="The date the tag was last updated.")
- user_creator_id: Optional[UUID] = Field(default=None, description="The ID of the user that created the tag.")
+ user_creator_id: Optional[StrictStr] = Field(default=None, description="The ID of the user that created the tag.")
key: Optional[StrictStr] = Field(default=None, description="The key of the tag.")
value: Optional[StrictStr] = Field(default=None, description="The value of the tag.")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/tag_selector.py b/opal_security/models/tag_selector.py
index 6952a33..2ed4a68 100644
--- a/opal_security/models/tag_selector.py
+++ b/opal_security/models/tag_selector.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -30,7 +29,7 @@ class TagSelector(BaseModel):
""" # noqa: E501
key: StrictStr
value: StrictStr
- connection_id: UUID
+ connection_id: StrictStr
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["key", "value", "connection_id"]
diff --git a/opal_security/models/token.py b/opal_security/models/token.py
new file mode 100644
index 0000000..076cef2
--- /dev/null
+++ b/opal_security/models/token.py
@@ -0,0 +1,117 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
+from typing import Any, ClassVar, Dict, List, Optional
+from opal_security.models.api_access_level_enum import ApiAccessLevelEnum
+from typing import Optional, Set
+from typing_extensions import Self
+
+class Token(BaseModel):
+ """
+ A first-party API token.
+ """ # noqa: E501
+ token_id: StrictStr = Field(description="The ID of the API token.")
+ created_at: datetime = Field(description="The date and time the token was created.")
+ token_label: StrictStr = Field(description="A human-readable label for the token.")
+ creator_user_id: StrictStr = Field(description="The ID of the user who created the token.")
+ user_id: StrictStr = Field(description="The ID of the user the token authenticates as.")
+ last_used_at: Optional[datetime] = Field(default=None, description="The date and time the token was last used.")
+ access_level: ApiAccessLevelEnum
+ expires_at: Optional[datetime] = Field(default=None, description="The date and time the token expires.")
+ additional_properties: Dict[str, Any] = {}
+ __properties: ClassVar[List[str]] = ["token_id", "created_at", "token_label", "creator_user_id", "user_id", "last_used_at", "access_level", "expires_at"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of Token from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ * Fields in `self.additional_properties` are added to the output dict.
+ """
+ excluded_fields: Set[str] = set([
+ "additional_properties",
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # puts key-value pairs in additional_properties in the top level
+ if self.additional_properties is not None:
+ for _key, _value in self.additional_properties.items():
+ _dict[_key] = _value
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of Token from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "token_id": obj.get("token_id"),
+ "created_at": obj.get("created_at"),
+ "token_label": obj.get("token_label"),
+ "creator_user_id": obj.get("creator_user_id"),
+ "user_id": obj.get("user_id"),
+ "last_used_at": obj.get("last_used_at"),
+ "access_level": obj.get("access_level"),
+ "expires_at": obj.get("expires_at")
+ })
+ # store additional fields in additional_properties
+ for _key in obj.keys():
+ if _key not in cls.__properties:
+ _obj.additional_properties[_key] = obj.get(_key)
+
+ return _obj
+
+
diff --git a/opal_security/models/uar.py b/opal_security/models/uar.py
index 10b4943..127aa75 100644
--- a/opal_security/models/uar.py
+++ b/opal_security/models/uar.py
@@ -21,7 +21,6 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.uar_reviewer_assignment_policy_enum import UARReviewerAssignmentPolicyEnum
from opal_security.models.uar_scope import UARScope
from typing import Optional, Set
@@ -31,7 +30,7 @@ class UAR(BaseModel):
"""
A user access review.
""" # noqa: E501
- uar_id: UUID = Field(description="The ID of the UAR.")
+ uar_id: StrictStr = Field(description="The ID of the UAR.")
name: StrictStr = Field(description="The name of the UAR.")
reviewer_assignment_policy: UARReviewerAssignmentPolicyEnum
send_reviewer_assignment_notification: StrictBool = Field(description="A bool representing whether to send a notification to reviewers when they're assigned a new review. Default is False.")
diff --git a/opal_security/models/uar_scope.py b/opal_security/models/uar_scope.py
index 35add79..efe3c08 100644
--- a/opal_security/models/uar_scope.py
+++ b/opal_security/models/uar_scope.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.group_type_enum import GroupTypeEnum
from opal_security.models.resource_type_enum import ResourceTypeEnum
from opal_security.models.tag_filter import TagFilter
@@ -32,11 +31,11 @@ class UARScope(BaseModel):
If set, the access review will only contain resources and groups that match at least one of the filters in scope.
""" # noqa: E501
group_visibility: Optional[StrictStr] = Field(default=None, description="Specifies what users can see during an Access Review")
- users: Optional[List[UUID]] = Field(default=None, description="The access review will only include the following users. If any users are selected, any entity filters will be applied to only the entities that the selected users have access to.")
+ users: Optional[List[StrictStr]] = Field(default=None, description="The access review will only include the following users. If any users are selected, any entity filters will be applied to only the entities that the selected users have access to.")
filter_operator: Optional[StrictStr] = Field(default=None, description="Specifies whether entities must match all (AND) or any (OR) of the filters.")
- entities: Optional[List[UUID]] = Field(default=None, description="This access review will include resources and groups with ids in the given strings.")
- apps: Optional[List[UUID]] = Field(default=None, description="This access review will include items in the specified applications")
- admins: Optional[List[UUID]] = Field(default=None, description="This access review will include resources and groups who are owned by one of the owners corresponding to the given IDs.")
+ entities: Optional[List[StrictStr]] = Field(default=None, description="This access review will include resources and groups with ids in the given strings.")
+ apps: Optional[List[StrictStr]] = Field(default=None, description="This access review will include items in the specified applications")
+ admins: Optional[List[StrictStr]] = Field(default=None, description="This access review will include resources and groups who are owned by one of the owners corresponding to the given IDs.")
group_types: Optional[List[GroupTypeEnum]] = Field(default=None, description="This access review will include items of the specified group types")
resource_types: Optional[List[ResourceTypeEnum]] = Field(default=None, description="This access review will include items of the specified resource types")
include_group_bindings: Optional[StrictBool] = None
diff --git a/opal_security/models/update_access_rule_info.py b/opal_security/models/update_access_rule_info.py
index 0fa2f16..934de38 100644
--- a/opal_security/models/update_access_rule_info.py
+++ b/opal_security/models/update_access_rule_info.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.rule_clauses import RuleClauses
from typing import Optional, Set
from typing_extensions import Self
@@ -31,7 +30,7 @@ class UpdateAccessRuleInfo(BaseModel):
""" # noqa: E501
name: StrictStr = Field(description="The name of the access rule.")
description: StrictStr = Field(description="A description of the group.")
- admin_owner_id: UUID = Field(description="The ID of the owner of the group.")
+ admin_owner_id: StrictStr = Field(description="The ID of the owner of the group.")
status: StrictStr = Field(description="The status of the access rule.")
rule_clauses: RuleClauses = Field(alias="ruleClauses")
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/update_configuration_template_info.py b/opal_security/models/update_configuration_template_info.py
index 90b83e7..a242f4e 100644
--- a/opal_security/models/update_configuration_template_info.py
+++ b/opal_security/models/update_configuration_template_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_request_configuration_info_list import CreateRequestConfigurationInfoList
from opal_security.models.request_configuration import RequestConfiguration
from opal_security.models.ticket_propagation_configuration import TicketPropagationConfiguration
@@ -33,15 +32,15 @@ class UpdateConfigurationTemplateInfo(BaseModel):
"""
# UpdateConfigurationTemplateInfo Object ### Description The `ConfigurationTemplate` object is used to represent an update to a configuration template. ### Usage Example Use in the `PUT Configuration Templates` endpoint.
""" # noqa: E501
- configuration_template_id: UUID = Field(description="The ID of the configuration template.")
+ configuration_template_id: StrictStr = Field(description="The ID of the configuration template.")
name: Optional[StrictStr] = Field(default=None, description="The name of the configuration template.")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the configuration template.")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the configuration template.")
visibility: Optional[VisibilityInfo] = Field(default=None, description="The visibility info of the configuration template.")
- linked_audit_message_channel_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the audit message channels linked to the configuration template.")
+ linked_audit_message_channel_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the audit message channels linked to the configuration template.")
request_configurations: Optional[List[RequestConfiguration]] = Field(default=None, description="The request configuration list linked to the configuration template.")
request_configuration_list: Optional[CreateRequestConfigurationInfoList] = Field(default=None, description="The request configuration list linked to the configuration template. Deprecated in favor of `request_configurations`.")
- member_oncall_schedule_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the on-call schedules linked to the configuration template.")
- break_glass_user_ids: Optional[List[UUID]] = Field(default=None, description="The IDs of the break glass users linked to the configuration template.")
+ member_oncall_schedule_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the on-call schedules linked to the configuration template.")
+ break_glass_user_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the break glass users linked to the configuration template.")
require_mfa_to_approve: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template.")
require_mfa_to_connect: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA to connect to resources associated with this configuration template.")
ticket_propagation: Optional[TicketPropagationConfiguration] = None
diff --git a/opal_security/models/update_group_binding_info.py b/opal_security/models/update_group_binding_info.py
index aeb95af..e96e883 100644
--- a/opal_security/models/update_group_binding_info.py
+++ b/opal_security/models/update_group_binding_info.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict, Field
+from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from opal_security.models.create_group_binding_info_groups_inner import CreateGroupBindingInfoGroupsInner
from typing import Optional, Set
from typing_extensions import Self
@@ -29,8 +28,8 @@ class UpdateGroupBindingInfo(BaseModel):
"""
# UpdateGroupBindingInfo Object ### Description The `UpdateGroupBindingInfo` object is used as an input to the UpdateGroupBinding API.
""" # noqa: E501
- group_binding_id: UUID = Field(description="The ID of the group binding.")
- source_group_id: UUID = Field(description="The ID of the source group.")
+ group_binding_id: StrictStr = Field(description="The ID of the group binding.")
+ source_group_id: StrictStr = Field(description="The ID of the source group.")
groups: List[CreateGroupBindingInfoGroupsInner] = Field(description="The list of groups.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["group_binding_id", "source_group_id", "groups"]
diff --git a/opal_security/models/update_group_info.py b/opal_security/models/update_group_info.py
index 3893c1f..e3fe3d3 100644
--- a/opal_security/models/update_group_info.py
+++ b/opal_security/models/update_group_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_request_configuration_info_list import CreateRequestConfigurationInfoList
from opal_security.models.request_configuration import RequestConfiguration
from opal_security.models.risk_sensitivity_enum import RiskSensitivityEnum
@@ -32,22 +31,22 @@ class UpdateGroupInfo(BaseModel):
"""
# UpdateGroupInfo Object ### Description The `UpdateGroupInfo` object is used as an input to the UpdateGroup API.
""" # noqa: E501
- group_id: UUID = Field(description="The ID of the group.")
+ group_id: StrictStr = Field(description="The ID of the group.")
name: Optional[StrictStr] = Field(default=None, description="The name of the group.")
description: Optional[StrictStr] = Field(default=None, description="A description of the group.")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the group.")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the group.")
max_duration: Optional[StrictInt] = Field(default=None, description="The maximum duration for which the group can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`.")
recommended_duration: Optional[StrictInt] = Field(default=None, description="The recommended duration for which the group should be requested (in minutes). Will be the default value in a request. Use -1 to set to indefinite and 0 to unset. Deprecated in favor of `request_configurations`.")
require_manager_approval: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not access requests to the group require manager approval. Deprecated in favor of `request_configurations`.")
require_support_ticket: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not access requests to the group require an access ticket. Deprecated in favor of `request_configurations`.")
- folder_id: Optional[UUID] = Field(default=None, description="The ID of the folder that the group is located in.")
+ folder_id: Optional[StrictStr] = Field(default=None, description="The ID of the folder that the group is located in.")
require_mfa_to_approve: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for reviewers to approve requests for this group.")
require_mfa_to_request: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for requesting access to this group. Deprecated in favor of `request_configurations`.")
auto_approval: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to automatically approve requests to this group. Deprecated in favor of `request_configurations`.")
- configuration_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated configuration template.")
- request_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated request template. Deprecated in favor of `request_configurations`.")
+ configuration_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated configuration template.")
+ request_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated request template. Deprecated in favor of `request_configurations`.")
is_requestable: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to allow access requests to this group. Deprecated in favor of `request_configurations`.")
- group_leader_user_ids: Optional[List[UUID]] = Field(default=None, description="A list of User IDs for the group leaders of the group")
+ group_leader_user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of User IDs for the group leaders of the group")
extensions_duration_in_minutes: Optional[StrictInt] = Field(default=None, description="The duration for which access can be extended (in minutes). Deprecated, set the extension duration in the request_configuration you want it to apply to.")
request_configurations: Optional[List[RequestConfiguration]] = Field(default=None, description="The request configuration list of the configuration template. If not provided, the default request configuration will be used.")
request_configuration_list: Optional[CreateRequestConfigurationInfoList] = Field(default=None, description="The request configuration list of the configuration template. If not provided, the default request configuration will be used. Deprecated in favor of `request_configurations`.")
diff --git a/opal_security/models/update_idp_group_mappings_request_mappings_inner.py b/opal_security/models/update_idp_group_mappings_request_mappings_inner.py
index 56b566c..ae2964d 100644
--- a/opal_security/models/update_idp_group_mappings_request_mappings_inner.py
+++ b/opal_security/models/update_idp_group_mappings_request_mappings_inner.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class UpdateIdpGroupMappingsRequestMappingsInner(BaseModel):
"""
UpdateIdpGroupMappingsRequestMappingsInner
""" # noqa: E501
- group_id: Optional[UUID] = None
+ group_id: Optional[StrictStr] = None
alias: Optional[StrictStr] = None
hidden_from_end_user: Optional[StrictBool] = None
additional_properties: Dict[str, Any] = {}
diff --git a/opal_security/models/update_owner_info.py b/opal_security/models/update_owner_info.py
index 6630ed4..dff1219 100644
--- a/opal_security/models/update_owner_info.py
+++ b/opal_security/models/update_owner_info.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,12 +27,12 @@ class UpdateOwnerInfo(BaseModel):
"""
# UpdateOwnerInfo Object ### Description The `UpdateOwnerInfo` object is used as an input to the UpdateOwner API.
""" # noqa: E501
- owner_id: UUID = Field(description="The ID of the owner.")
+ owner_id: StrictStr = Field(description="The ID of the owner.")
name: Optional[StrictStr] = Field(default=None, description="The name of the owner.")
description: Optional[StrictStr] = Field(default=None, description="A description of the owner.")
access_request_escalation_period: Optional[StrictInt] = Field(default=None, description="The amount of time (in minutes) before the next reviewer is notified. Use 0 to remove escalation policy.")
reviewer_message_channel_id: Optional[StrictStr] = Field(default=None, description="The message channel id for the reviewer channel. Use \"\" to remove an existing message channel.")
- source_group_id: Optional[UUID] = Field(default=None, description="Sync this owner's user list with a source group. Use \"\" to remove an existing source group.")
+ source_group_id: Optional[StrictStr] = Field(default=None, description="Sync this owner's user list with a source group. Use \"\" to remove an existing source group.")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["owner_id", "name", "description", "access_request_escalation_period", "reviewer_message_channel_id", "source_group_id"]
diff --git a/opal_security/models/update_resource_info.py b/opal_security/models/update_resource_info.py
index 22774f5..14efb94 100644
--- a/opal_security/models/update_resource_info.py
+++ b/opal_security/models/update_resource_info.py
@@ -21,7 +21,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
-from uuid import UUID
from opal_security.models.create_request_configuration_info_list import CreateRequestConfigurationInfoList
from opal_security.models.request_configuration import RequestConfiguration
from opal_security.models.risk_sensitivity_enum import RiskSensitivityEnum
@@ -33,15 +32,15 @@ class UpdateResourceInfo(BaseModel):
"""
# UpdateResourceInfo Object ### Description The `UpdateResourceInfo` object is used as an input to the UpdateResource API.
""" # noqa: E501
- resource_id: UUID = Field(description="The ID of the resource.")
+ resource_id: StrictStr = Field(description="The ID of the resource.")
name: Optional[StrictStr] = Field(default=None, description="The name of the resource.")
description: Optional[StrictStr] = Field(default=None, description="A description of the resource.")
- admin_owner_id: Optional[UUID] = Field(default=None, description="The ID of the owner of the resource.")
+ admin_owner_id: Optional[StrictStr] = Field(default=None, description="The ID of the owner of the resource.")
max_duration: Optional[StrictInt] = Field(default=None, description="The maximum duration for which the resource can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`.")
recommended_duration: Optional[StrictInt] = Field(default=None, description="The recommended duration for which the resource should be requested (in minutes). Will be the default value in a request. Use -1 to set to indefinite and 0 to unset. Deprecated in favor of `request_configurations`.")
require_manager_approval: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not access requests to the resource require manager approval.")
require_support_ticket: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not access requests to the resource require an access ticket. Deprecated in favor of `request_configurations`.")
- folder_id: Optional[UUID] = Field(default=None, description="The ID of the folder that the resource is located in.")
+ folder_id: Optional[StrictStr] = Field(default=None, description="The ID of the folder that the resource is located in.")
require_mfa_to_approve: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for reviewers to approve requests for this resource.")
require_mfa_to_request: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA for requesting access to this resource. Deprecated in favor of `request_configurations`.")
require_mfa_to_connect: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to require MFA to connect to this resource.")
@@ -49,8 +48,8 @@ class UpdateResourceInfo(BaseModel):
ticket_propagation: Optional[TicketPropagationConfiguration] = None
custom_request_notification: Optional[Annotated[str, Field(strict=True, max_length=800)]] = Field(default=None, description="Custom request notification sent upon request approval.")
risk_sensitivity_override: Optional[RiskSensitivityEnum] = None
- configuration_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated configuration template.")
- request_template_id: Optional[UUID] = Field(default=None, description="The ID of the associated request template. Deprecated in favor of `request_configurations`.")
+ configuration_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated configuration template.")
+ request_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated request template. Deprecated in favor of `request_configurations`.")
is_requestable: Optional[StrictBool] = Field(default=None, description="A bool representing whether or not to allow access requests to this resource. Deprecated in favor of `request_configurations`.")
extensions_duration_in_minutes: Optional[StrictInt] = Field(default=None, description="The duration for which access can be extended (in minutes). Deprecated, set the extension duration in the request_configuration you want it to apply to.")
request_configurations: Optional[List[RequestConfiguration]] = Field(default=None, description="A list of configurations for requests to this resource. If not provided, the default request configuration will be used.")
diff --git a/opal_security/models/user.py b/opal_security/models/user.py
index 8552d74..39eca87 100644
--- a/opal_security/models/user.py
+++ b/opal_security/models/user.py
@@ -20,7 +20,6 @@
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.user_hr_idp_status_enum import UserHrIdpStatusEnum
from typing import Optional, Set
from typing_extensions import Self
@@ -29,7 +28,7 @@ class User(BaseModel):
"""
# User Object ### Description The `User` object is used to represent a user. ### Usage Example Fetch from the `LIST Sessions` endpoint.
""" # noqa: E501
- user_id: UUID = Field(description="The ID of the user.")
+ user_id: StrictStr = Field(description="The ID of the user.")
email: StrictStr = Field(description="The email of the user.")
full_name: StrictStr = Field(description="The full name of the user.")
first_name: StrictStr = Field(description="The first name of the user.")
diff --git a/opal_security/models/user_id_list.py b/opal_security/models/user_id_list.py
index 1069146..b862ee7 100644
--- a/opal_security/models/user_id_list.py
+++ b/opal_security/models/user_id_list.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict
+from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List
-from uuid import UUID
from typing import Optional, Set
from typing_extensions import Self
@@ -28,7 +27,7 @@ class UserIDList(BaseModel):
"""
A list of user IDs.
""" # noqa: E501
- user_ids: List[UUID]
+ user_ids: List[StrictStr]
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["user_ids"]
diff --git a/opal_security/models/visibility_info.py b/opal_security/models/visibility_info.py
index 6a7f391..1c8e11c 100644
--- a/opal_security/models/visibility_info.py
+++ b/opal_security/models/visibility_info.py
@@ -18,9 +18,8 @@
import re # noqa: F401
import json
-from pydantic import BaseModel, ConfigDict
+from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from uuid import UUID
from opal_security.models.visibility_type_enum import VisibilityTypeEnum
from typing import Optional, Set
from typing_extensions import Self
@@ -30,7 +29,7 @@ class VisibilityInfo(BaseModel):
Visibility infomation of an entity.
""" # noqa: E501
visibility: VisibilityTypeEnum
- visibility_group_ids: Optional[List[UUID]] = None
+ visibility_group_ids: Optional[List[StrictStr]] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["visibility", "visibility_group_ids"]
diff --git a/opal_security/rest.py b/opal_security/rest.py
index ade935c..34aa2ca 100644
--- a/opal_security/rest.py
+++ b/opal_security/rest.py
@@ -49,17 +49,12 @@ def read(self):
self.data = self.response.data
return self.data
- @property
- def headers(self):
- """Returns a dictionary of response headers."""
- return self.response.headers
-
def getheaders(self):
- """Returns a dictionary of the response headers; use ``headers`` instead."""
+ """Returns a dictionary of the response headers."""
return self.response.headers
def getheader(self, name, default=None):
- """Returns a given response header; use ``headers.get()`` instead."""
+ """Returns a given response header."""
return self.response.headers.get(name, default)
@@ -82,7 +77,6 @@ def __init__(self, configuration) -> None:
"ca_certs": configuration.ssl_ca_cert,
"cert_file": configuration.cert_file,
"key_file": configuration.key_file,
- "ca_cert_data": configuration.ca_cert_data,
}
if configuration.assert_hostname is not None:
pool_args['assert_hostname'] = (
diff --git a/pyproject.toml b/pyproject.toml
index bfd1432..ed45f2a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,28 +1,23 @@
-[project]
+[tool.poetry]
name = "opal_security"
version = "1.0.0"
description = "Opal API"
-authors = [
- {name = "Opal Team",email = "hello@opal.dev"},
-]
+authors = ["Opal Team "]
+license = "NoLicense"
readme = "README.md"
+repository = "https://github.com/opalsecurity/opal-python"
keywords = ["OpenAPI", "OpenAPI-Generator", "Opal API"]
-requires-python = ">=3.9"
+include = ["opal_security/py.typed"]
-dependencies = [
- "urllib3 (>=2.1.0,<3.0.0)",
- "python-dateutil (>=2.8.2)",
- "pydantic (>=2)",
- "typing-extensions (>=4.7.1)",
-]
+[tool.poetry.dependencies]
+python = "^3.8"
-[project.urls]
-Repository = "https://github.com/opalsecurity/opal-python"
-
-[tool.poetry]
-requires-poetry = ">=2.0"
+urllib3 = ">= 1.25.3 < 3.0.0"
+python-dateutil = ">= 2.8.2"
+pydantic = ">= 2"
+typing-extensions = ">= 4.7.1"
-[tool.poetry.group.dev.dependencies]
+[tool.poetry.dev-dependencies]
pytest = ">= 7.2.1"
pytest-cov = ">= 2.8.1"
tox = ">= 3.9.0"
diff --git a/requirements.txt b/requirements.txt
index 6cbb2b9..67f7f68 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-urllib3 >= 2.1.0, < 3.0.0
+urllib3 >= 1.25.3, < 3.0.0
python_dateutil >= 2.8.2
pydantic >= 2
typing-extensions >= 4.7.1
diff --git a/setup.py b/setup.py
index 95ffa7a..2ea68f0 100644
--- a/setup.py
+++ b/setup.py
@@ -12,6 +12,7 @@
Do not edit the class manually.
""" # noqa: E501
+
from setuptools import setup, find_packages # noqa: H301
# To install the library, run the following
diff --git a/test/test_api_access_level_enum.py b/test/test_api_access_level_enum.py
new file mode 100644
index 0000000..a765eac
--- /dev/null
+++ b/test/test_api_access_level_enum.py
@@ -0,0 +1,34 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.api_access_level_enum import ApiAccessLevelEnum
+
+class TestApiAccessLevelEnum(unittest.TestCase):
+ """ApiAccessLevelEnum unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testApiAccessLevelEnum(self):
+ """Test ApiAccessLevelEnum"""
+ # inst = ApiAccessLevelEnum()
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_group_remote_info_clickhouse_role.py b/test/test_group_remote_info_clickhouse_role.py
new file mode 100644
index 0000000..fb43c29
--- /dev/null
+++ b/test/test_group_remote_info_clickhouse_role.py
@@ -0,0 +1,53 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.group_remote_info_clickhouse_role import GroupRemoteInfoClickhouseRole
+
+class TestGroupRemoteInfoClickhouseRole(unittest.TestCase):
+ """GroupRemoteInfoClickhouseRole unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> GroupRemoteInfoClickhouseRole:
+ """Test GroupRemoteInfoClickhouseRole
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `GroupRemoteInfoClickhouseRole`
+ """
+ model = GroupRemoteInfoClickhouseRole()
+ if include_optional:
+ return GroupRemoteInfoClickhouseRole(
+ role_id = 'my_clickhouse_role'
+ )
+ else:
+ return GroupRemoteInfoClickhouseRole(
+ role_id = 'my_clickhouse_role',
+ )
+ """
+
+ def testGroupRemoteInfoClickhouseRole(self):
+ """Test GroupRemoteInfoClickhouseRole"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_group_remote_info_twingate_group.py b/test/test_group_remote_info_twingate_group.py
new file mode 100644
index 0000000..1622aa8
--- /dev/null
+++ b/test/test_group_remote_info_twingate_group.py
@@ -0,0 +1,53 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.group_remote_info_twingate_group import GroupRemoteInfoTwingateGroup
+
+class TestGroupRemoteInfoTwingateGroup(unittest.TestCase):
+ """GroupRemoteInfoTwingateGroup unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> GroupRemoteInfoTwingateGroup:
+ """Test GroupRemoteInfoTwingateGroup
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `GroupRemoteInfoTwingateGroup`
+ """
+ model = GroupRemoteInfoTwingateGroup()
+ if include_optional:
+ return GroupRemoteInfoTwingateGroup(
+ group_id = 'R3JvdXA6MTIzNA=='
+ )
+ else:
+ return GroupRemoteInfoTwingateGroup(
+ group_id = 'R3JvdXA6MTIzNA==',
+ )
+ """
+
+ def testGroupRemoteInfoTwingateGroup(self):
+ """Test GroupRemoteInfoTwingateGroup"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_paginated_tokens_list.py b/test/test_paginated_tokens_list.py
new file mode 100644
index 0000000..1516d38
--- /dev/null
+++ b/test/test_paginated_tokens_list.py
@@ -0,0 +1,59 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.paginated_tokens_list import PaginatedTokensList
+
+class TestPaginatedTokensList(unittest.TestCase):
+ """PaginatedTokensList unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> PaginatedTokensList:
+ """Test PaginatedTokensList
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `PaginatedTokensList`
+ """
+ model = PaginatedTokensList()
+ if include_optional:
+ return PaginatedTokensList(
+ next = 'cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw',
+ previous = 'cj1sZXdwd2VycWVtY29zZnNkc2NzUWxNMEUxTXk0ME16UXpNallsTWtJ',
+ results = [
+ {token_id=f454d283-ca87-4a8a-bdbb-df212eca5353, created_at=2022-01-23T04:56:07Z, token_preview=ab123, token_label=My API Token, creator_user_id=d4a7d928-783e-4599-8ec6-088d635a5bcc, user_id=d4a7d928-783e-4599-8ec6-088d635a5bcc, access_level=READ_ONLY}
+ ]
+ )
+ else:
+ return PaginatedTokensList(
+ results = [
+ {token_id=f454d283-ca87-4a8a-bdbb-df212eca5353, created_at=2022-01-23T04:56:07Z, token_preview=ab123, token_label=My API Token, creator_user_id=d4a7d928-783e-4599-8ec6-088d635a5bcc, user_id=d4a7d928-783e-4599-8ec6-088d635a5bcc, access_level=READ_ONLY}
+ ],
+ )
+ """
+
+ def testPaginatedTokensList(self):
+ """Test PaginatedTokensList"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_resource_remote_info_clickhouse_database.py b/test/test_resource_remote_info_clickhouse_database.py
new file mode 100644
index 0000000..03a0ec8
--- /dev/null
+++ b/test/test_resource_remote_info_clickhouse_database.py
@@ -0,0 +1,53 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.resource_remote_info_clickhouse_database import ResourceRemoteInfoClickhouseDatabase
+
+class TestResourceRemoteInfoClickhouseDatabase(unittest.TestCase):
+ """ResourceRemoteInfoClickhouseDatabase unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> ResourceRemoteInfoClickhouseDatabase:
+ """Test ResourceRemoteInfoClickhouseDatabase
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `ResourceRemoteInfoClickhouseDatabase`
+ """
+ model = ResourceRemoteInfoClickhouseDatabase()
+ if include_optional:
+ return ResourceRemoteInfoClickhouseDatabase(
+ database_name = 'my_database'
+ )
+ else:
+ return ResourceRemoteInfoClickhouseDatabase(
+ database_name = 'my_database',
+ )
+ """
+
+ def testResourceRemoteInfoClickhouseDatabase(self):
+ """Test ResourceRemoteInfoClickhouseDatabase"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_resource_remote_info_clickhouse_table.py b/test/test_resource_remote_info_clickhouse_table.py
new file mode 100644
index 0000000..f12bcda
--- /dev/null
+++ b/test/test_resource_remote_info_clickhouse_table.py
@@ -0,0 +1,55 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.resource_remote_info_clickhouse_table import ResourceRemoteInfoClickhouseTable
+
+class TestResourceRemoteInfoClickhouseTable(unittest.TestCase):
+ """ResourceRemoteInfoClickhouseTable unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> ResourceRemoteInfoClickhouseTable:
+ """Test ResourceRemoteInfoClickhouseTable
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `ResourceRemoteInfoClickhouseTable`
+ """
+ model = ResourceRemoteInfoClickhouseTable()
+ if include_optional:
+ return ResourceRemoteInfoClickhouseTable(
+ database_name = 'my_database',
+ table_name = 'my_table'
+ )
+ else:
+ return ResourceRemoteInfoClickhouseTable(
+ database_name = 'my_database',
+ table_name = 'my_table',
+ )
+ """
+
+ def testResourceRemoteInfoClickhouseTable(self):
+ """Test ResourceRemoteInfoClickhouseTable"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_resource_remote_info_datadog_role.py b/test/test_resource_remote_info_datadog_role.py
new file mode 100644
index 0000000..731162b
--- /dev/null
+++ b/test/test_resource_remote_info_datadog_role.py
@@ -0,0 +1,53 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.resource_remote_info_datadog_role import ResourceRemoteInfoDatadogRole
+
+class TestResourceRemoteInfoDatadogRole(unittest.TestCase):
+ """ResourceRemoteInfoDatadogRole unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> ResourceRemoteInfoDatadogRole:
+ """Test ResourceRemoteInfoDatadogRole
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `ResourceRemoteInfoDatadogRole`
+ """
+ model = ResourceRemoteInfoDatadogRole()
+ if include_optional:
+ return ResourceRemoteInfoDatadogRole(
+ role_id = '123e4567-e89b-12d3-a456-426614174000'
+ )
+ else:
+ return ResourceRemoteInfoDatadogRole(
+ role_id = '123e4567-e89b-12d3-a456-426614174000',
+ )
+ """
+
+ def testResourceRemoteInfoDatadogRole(self):
+ """Test ResourceRemoteInfoDatadogRole"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_resource_remote_info_netsuite_role.py b/test/test_resource_remote_info_netsuite_role.py
new file mode 100644
index 0000000..a510d7d
--- /dev/null
+++ b/test/test_resource_remote_info_netsuite_role.py
@@ -0,0 +1,53 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.resource_remote_info_netsuite_role import ResourceRemoteInfoNetsuiteRole
+
+class TestResourceRemoteInfoNetsuiteRole(unittest.TestCase):
+ """ResourceRemoteInfoNetsuiteRole unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> ResourceRemoteInfoNetsuiteRole:
+ """Test ResourceRemoteInfoNetsuiteRole
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `ResourceRemoteInfoNetsuiteRole`
+ """
+ model = ResourceRemoteInfoNetsuiteRole()
+ if include_optional:
+ return ResourceRemoteInfoNetsuiteRole(
+ role_id = '123e4567-e89b-12d3-a456-426614174000'
+ )
+ else:
+ return ResourceRemoteInfoNetsuiteRole(
+ role_id = '123e4567-e89b-12d3-a456-426614174000',
+ )
+ """
+
+ def testResourceRemoteInfoNetsuiteRole(self):
+ """Test ResourceRemoteInfoNetsuiteRole"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_resource_remote_info_twingate_resource.py b/test/test_resource_remote_info_twingate_resource.py
new file mode 100644
index 0000000..d75fd55
--- /dev/null
+++ b/test/test_resource_remote_info_twingate_resource.py
@@ -0,0 +1,53 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.resource_remote_info_twingate_resource import ResourceRemoteInfoTwingateResource
+
+class TestResourceRemoteInfoTwingateResource(unittest.TestCase):
+ """ResourceRemoteInfoTwingateResource unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> ResourceRemoteInfoTwingateResource:
+ """Test ResourceRemoteInfoTwingateResource
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `ResourceRemoteInfoTwingateResource`
+ """
+ model = ResourceRemoteInfoTwingateResource()
+ if include_optional:
+ return ResourceRemoteInfoTwingateResource(
+ resource_id = 'UmVzb3VyY2U6MTIzNA=='
+ )
+ else:
+ return ResourceRemoteInfoTwingateResource(
+ resource_id = 'UmVzb3VyY2U6MTIzNA==',
+ )
+ """
+
+ def testResourceRemoteInfoTwingateResource(self):
+ """Test ResourceRemoteInfoTwingateResource"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_token.py b/test/test_token.py
new file mode 100644
index 0000000..0d486bc
--- /dev/null
+++ b/test/test_token.py
@@ -0,0 +1,65 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.models.token import Token
+
+class TestToken(unittest.TestCase):
+ """Token unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> Token:
+ """Test Token
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `Token`
+ """
+ model = Token()
+ if include_optional:
+ return Token(
+ token_id = 'f454d283-ca87-4a8a-bdbb-df212eca5353',
+ created_at = '2022-01-23T04:56:07Z',
+ token_label = 'My API Token',
+ creator_user_id = 'd4a7d928-783e-4599-8ec6-088d635a5bcc',
+ user_id = 'd4a7d928-783e-4599-8ec6-088d635a5bcc',
+ last_used_at = '2022-01-23T04:56:07Z',
+ access_level = 'READ_ONLY',
+ expires_at = '2023-01-23T04:56:07Z'
+ )
+ else:
+ return Token(
+ token_id = 'f454d283-ca87-4a8a-bdbb-df212eca5353',
+ created_at = '2022-01-23T04:56:07Z',
+ token_label = 'My API Token',
+ creator_user_id = 'd4a7d928-783e-4599-8ec6-088d635a5bcc',
+ user_id = 'd4a7d928-783e-4599-8ec6-088d635a5bcc',
+ access_level = 'READ_ONLY',
+ )
+ """
+
+ def testToken(self):
+ """Test Token"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_tokens_api.py b/test/test_tokens_api.py
new file mode 100644
index 0000000..dca4c49
--- /dev/null
+++ b/test/test_tokens_api.py
@@ -0,0 +1,46 @@
+# coding: utf-8
+
+"""
+ Opal API
+
+ The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
+
+ The version of the OpenAPI document: 1.0
+ Contact: hello@opal.dev
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from opal_security.api.tokens_api import TokensApi
+
+
+class TestTokensApi(unittest.TestCase):
+ """TokensApi unit test stubs"""
+
+ def setUp(self) -> None:
+ self.api = TokensApi()
+
+ def tearDown(self) -> None:
+ pass
+
+ def test_delete_token(self) -> None:
+ """Test case for delete_token
+
+ Delete token
+ """
+ pass
+
+ def test_get_tokens(self) -> None:
+ """Test case for get_tokens
+
+ Get tokens
+ """
+ pass
+
+
+if __name__ == '__main__':
+ unittest.main()