aembit-edge-sdk 1.35.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aembit_edge/__init__.py +75 -0
- aembit_edge/auth.py +13 -0
- aembit_edge/client.py +665 -0
- aembit_edge/config.py +22 -0
- aembit_edge/credentials.py +63 -0
- aembit_edge/errors.py +138 -0
- aembit_edge/internal/__init__.py +3 -0
- aembit_edge/internal/client/__init__.py +3 -0
- aembit_edge/internal/client/auth_parsing.py +65 -0
- aembit_edge/internal/client/credential_parsing.py +76 -0
- aembit_edge/internal/client/token_state.py +119 -0
- aembit_edge/internal/protocol/__init__.py +14 -0
- aembit_edge/internal/protocol/edge_api.py +105 -0
- aembit_edge/internal/protocol/errors.py +124 -0
- aembit_edge/internal/protocol/http_transport.py +261 -0
- aembit_edge/internal/protocol/retry.py +27 -0
- aembit_edge/internal/protocol/types.py +116 -0
- aembit_edge/internal/retry.py +249 -0
- aembit_edge/internal/shared.py +19 -0
- aembit_edge/internal/trust_providers/__init__.py +15 -0
- aembit_edge/internal/trust_providers/aws_role.py +157 -0
- aembit_edge/py.typed +1 -0
- aembit_edge/retry.py +16 -0
- aembit_edge/trust_providers/__init__.py +39 -0
- aembit_edge/trust_providers/aws_metadata_service.py +146 -0
- aembit_edge/trust_providers/aws_role.py +183 -0
- aembit_edge/trust_providers/azure_metadata_service.py +180 -0
- aembit_edge/trust_providers/base.py +60 -0
- aembit_edge/trust_providers/gcp_identity_token.py +59 -0
- aembit_edge/trust_providers/kubernetes_service_account.py +83 -0
- aembit_edge/trust_providers/oidc_id_token.py +59 -0
- aembit_edge/trust_providers/oidc_providers.py +159 -0
- aembit_edge/types.py +33 -0
- aembit_edge_sdk-1.35.0.dist-info/METADATA +160 -0
- aembit_edge_sdk-1.35.0.dist-info/RECORD +37 -0
- aembit_edge_sdk-1.35.0.dist-info/WHEEL +4 -0
- aembit_edge_sdk-1.35.0.dist-info/licenses/LICENSE +190 -0
aembit_edge/__init__.py
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Copyright 2024-present Aembit, Inc.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
"""Public package exports for the Aembit Edge Python SDK."""
|
|
4
|
+
|
|
5
|
+
import logging
|
|
6
|
+
|
|
7
|
+
from .auth import AuthSession
|
|
8
|
+
from .client import EdgeClient
|
|
9
|
+
from .config import EdgeClientConfig
|
|
10
|
+
from .credentials import (
|
|
11
|
+
ConnectionMetadata,
|
|
12
|
+
CredentialResult,
|
|
13
|
+
CredentialServerRef,
|
|
14
|
+
GetCredentialInput,
|
|
15
|
+
GetCredentialOptions,
|
|
16
|
+
)
|
|
17
|
+
from .errors import (
|
|
18
|
+
ApiError,
|
|
19
|
+
AuthError,
|
|
20
|
+
CredentialError,
|
|
21
|
+
EdgeSdkError,
|
|
22
|
+
TransportError,
|
|
23
|
+
TrustProviderError,
|
|
24
|
+
)
|
|
25
|
+
from .retry import RetryPolicy
|
|
26
|
+
from .trust_providers import (
|
|
27
|
+
AsyncTrustProvider,
|
|
28
|
+
ClientWorkloadDetails,
|
|
29
|
+
CollectedTrustProviderIdentity,
|
|
30
|
+
TrustProvider,
|
|
31
|
+
TrustProviderKind,
|
|
32
|
+
)
|
|
33
|
+
from .types import (
|
|
34
|
+
ApiKeyData,
|
|
35
|
+
AwsStsData,
|
|
36
|
+
JsonObject,
|
|
37
|
+
JsonPrimitive,
|
|
38
|
+
JsonValue,
|
|
39
|
+
UsernamePasswordData,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
# Ensure named logger has a NullHandler to avoid "No handler found" warnings
|
|
43
|
+
# when host application has not configured logging.
|
|
44
|
+
_logger = logging.getLogger("aembit_edge")
|
|
45
|
+
if not _logger.handlers:
|
|
46
|
+
_logger.addHandler(logging.NullHandler())
|
|
47
|
+
|
|
48
|
+
__all__ = [
|
|
49
|
+
"ApiKeyData",
|
|
50
|
+
"ApiError",
|
|
51
|
+
"AsyncTrustProvider",
|
|
52
|
+
"AuthError",
|
|
53
|
+
"AuthSession",
|
|
54
|
+
"AwsStsData",
|
|
55
|
+
"ConnectionMetadata",
|
|
56
|
+
"CredentialError",
|
|
57
|
+
"CredentialResult",
|
|
58
|
+
"CredentialServerRef",
|
|
59
|
+
"CollectedTrustProviderIdentity",
|
|
60
|
+
"ClientWorkloadDetails",
|
|
61
|
+
"EdgeClient",
|
|
62
|
+
"EdgeClientConfig",
|
|
63
|
+
"EdgeSdkError",
|
|
64
|
+
"GetCredentialInput",
|
|
65
|
+
"GetCredentialOptions",
|
|
66
|
+
"JsonObject",
|
|
67
|
+
"JsonPrimitive",
|
|
68
|
+
"JsonValue",
|
|
69
|
+
"RetryPolicy",
|
|
70
|
+
"TransportError",
|
|
71
|
+
"TrustProvider",
|
|
72
|
+
"TrustProviderError",
|
|
73
|
+
"TrustProviderKind",
|
|
74
|
+
"UsernamePasswordData",
|
|
75
|
+
]
|
aembit_edge/auth.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Copyright 2024-present Aembit, Inc.
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
"""Public authentication result types."""
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass(slots=True, kw_only=True)
|
|
9
|
+
class AuthSession:
|
|
10
|
+
"""Authentication state returned by :meth:`aembit_edge.EdgeClient.authenticate`."""
|
|
11
|
+
|
|
12
|
+
expires_at: str | None
|
|
13
|
+
trust_provider_id: str
|