Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion example/desktop_app.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# [developer-docs.sdk.python.sdk-import]-start
from onepassword import *
# [developer-docs.sdk.python.sdk-import]-end
import asyncio
import os

Expand Down Expand Up @@ -92,7 +93,6 @@ async def showcase_vault_operations(client: Client):
# [developer-docs.sdk.python.list-vault]-end

async def showcase_group_permission_operations(client: Client, vault_id: str, group_id: str):

# [developer-docs.sdk.python.grant-group-permissions]-start
# Grant Group Permissions
await client.vaults.grant_group_permissions(
Expand Down
52 changes: 48 additions & 4 deletions example/example.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,10 @@ async def showcase_vault_operations(client: Client):
print(f"Created vault: {created_vault.id} - {created_vault.title}")
# [developer-docs.sdk.python.create-vault]-end

# [developer-docs.sdk.python.vault-overview]-start
# [developer-docs.sdk.python.python.get-vault-overview]-start
vault_overview = await client.vaults.get_overview(created_vault.id)
print(vault_overview)
# [developer-docs.sdk.python.vault-overview]-end
# [developer-docs.sdk.python.python.get-vault-overview]-end

# [developer-docs.sdk.python.update-vault]-start
# Update Vault
Expand All @@ -235,8 +235,8 @@ async def showcase_vault_operations(client: Client):
accessors=True,
)

updated_vault = await client.vaults.get(created_vault.id, get_params)
print(f"Updated vault: {updated_vault.id} - {updated_vault.title}")
vault = await client.vaults.get(created_vault.id, get_params)
print(f"Retrieved vault: {vault.id} - {vault.title}")
# [developer-docs.sdk.python.get-vault-details]-end

# [developer-docs.sdk.python.delete-vault]-start
Expand Down Expand Up @@ -603,6 +603,50 @@ def generate_special_item_fields():
],
)

async def showcase_group_permission_operations(client: Client, vault_id: str, group_id: str):
# [developer-docs.sdk.python.grant-group-permissions]-start
# Grant Group Permissions
await client.vaults.grant_group_permissions(
vault_id=vault_id,
group_permissions_list=[
GroupAccess(
group_id=group_id,
permissions=READ_ITEMS,
)
],
)
print(f"Granted group {group_id} permissions to vault {vault_id}")
# [developer-docs.sdk.python.grant-group-permissions]-end

# [developer-docs.sdk.python.update-group-permissions]-start
# Update Group Permissions
await client.vaults.update_group_permissions(
group_permissions_list=[
GroupVaultAccess(
vault_id=vault_id,
group_id=group_id,
permissions= READ_ITEMS | CREATE_ITEMS | UPDATE_ITEMS,
)
],
)
print(f"Updated group {group_id} permissions to vault {vault_id}")
# [developer-docs.sdk.python.update-group-permissions]-end

# [developer-docs.sdk.python.revoke-group-permissions]-start
# Revoke Group Permissions
await client.vaults.revoke_group_permissions(
vault_id=vault_id,
group_id=group_id,
)
# [developer-docs.sdk.python.revoke-group-permissions]-end

# [developer-docs.sdk.python.get-group]-start
# Get a group
group = await client.groups.get(group_id, GroupGetParams(vaultPermissions=False))
print(group)
# [developer-docs.sdk.python.get-group]-end



if __name__ == "__main__":
asyncio.run(main())
33 changes: 33 additions & 0 deletions src/onepassword/environments.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Code generated by op-codegen - DO NO EDIT MANUALLY

from .core import InnerClient
from pydantic import TypeAdapter
from .types import GetVariablesResponse


class Environments:
"""
The Environments API holds all the operations the SDK client can perform on 1Password Environments (Vault Type = 'D').
"""

def __init__(self, inner_client: InnerClient):
self.inner_client = inner_client

async def get_variables(self, environment_id: str) -> GetVariablesResponse:
"""
Get environment variables belonging to an Environment.
"""
response = await self.inner_client.invoke(
{
"invocation": {
"clientId": self.inner_client.client_id,
"parameters": {
"name": "EnvironmentsGetVariables",
"parameters": {"environment_id": environment_id},
},
}
}
)

response = TypeAdapter(GetVariablesResponse).validate_json(response)
return response
Loading