strongdm 11.17.0__zip → 11.18.0__zip
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.
- {strongdm-11.17.0 → strongdm-11.18.0}/PKG-INFO +2 -2
- {strongdm-11.17.0 → strongdm-11.18.0}/setup.py +2 -2
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/client.py +1 -1
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/drivers_pb2.py +268 -178
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/models.py +335 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/plumbing.py +123 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/svc.py +2 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm.egg-info/PKG-INFO +2 -2
- {strongdm-11.17.0 → strongdm-11.18.0}/LICENSE +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/README.md +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/setup.cfg +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/__init__.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/access_request_events_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/access_requests_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/access_requests_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/access_requests_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/access_requests_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_attachments_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_attachments_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_attachments_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_grants_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_grants_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_grants_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_grants_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_permissions_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_permissions_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_resources_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_resources_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_resources_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/account_resources_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/accounts_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/accounts_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/accounts_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/accounts_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/activities_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/activities_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_approvers_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_approvers_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_approvers_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_steps_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_steps_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_steps_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_steps_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflows_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflows_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflows_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflows_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/constants.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/control_panel_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/control_panel_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/drivers_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/errors.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/health_checks_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/health_checks_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_aliases_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_aliases_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_aliases_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_aliases_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_sets_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_sets_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_sets_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/identity_sets_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/nodes_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/nodes_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/nodes_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/nodes_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/options_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/options_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/organization_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/organization_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_group_nodes_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_group_peers_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_group_resources_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_groups_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/peering_groups_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/policies_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/policies_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/policies_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/policies_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/proxy_cluster_keys_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/proxy_cluster_keys_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/queries_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/queries_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identities_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identities_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identities_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identity_groups_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identity_groups_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/replays_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/replays_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/resources_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/resources_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/resources_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/resources_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/role_resources_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/role_resources_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/role_resources_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/role_resources_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/roles_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/roles_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/roles_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/roles_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_engine_policy_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_engine_types_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_store_healths_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_store_healths_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_store_types_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_store_types_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_stores_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_stores_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/secret_stores_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/spec_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/spec_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/tags_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/tags_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_approvers_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_approvers_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_assignments_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_assignments_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_roles_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_roles_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflow_roles_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflows_history_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflows_history_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflows_pb2.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm/workflows_pb2_grpc.py +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm.egg-info/SOURCES.txt +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm.egg-info/dependency_links.txt +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm.egg-info/requires.txt +0 -0
- {strongdm-11.17.0 → strongdm-11.18.0}/strongdm.egg-info/top_level.txt +0 -0
@@ -10268,6 +10268,169 @@ class GCPCertX509Store:
|
|
10268
10268
|
)
|
10269
10269
|
|
10270
10270
|
|
10271
|
+
class GCPConsole:
|
10272
|
+
'''
|
10273
|
+
GCPConsole is currently unstable, and its API may change, or it may be removed,
|
10274
|
+
without a major version bump.
|
10275
|
+
'''
|
10276
|
+
__slots__ = [
|
10277
|
+
'bind_interface',
|
10278
|
+
'egress_filter',
|
10279
|
+
'healthy',
|
10280
|
+
'id',
|
10281
|
+
'identity_alias_healthcheck_username',
|
10282
|
+
'identity_set_id',
|
10283
|
+
'name',
|
10284
|
+
'port_override',
|
10285
|
+
'proxy_cluster_id',
|
10286
|
+
'secret_store_id',
|
10287
|
+
'session_expiry',
|
10288
|
+
'subdomain',
|
10289
|
+
'tags',
|
10290
|
+
'workforce_pool_id',
|
10291
|
+
'workforce_provider_id',
|
10292
|
+
]
|
10293
|
+
|
10294
|
+
def __init__(
|
10295
|
+
self,
|
10296
|
+
bind_interface=None,
|
10297
|
+
egress_filter=None,
|
10298
|
+
healthy=None,
|
10299
|
+
id=None,
|
10300
|
+
identity_alias_healthcheck_username=None,
|
10301
|
+
identity_set_id=None,
|
10302
|
+
name=None,
|
10303
|
+
port_override=None,
|
10304
|
+
proxy_cluster_id=None,
|
10305
|
+
secret_store_id=None,
|
10306
|
+
session_expiry=None,
|
10307
|
+
subdomain=None,
|
10308
|
+
tags=None,
|
10309
|
+
workforce_pool_id=None,
|
10310
|
+
workforce_provider_id=None,
|
10311
|
+
):
|
10312
|
+
self.bind_interface = bind_interface if bind_interface is not None else ''
|
10313
|
+
'''
|
10314
|
+
The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
10315
|
+
'''
|
10316
|
+
self.egress_filter = egress_filter if egress_filter is not None else ''
|
10317
|
+
'''
|
10318
|
+
A filter applied to the routing logic to pin datasource to nodes.
|
10319
|
+
'''
|
10320
|
+
self.healthy = healthy if healthy is not None else False
|
10321
|
+
'''
|
10322
|
+
True if the datasource is reachable and the credentials are valid.
|
10323
|
+
'''
|
10324
|
+
self.id = id if id is not None else ''
|
10325
|
+
'''
|
10326
|
+
Unique identifier of the Resource.
|
10327
|
+
'''
|
10328
|
+
self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
|
10329
|
+
'''
|
10330
|
+
The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
|
10331
|
+
'''
|
10332
|
+
self.identity_set_id = identity_set_id if identity_set_id is not None else ''
|
10333
|
+
'''
|
10334
|
+
The ID of the identity set to use for identity connections.
|
10335
|
+
'''
|
10336
|
+
self.name = name if name is not None else ''
|
10337
|
+
'''
|
10338
|
+
Unique human-readable name of the Resource.
|
10339
|
+
'''
|
10340
|
+
self.port_override = port_override if port_override is not None else 0
|
10341
|
+
'''
|
10342
|
+
The local port used by clients to connect to this resource.
|
10343
|
+
'''
|
10344
|
+
self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
|
10345
|
+
'''
|
10346
|
+
ID of the proxy cluster for this resource, if any.
|
10347
|
+
'''
|
10348
|
+
self.secret_store_id = secret_store_id if secret_store_id is not None else ''
|
10349
|
+
'''
|
10350
|
+
ID of the secret store containing credentials for this resource, if any.
|
10351
|
+
'''
|
10352
|
+
self.session_expiry = session_expiry if session_expiry is not None else 0
|
10353
|
+
'''
|
10354
|
+
The length of time in seconds console sessions will live before needing to reauthenticate.
|
10355
|
+
'''
|
10356
|
+
self.subdomain = subdomain if subdomain is not None else ''
|
10357
|
+
'''
|
10358
|
+
Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
10359
|
+
'''
|
10360
|
+
self.tags = tags if tags is not None else _porcelain_zero_value_tags()
|
10361
|
+
'''
|
10362
|
+
Tags is a map of key, value pairs.
|
10363
|
+
'''
|
10364
|
+
self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
|
10365
|
+
'''
|
10366
|
+
The ID of the Workforce Identity Pool in GCP to use for federated authentication.
|
10367
|
+
'''
|
10368
|
+
self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
|
10369
|
+
'''
|
10370
|
+
The ID of the Workforce Identity Provider in GCP to use for federated authentication.
|
10371
|
+
'''
|
10372
|
+
|
10373
|
+
def __repr__(self):
|
10374
|
+
return '<sdm.GCPConsole ' + \
|
10375
|
+
'bind_interface: ' + repr(self.bind_interface) + ' ' +\
|
10376
|
+
'egress_filter: ' + repr(self.egress_filter) + ' ' +\
|
10377
|
+
'healthy: ' + repr(self.healthy) + ' ' +\
|
10378
|
+
'id: ' + repr(self.id) + ' ' +\
|
10379
|
+
'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
|
10380
|
+
'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
|
10381
|
+
'name: ' + repr(self.name) + ' ' +\
|
10382
|
+
'port_override: ' + repr(self.port_override) + ' ' +\
|
10383
|
+
'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
|
10384
|
+
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
|
10385
|
+
'session_expiry: ' + repr(self.session_expiry) + ' ' +\
|
10386
|
+
'subdomain: ' + repr(self.subdomain) + ' ' +\
|
10387
|
+
'tags: ' + repr(self.tags) + ' ' +\
|
10388
|
+
'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
|
10389
|
+
'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
|
10390
|
+
'>'
|
10391
|
+
|
10392
|
+
def to_dict(self):
|
10393
|
+
return {
|
10394
|
+
'bind_interface': self.bind_interface,
|
10395
|
+
'egress_filter': self.egress_filter,
|
10396
|
+
'healthy': self.healthy,
|
10397
|
+
'id': self.id,
|
10398
|
+
'identity_alias_healthcheck_username':
|
10399
|
+
self.identity_alias_healthcheck_username,
|
10400
|
+
'identity_set_id': self.identity_set_id,
|
10401
|
+
'name': self.name,
|
10402
|
+
'port_override': self.port_override,
|
10403
|
+
'proxy_cluster_id': self.proxy_cluster_id,
|
10404
|
+
'secret_store_id': self.secret_store_id,
|
10405
|
+
'session_expiry': self.session_expiry,
|
10406
|
+
'subdomain': self.subdomain,
|
10407
|
+
'tags': self.tags,
|
10408
|
+
'workforce_pool_id': self.workforce_pool_id,
|
10409
|
+
'workforce_provider_id': self.workforce_provider_id,
|
10410
|
+
}
|
10411
|
+
|
10412
|
+
@classmethod
|
10413
|
+
def from_dict(cls, d):
|
10414
|
+
return cls(
|
10415
|
+
bind_interface=d.get('bind_interface'),
|
10416
|
+
egress_filter=d.get('egress_filter'),
|
10417
|
+
healthy=d.get('healthy'),
|
10418
|
+
id=d.get('id'),
|
10419
|
+
identity_alias_healthcheck_username=d.get(
|
10420
|
+
'identity_alias_healthcheck_username'),
|
10421
|
+
identity_set_id=d.get('identity_set_id'),
|
10422
|
+
name=d.get('name'),
|
10423
|
+
port_override=d.get('port_override'),
|
10424
|
+
proxy_cluster_id=d.get('proxy_cluster_id'),
|
10425
|
+
secret_store_id=d.get('secret_store_id'),
|
10426
|
+
session_expiry=d.get('session_expiry'),
|
10427
|
+
subdomain=d.get('subdomain'),
|
10428
|
+
tags=d.get('tags'),
|
10429
|
+
workforce_pool_id=d.get('workforce_pool_id'),
|
10430
|
+
workforce_provider_id=d.get('workforce_provider_id'),
|
10431
|
+
)
|
10432
|
+
|
10433
|
+
|
10271
10434
|
class GCPStore:
|
10272
10435
|
__slots__ = [
|
10273
10436
|
'id',
|
@@ -10326,6 +10489,178 @@ class GCPStore:
|
|
10326
10489
|
)
|
10327
10490
|
|
10328
10491
|
|
10492
|
+
class GCPWIF:
|
10493
|
+
'''
|
10494
|
+
GCPWIF is currently unstable, and its API may change, or it may be removed,
|
10495
|
+
without a major version bump.
|
10496
|
+
'''
|
10497
|
+
__slots__ = [
|
10498
|
+
'bind_interface',
|
10499
|
+
'egress_filter',
|
10500
|
+
'healthy',
|
10501
|
+
'id',
|
10502
|
+
'identity_alias_healthcheck_username',
|
10503
|
+
'identity_set_id',
|
10504
|
+
'name',
|
10505
|
+
'port_override',
|
10506
|
+
'proxy_cluster_id',
|
10507
|
+
'scopes',
|
10508
|
+
'secret_store_id',
|
10509
|
+
'session_expiry',
|
10510
|
+
'subdomain',
|
10511
|
+
'tags',
|
10512
|
+
'workforce_pool_id',
|
10513
|
+
'workforce_provider_id',
|
10514
|
+
]
|
10515
|
+
|
10516
|
+
def __init__(
|
10517
|
+
self,
|
10518
|
+
bind_interface=None,
|
10519
|
+
egress_filter=None,
|
10520
|
+
healthy=None,
|
10521
|
+
id=None,
|
10522
|
+
identity_alias_healthcheck_username=None,
|
10523
|
+
identity_set_id=None,
|
10524
|
+
name=None,
|
10525
|
+
port_override=None,
|
10526
|
+
proxy_cluster_id=None,
|
10527
|
+
scopes=None,
|
10528
|
+
secret_store_id=None,
|
10529
|
+
session_expiry=None,
|
10530
|
+
subdomain=None,
|
10531
|
+
tags=None,
|
10532
|
+
workforce_pool_id=None,
|
10533
|
+
workforce_provider_id=None,
|
10534
|
+
):
|
10535
|
+
self.bind_interface = bind_interface if bind_interface is not None else ''
|
10536
|
+
'''
|
10537
|
+
The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
10538
|
+
'''
|
10539
|
+
self.egress_filter = egress_filter if egress_filter is not None else ''
|
10540
|
+
'''
|
10541
|
+
A filter applied to the routing logic to pin datasource to nodes.
|
10542
|
+
'''
|
10543
|
+
self.healthy = healthy if healthy is not None else False
|
10544
|
+
'''
|
10545
|
+
True if the datasource is reachable and the credentials are valid.
|
10546
|
+
'''
|
10547
|
+
self.id = id if id is not None else ''
|
10548
|
+
'''
|
10549
|
+
Unique identifier of the Resource.
|
10550
|
+
'''
|
10551
|
+
self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
|
10552
|
+
'''
|
10553
|
+
The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
|
10554
|
+
'''
|
10555
|
+
self.identity_set_id = identity_set_id if identity_set_id is not None else ''
|
10556
|
+
'''
|
10557
|
+
The ID of the identity set to use for identity connections.
|
10558
|
+
'''
|
10559
|
+
self.name = name if name is not None else ''
|
10560
|
+
'''
|
10561
|
+
Unique human-readable name of the Resource.
|
10562
|
+
'''
|
10563
|
+
self.port_override = port_override if port_override is not None else 0
|
10564
|
+
'''
|
10565
|
+
The local port used by clients to connect to this resource.
|
10566
|
+
'''
|
10567
|
+
self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
|
10568
|
+
'''
|
10569
|
+
ID of the proxy cluster for this resource, if any.
|
10570
|
+
'''
|
10571
|
+
self.scopes = scopes if scopes is not None else ''
|
10572
|
+
'''
|
10573
|
+
Space separated scopes that this login should assume into when authenticating.
|
10574
|
+
'''
|
10575
|
+
self.secret_store_id = secret_store_id if secret_store_id is not None else ''
|
10576
|
+
'''
|
10577
|
+
ID of the secret store containing credentials for this resource, if any.
|
10578
|
+
'''
|
10579
|
+
self.session_expiry = session_expiry if session_expiry is not None else 0
|
10580
|
+
'''
|
10581
|
+
The length of time in seconds console sessions will live before needing to reauthenticate.
|
10582
|
+
'''
|
10583
|
+
self.subdomain = subdomain if subdomain is not None else ''
|
10584
|
+
'''
|
10585
|
+
Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
10586
|
+
'''
|
10587
|
+
self.tags = tags if tags is not None else _porcelain_zero_value_tags()
|
10588
|
+
'''
|
10589
|
+
Tags is a map of key, value pairs.
|
10590
|
+
'''
|
10591
|
+
self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
|
10592
|
+
'''
|
10593
|
+
The ID of the Workforce Identity Pool in GCP to use for federated authentication.
|
10594
|
+
'''
|
10595
|
+
self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
|
10596
|
+
'''
|
10597
|
+
The ID of the Workforce Identity Provider in GCP to use for federated authentication.
|
10598
|
+
'''
|
10599
|
+
|
10600
|
+
def __repr__(self):
|
10601
|
+
return '<sdm.GCPWIF ' + \
|
10602
|
+
'bind_interface: ' + repr(self.bind_interface) + ' ' +\
|
10603
|
+
'egress_filter: ' + repr(self.egress_filter) + ' ' +\
|
10604
|
+
'healthy: ' + repr(self.healthy) + ' ' +\
|
10605
|
+
'id: ' + repr(self.id) + ' ' +\
|
10606
|
+
'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
|
10607
|
+
'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
|
10608
|
+
'name: ' + repr(self.name) + ' ' +\
|
10609
|
+
'port_override: ' + repr(self.port_override) + ' ' +\
|
10610
|
+
'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
|
10611
|
+
'scopes: ' + repr(self.scopes) + ' ' +\
|
10612
|
+
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
|
10613
|
+
'session_expiry: ' + repr(self.session_expiry) + ' ' +\
|
10614
|
+
'subdomain: ' + repr(self.subdomain) + ' ' +\
|
10615
|
+
'tags: ' + repr(self.tags) + ' ' +\
|
10616
|
+
'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
|
10617
|
+
'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
|
10618
|
+
'>'
|
10619
|
+
|
10620
|
+
def to_dict(self):
|
10621
|
+
return {
|
10622
|
+
'bind_interface': self.bind_interface,
|
10623
|
+
'egress_filter': self.egress_filter,
|
10624
|
+
'healthy': self.healthy,
|
10625
|
+
'id': self.id,
|
10626
|
+
'identity_alias_healthcheck_username':
|
10627
|
+
self.identity_alias_healthcheck_username,
|
10628
|
+
'identity_set_id': self.identity_set_id,
|
10629
|
+
'name': self.name,
|
10630
|
+
'port_override': self.port_override,
|
10631
|
+
'proxy_cluster_id': self.proxy_cluster_id,
|
10632
|
+
'scopes': self.scopes,
|
10633
|
+
'secret_store_id': self.secret_store_id,
|
10634
|
+
'session_expiry': self.session_expiry,
|
10635
|
+
'subdomain': self.subdomain,
|
10636
|
+
'tags': self.tags,
|
10637
|
+
'workforce_pool_id': self.workforce_pool_id,
|
10638
|
+
'workforce_provider_id': self.workforce_provider_id,
|
10639
|
+
}
|
10640
|
+
|
10641
|
+
@classmethod
|
10642
|
+
def from_dict(cls, d):
|
10643
|
+
return cls(
|
10644
|
+
bind_interface=d.get('bind_interface'),
|
10645
|
+
egress_filter=d.get('egress_filter'),
|
10646
|
+
healthy=d.get('healthy'),
|
10647
|
+
id=d.get('id'),
|
10648
|
+
identity_alias_healthcheck_username=d.get(
|
10649
|
+
'identity_alias_healthcheck_username'),
|
10650
|
+
identity_set_id=d.get('identity_set_id'),
|
10651
|
+
name=d.get('name'),
|
10652
|
+
port_override=d.get('port_override'),
|
10653
|
+
proxy_cluster_id=d.get('proxy_cluster_id'),
|
10654
|
+
scopes=d.get('scopes'),
|
10655
|
+
secret_store_id=d.get('secret_store_id'),
|
10656
|
+
session_expiry=d.get('session_expiry'),
|
10657
|
+
subdomain=d.get('subdomain'),
|
10658
|
+
tags=d.get('tags'),
|
10659
|
+
workforce_pool_id=d.get('workforce_pool_id'),
|
10660
|
+
workforce_provider_id=d.get('workforce_provider_id'),
|
10661
|
+
)
|
10662
|
+
|
10663
|
+
|
10329
10664
|
class Gateway:
|
10330
10665
|
'''
|
10331
10666
|
Gateway represents a StrongDM CLI installation running in gateway mode.
|
@@ -4894,6 +4894,64 @@ def convert_repeated_gcp_cert_x_509_store_to_porcelain(plumbings):
|
|
4894
4894
|
]
|
4895
4895
|
|
4896
4896
|
|
4897
|
+
def convert_gcp_console_to_porcelain(plumbing):
|
4898
|
+
if plumbing is None:
|
4899
|
+
return None
|
4900
|
+
porcelain = models.GCPConsole()
|
4901
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
4902
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
4903
|
+
porcelain.healthy = (plumbing.healthy)
|
4904
|
+
porcelain.id = (plumbing.id)
|
4905
|
+
porcelain.identity_alias_healthcheck_username = (
|
4906
|
+
plumbing.identity_alias_healthcheck_username)
|
4907
|
+
porcelain.identity_set_id = (plumbing.identity_set_id)
|
4908
|
+
porcelain.name = (plumbing.name)
|
4909
|
+
porcelain.port_override = (plumbing.port_override)
|
4910
|
+
porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
|
4911
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
4912
|
+
porcelain.session_expiry = (plumbing.session_expiry)
|
4913
|
+
porcelain.subdomain = (plumbing.subdomain)
|
4914
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
4915
|
+
porcelain.workforce_pool_id = (plumbing.workforce_pool_id)
|
4916
|
+
porcelain.workforce_provider_id = (plumbing.workforce_provider_id)
|
4917
|
+
return porcelain
|
4918
|
+
|
4919
|
+
|
4920
|
+
def convert_gcp_console_to_plumbing(porcelain):
|
4921
|
+
plumbing = GCPConsole()
|
4922
|
+
if porcelain is None:
|
4923
|
+
return plumbing
|
4924
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
4925
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
4926
|
+
plumbing.healthy = (porcelain.healthy)
|
4927
|
+
plumbing.id = (porcelain.id)
|
4928
|
+
plumbing.identity_alias_healthcheck_username = (
|
4929
|
+
porcelain.identity_alias_healthcheck_username)
|
4930
|
+
plumbing.identity_set_id = (porcelain.identity_set_id)
|
4931
|
+
plumbing.name = (porcelain.name)
|
4932
|
+
plumbing.port_override = (porcelain.port_override)
|
4933
|
+
plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
|
4934
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
4935
|
+
plumbing.session_expiry = (porcelain.session_expiry)
|
4936
|
+
plumbing.subdomain = (porcelain.subdomain)
|
4937
|
+
plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
|
4938
|
+
plumbing.workforce_pool_id = (porcelain.workforce_pool_id)
|
4939
|
+
plumbing.workforce_provider_id = (porcelain.workforce_provider_id)
|
4940
|
+
return plumbing
|
4941
|
+
|
4942
|
+
|
4943
|
+
def convert_repeated_gcp_console_to_plumbing(porcelains):
|
4944
|
+
return [
|
4945
|
+
convert_gcp_console_to_plumbing(porcelain) for porcelain in porcelains
|
4946
|
+
]
|
4947
|
+
|
4948
|
+
|
4949
|
+
def convert_repeated_gcp_console_to_porcelain(plumbings):
|
4950
|
+
return [
|
4951
|
+
convert_gcp_console_to_porcelain(plumbing) for plumbing in plumbings
|
4952
|
+
]
|
4953
|
+
|
4954
|
+
|
4897
4955
|
def convert_gcp_store_to_porcelain(plumbing):
|
4898
4956
|
if plumbing is None:
|
4899
4957
|
return None
|
@@ -4926,6 +4984,62 @@ def convert_repeated_gcp_store_to_porcelain(plumbings):
|
|
4926
4984
|
return [convert_gcp_store_to_porcelain(plumbing) for plumbing in plumbings]
|
4927
4985
|
|
4928
4986
|
|
4987
|
+
def convert_gcpwif_to_porcelain(plumbing):
|
4988
|
+
if plumbing is None:
|
4989
|
+
return None
|
4990
|
+
porcelain = models.GCPWIF()
|
4991
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
4992
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
4993
|
+
porcelain.healthy = (plumbing.healthy)
|
4994
|
+
porcelain.id = (plumbing.id)
|
4995
|
+
porcelain.identity_alias_healthcheck_username = (
|
4996
|
+
plumbing.identity_alias_healthcheck_username)
|
4997
|
+
porcelain.identity_set_id = (plumbing.identity_set_id)
|
4998
|
+
porcelain.name = (plumbing.name)
|
4999
|
+
porcelain.port_override = (plumbing.port_override)
|
5000
|
+
porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
|
5001
|
+
porcelain.scopes = (plumbing.scopes)
|
5002
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
5003
|
+
porcelain.session_expiry = (plumbing.session_expiry)
|
5004
|
+
porcelain.subdomain = (plumbing.subdomain)
|
5005
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
5006
|
+
porcelain.workforce_pool_id = (plumbing.workforce_pool_id)
|
5007
|
+
porcelain.workforce_provider_id = (plumbing.workforce_provider_id)
|
5008
|
+
return porcelain
|
5009
|
+
|
5010
|
+
|
5011
|
+
def convert_gcpwif_to_plumbing(porcelain):
|
5012
|
+
plumbing = GCPWIF()
|
5013
|
+
if porcelain is None:
|
5014
|
+
return plumbing
|
5015
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
5016
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
5017
|
+
plumbing.healthy = (porcelain.healthy)
|
5018
|
+
plumbing.id = (porcelain.id)
|
5019
|
+
plumbing.identity_alias_healthcheck_username = (
|
5020
|
+
porcelain.identity_alias_healthcheck_username)
|
5021
|
+
plumbing.identity_set_id = (porcelain.identity_set_id)
|
5022
|
+
plumbing.name = (porcelain.name)
|
5023
|
+
plumbing.port_override = (porcelain.port_override)
|
5024
|
+
plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
|
5025
|
+
plumbing.scopes = (porcelain.scopes)
|
5026
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
5027
|
+
plumbing.session_expiry = (porcelain.session_expiry)
|
5028
|
+
plumbing.subdomain = (porcelain.subdomain)
|
5029
|
+
plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
|
5030
|
+
plumbing.workforce_pool_id = (porcelain.workforce_pool_id)
|
5031
|
+
plumbing.workforce_provider_id = (porcelain.workforce_provider_id)
|
5032
|
+
return plumbing
|
5033
|
+
|
5034
|
+
|
5035
|
+
def convert_repeated_gcpwif_to_plumbing(porcelains):
|
5036
|
+
return [convert_gcpwif_to_plumbing(porcelain) for porcelain in porcelains]
|
5037
|
+
|
5038
|
+
|
5039
|
+
def convert_repeated_gcpwif_to_porcelain(plumbings):
|
5040
|
+
return [convert_gcpwif_to_porcelain(plumbing) for plumbing in plumbings]
|
5041
|
+
|
5042
|
+
|
4929
5043
|
def convert_gateway_to_porcelain(plumbing):
|
4930
5044
|
if plumbing is None:
|
4931
5045
|
return None
|
@@ -9878,6 +9992,11 @@ def convert_resource_to_plumbing(porcelain):
|
|
9878
9992
|
convert_elasticache_redis_to_plumbing(porcelain))
|
9879
9993
|
if isinstance(porcelain, models.GCP):
|
9880
9994
|
plumbing.gcp.CopyFrom(convert_gcp_to_plumbing(porcelain))
|
9995
|
+
if isinstance(porcelain, models.GCPConsole):
|
9996
|
+
plumbing.gcp_console.CopyFrom(
|
9997
|
+
convert_gcp_console_to_plumbing(porcelain))
|
9998
|
+
if isinstance(porcelain, models.GCPWIF):
|
9999
|
+
plumbing.gcpwif.CopyFrom(convert_gcpwif_to_plumbing(porcelain))
|
9881
10000
|
if isinstance(porcelain, models.GoogleGKE):
|
9882
10001
|
plumbing.google_gke.CopyFrom(convert_google_gke_to_plumbing(porcelain))
|
9883
10002
|
if isinstance(porcelain, models.GoogleGKEUserImpersonation):
|
@@ -10096,6 +10215,10 @@ def convert_resource_to_porcelain(plumbing):
|
|
10096
10215
|
plumbing.elasticache_redis)
|
10097
10216
|
if plumbing.HasField('gcp'):
|
10098
10217
|
return convert_gcp_to_porcelain(plumbing.gcp)
|
10218
|
+
if plumbing.HasField('gcp_console'):
|
10219
|
+
return convert_gcp_console_to_porcelain(plumbing.gcp_console)
|
10220
|
+
if plumbing.HasField('gcpwif'):
|
10221
|
+
return convert_gcpwif_to_porcelain(plumbing.gcpwif)
|
10099
10222
|
if plumbing.HasField('google_gke'):
|
10100
10223
|
return convert_google_gke_to_porcelain(plumbing.google_gke)
|
10101
10224
|
if plumbing.HasField('google_gke_user_impersonation'):
|
@@ -4494,6 +4494,8 @@ class Resources:
|
|
4494
4494
|
`strongdm.models.Elastic`
|
4495
4495
|
`strongdm.models.ElasticacheRedis`
|
4496
4496
|
`strongdm.models.GCP`
|
4497
|
+
`strongdm.models.GCPConsole`
|
4498
|
+
`strongdm.models.GCPWIF`
|
4497
4499
|
`strongdm.models.GoogleGKE`
|
4498
4500
|
`strongdm.models.GoogleGKEUserImpersonation`
|
4499
4501
|
`strongdm.models.Greenplum`
|
@@ -1,12 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: strongdm
|
3
|
-
Version: 11.
|
3
|
+
Version: 11.18.0
|
4
4
|
Summary: strongDM SDK for the Python programming language.
|
5
5
|
Home-page: https://github.com/strongdm/strongdm-sdk-python
|
6
6
|
Author: strongDM Team
|
7
7
|
Author-email: sdk-feedback@strongdm.com
|
8
8
|
License: apache-2.0
|
9
|
-
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v11.
|
9
|
+
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v11.18.0.tar.gz
|
10
10
|
Keywords: strongDM,sdm,api,automation,security,audit,database,server,ssh,rdp
|
11
11
|
Platform: UNKNOWN
|
12
12
|
Classifier: Development Status :: 4 - Beta
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{strongdm-11.17.0 → strongdm-11.18.0}/strongdm/approval_workflow_approvers_history_pb2_grpc.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|