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
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}
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.0.tar.gz (337.6 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.0-py3-none-any.whl (511.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: opal_security-1.0.0.tar.gz
  • Upload date:
  • Size: 337.6 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.0.tar.gz
Algorithm Hash digest
SHA256 3344fdd208f210d930f96e836ed678146855c85775fbfc7d331c7594be4ec0ec
MD5 ddd9388f2d34562f18e36ee425bf9dab
BLAKE2b-256 6e614f1810a21f9a32e27dd2987f2a25322f4bc26bec950fabeea2037c209ca7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opal_security-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 511.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6c6617d9caaa49aa1dd92ff97fafdc513ebbb094361745ed7ebfa72b90c92ba
MD5 632a7dcbf92b16a8d97b587fcf05d548
BLAKE2b-256 67123c0fd8679d4dfbb2290f329cb9e9710de31e0a01773af66009f02f56c146

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