Skip to main content

Opal API

Project description

opal-security

The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0
  • Releases
  • Generator version: 7.19.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

For more information, please visit https://www.opal.dev/

Requirements.

Python 3.9+

Installation & Usage

pip install

We recommend installing from PyPI using pip:

pip install opal-security

You can also install via git:

pip install git+https://github.com/opalsecurity/opal-python.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/opalsecurity/opal-python.git)

Then import the package:

import opal_security as opal

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import opal_security as opal

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

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.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = opal.AccessRulesApi(api_client)
    update_access_rule_info = opal_security.UpdateAccessRuleInfo() # UpdateAccessRuleInfo | 

    try:
        api_response = api_instance.create_access_rule(update_access_rule_info)
        print("The response of AccessRulesApi->create_access_rule:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AccessRulesApi->create_access_rule: %s\n" % e)

Example with Events API:

import time
import opal_security as opal
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.
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 = 'YOUR_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
    api_instance = opal.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 = "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 = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An event type filter for the events. (optional)
    cursor = "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw" # str | The pagination cursor value. (optional)
    page_size = 200 # int | Number of results to return per page. Default is 200. (optional)

    try:
        api_response = api_instance.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, cursor=cursor, page_size=page_size)
        pprint(api_response.dict())
    except opal.ApiException as e:
        print("Exception when calling EventsApi->events: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.opal.dev/v1

Class Method HTTP request Description
AccessRulesApi create_access_rule POST /access-rules
AccessRulesApi get_access_rule GET /access-rules/{access_rule_id}
AccessRulesApi update_access_rule PUT /access-rules/{access_rule_id}
AppsApi get_app GET /apps/{app_id} Get app by ID
AppsApi get_apps GET /apps Get apps
AppsApi get_sync_errors GET /sync_errors
BundlesApi add_bundle_group POST /bundles/{bundle_id}/groups
BundlesApi add_bundle_resource POST /bundles/{bundle_id}/resources
BundlesApi create_bundle POST /bundles
BundlesApi delete_bundle DELETE /bundles/{bundle_id}
BundlesApi get_bundle GET /bundles/{bundle_id} Get bundle by ID
BundlesApi get_bundle_groups GET /bundles/{bundle_id}/groups
BundlesApi get_bundle_resources GET /bundles/{bundle_id}/resources
BundlesApi get_bundle_visibility GET /bundles/{bundle_id}/visibility
BundlesApi get_bundles GET /bundles Get bundles
BundlesApi remove_bundle_group DELETE /bundles/{bundle_id}/groups/{group_id}
BundlesApi remove_bundle_resource DELETE /bundles/{bundle_id}/resources/{resource_id}
BundlesApi set_bundle_visibility PUT /bundles/{bundle_id}/visibility
BundlesApi update_bundle PUT /bundles/{bundle_id}
ConfigurationTemplatesApi create_configuration_template POST /configuration-templates
ConfigurationTemplatesApi delete_configuration_template DELETE /configuration-templates/{configuration_template_id}
ConfigurationTemplatesApi get_configuration_templates GET /configuration-templates
ConfigurationTemplatesApi update_configuration_template PUT /configuration-templates
DelegationsApi create_delegation POST /delegations
DelegationsApi delete_delegation DELETE /delegations/{delegation_id}
DelegationsApi get_delegation GET /delegations/{delegation_id} Get delegation by ID
DelegationsApi get_delegations GET /delegations Get delegations
EventsApi events GET /events
EventsApi get_event GET /events/{event_id} Get event by ID
GroupBindingsApi create_group_binding POST /group-bindings
GroupBindingsApi delete_group_binding DELETE /group-bindings/{group_binding_id}
GroupBindingsApi get_group_binding GET /group-bindings/{group_binding_id} Get group binding by ID
GroupBindingsApi get_group_bindings GET /group-bindings Get group bindings
GroupBindingsApi update_group_bindings PUT /group-bindings
GroupsApi add_group_containing_group POST /groups/{group_id}/containing-groups
GroupsApi add_group_resource POST /groups/{group_id}/resources/{resource_id}
GroupsApi add_group_user POST /groups/{group_id}/users/{user_id}
GroupsApi create_group POST /groups
GroupsApi delete_group DELETE /groups/{group_id}
GroupsApi delete_group_user DELETE /groups/{group_id}/users/{user_id}
GroupsApi get_group GET /groups/{group_id} Get group by ID
GroupsApi get_group_containing_group GET /groups/{group_id}/containing-groups/{containing_group_id} Get nested group by ID
GroupsApi get_group_containing_groups GET /groups/{group_id}/containing-groups Get nested groups
GroupsApi get_group_message_channels GET /groups/{group_id}/message-channels
GroupsApi get_group_on_call_schedules GET /groups/{group_id}/on-call-schedules
GroupsApi get_group_resources GET /groups/{group_id}/resources
GroupsApi get_group_reviewer_stages GET /groups/{group_id}/reviewer-stages
GroupsApi get_group_reviewers GET /groups/{group_id}/reviewers
GroupsApi get_group_tags GET /groups/{group_id}/tags
GroupsApi get_group_users GET /groups/{group_id}/users
GroupsApi get_group_visibility GET /groups/{group_id}/visibility
GroupsApi get_groups GET /groups Get groups
GroupsApi get_user_groups GET /groups/users/{user_id}
GroupsApi remove_group_containing_group DELETE /groups/{group_id}/containing-groups/{containing_group_id}
GroupsApi set_group_message_channels PUT /groups/{group_id}/message-channels
GroupsApi set_group_on_call_schedules PUT /groups/{group_id}/on-call-schedules
GroupsApi set_group_resources PUT /groups/{group_id}/resources
GroupsApi set_group_reviewer_stages PUT /groups/{group_id}/reviewer-stages
GroupsApi set_group_reviewers PUT /groups/{group_id}/reviewers
GroupsApi set_group_visibility PUT /groups/{group_id}/visibility
GroupsApi update_group_user PUT /groups/{group_id}/users/{user_id}
GroupsApi update_groups PUT /groups
IdpGroupMappingsApi create_idp_group_mapping POST /idp-group-mappings/{app_resource_id}/groups/{group_id}
IdpGroupMappingsApi delete_idp_group_mappings DELETE /idp-group-mappings/{app_resource_id}/groups/{group_id}
IdpGroupMappingsApi get_idp_group_mapping GET /idp-group-mappings/{app_resource_id}/groups/{group_id}
IdpGroupMappingsApi get_idp_group_mappings GET /idp-group-mappings/{app_resource_id}
IdpGroupMappingsApi update_idp_group_mappings PUT /idp-group-mappings/{app_resource_id}
MessageChannelsApi create_message_channel POST /message-channels
MessageChannelsApi get_message_channel GET /message-channels/{message_channel_id} Get message channel by ID
MessageChannelsApi get_message_channels GET /message-channels Get message channels
NonHumanIdentitiesApi get_nhis GET /non-human-identities
OnCallSchedulesApi create_on_call_schedule POST /on-call-schedules
OnCallSchedulesApi get_on_call_schedule GET /on-call-schedules/{on_call_schedule_id} Get on call schedule by ID
OnCallSchedulesApi get_on_call_schedules GET /on-call-schedules Get on call schedules
OwnersApi create_owner POST /owners
OwnersApi delete_owner DELETE /owners/{owner_id}
OwnersApi get_owner GET /owners/{owner_id} Get owner by ID
OwnersApi get_owner_from_name GET /owners/name/{owner_name}
OwnersApi get_owner_users GET /owners/{owner_id}/users
OwnersApi get_owners GET /owners Get owners
OwnersApi set_owner_users PUT /owners/{owner_id}/users
OwnersApi update_owners PUT /owners
RequestsApi approve_request POST /requests/{id}/approve
RequestsApi create_request POST /requests
RequestsApi create_request_comment POST /requests/{id}/comments
RequestsApi deny_request POST /requests/{id}/deny
RequestsApi get_request GET /requests/{id} Get request by ID
RequestsApi get_request_comments GET /requests/{id}/comments
RequestsApi get_requests GET /requests Get requests
RequestsApi get_requests_relay GET /requests/relay Get requests via Relay
ResourcesApi add_resource_nhi POST /resources/{resource_id}/non-human-identities/{non_human_identity_id}
ResourcesApi add_resource_user POST /resources/{resource_id}/users/{user_id}
ResourcesApi create_resource POST /resources
ResourcesApi delete_resource DELETE /resources/{resource_id}
ResourcesApi delete_resource_nhi DELETE /resources/{resource_id}/non-human-identities/{non_human_identity_id}
ResourcesApi delete_resource_user DELETE /resources/{resource_id}/users/{user_id}
ResourcesApi get_resource GET /resources/{resource_id} Get resource by ID
ResourcesApi get_resource_groups GET /resources/{resource_id}/groups
ResourcesApi get_resource_message_channels GET /resources/{resource_id}/message-channels
ResourcesApi get_resource_nhis GET /resources/{resource_id}/non-human-identities
ResourcesApi get_resource_reviewer_stages GET /resources/{resource_id}/reviewer-stages
ResourcesApi get_resource_reviewers GET /resources/{resource_id}/reviewers
ResourcesApi get_resource_scoped_role_permissions GET /resources/{resource_id}/scoped-role-permissions
ResourcesApi get_resource_tags GET /resources/{resource_id}/tags
ResourcesApi get_resource_user GET /resources/{resource_id}/users/{user_id} Get resource user
ResourcesApi get_resource_users GET /resources/{resource_id}/users Get resource users
ResourcesApi get_resource_visibility GET /resources/{resource_id}/visibility
ResourcesApi get_resources GET /resources Get resources
ResourcesApi get_user_resources GET /resources/users/{user_id}
ResourcesApi resource_user_access_status_retrieve GET /resource-user-access-status/{resource_id}/{user_id}
ResourcesApi set_resource_message_channels PUT /resources/{resource_id}/message-channels
ResourcesApi set_resource_reviewer_stages PUT /resources/{resource_id}/reviewer-stages
ResourcesApi set_resource_reviewers PUT /resources/{resource_id}/reviewers
ResourcesApi set_resource_scoped_role_permissions PUT /resources/{resource_id}/scoped-role-permissions
ResourcesApi set_resource_visibility PUT /resources/{resource_id}/visibility
ResourcesApi update_resource_user PUT /resources/{resource_id}/users/{user_id}
ResourcesApi update_resources PUT /resources
SessionsApi sessions GET /sessions
TagsApi add_group_tag POST /tags/{tag_id}/groups/{group_id}
TagsApi add_resource_tag POST /tags/{tag_id}/resources/{resource_id}
TagsApi add_user_tag POST /tags/{tag_id}/users/{user_id}
TagsApi create_tag POST /tag
TagsApi delete_tag_by_id DELETE /tag/{tag_id}
TagsApi get_tag GET /tag
TagsApi get_tag_by_id GET /tag/{tag_id} Get tag by ID
TagsApi get_tags GET /tags Get tags
TagsApi remove_group_tag DELETE /tags/{tag_id}/groups/{group_id}
TagsApi remove_resource_tag DELETE /tags/{tag_id}/resources/{resource_id}
TagsApi remove_user_tag DELETE /tags/{tag_id}/users/{user_id}
TokensApi delete_token DELETE /tokens/{token_id} Delete token
TokensApi get_tokens GET /tokens Get tokens
UarsApi create_uar POST /uar
UarsApi get_uar GET /uar/{uar_id}
UarsApi get_uars GET /uars
UsersApi get_remote_users GET /users/remote_users
UsersApi get_user_tags GET /users/{user_id}/tags
UsersApi get_users GET /users
UsersApi user GET /user

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

BearerAuth

  • Type: Bearer authentication

Author

hello@opal.dev

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opal_security-1.0.5.tar.gz (347.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opal_security-1.0.5-py3-none-any.whl (530.4 kB view details)

Uploaded Python 3

File details

Details for the file opal_security-1.0.5.tar.gz.

File metadata

  • Download URL: opal_security-1.0.5.tar.gz
  • Upload date:
  • Size: 347.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for opal_security-1.0.5.tar.gz
Algorithm Hash digest
SHA256 34a657a86f055ec27e307e2bed1b5f41b092bb351ecb4289a60b02c3b8c02e1c
MD5 ee898ef025e582d769ad0f6f89802e79
BLAKE2b-256 cd1b43e73cb94f334033ce9880e61e01a6b9d7b5c8114d7010b5022386ba027e

See more details on using hashes here.

File details

Details for the file opal_security-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: opal_security-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 530.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for opal_security-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bb8f5af9c255d2d0934f7ccb82a057000d9de2b3e8ccbd3a149ab9d45d5fed51
MD5 6cf800451f29863a5130859d59a1bdd2
BLAKE2b-256 8891bdf45e3bd97f3cc7180c4a4761e9c5c736738394f09580bbac2f672be5e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page