strongdm.models

    1# Copyright 2020 StrongDM Inc
    2#
    3# Licensed under the Apache License, Version 2.0 (the "License");
    4# you may not use this file except in compliance with the License.
    5# You may obtain a copy of the License at
    6#
    7#     http://www.apache.org/licenses/LICENSE-2.0
    8#
    9# Unless required by applicable law or agreed to in writing, software
   10# distributed under the License is distributed on an "AS IS" BASIS,
   11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12# See the License for the specific language governing permissions and
   13# limitations under the License.
   14#
   15
   16# Code generated by protogen. DO NOT EDIT.
   17
   18import collections
   19from enum import Enum
   20
   21
   22class ResourceType(str, Enum):
   23    UNSPECIFIED = "RESOURCE_TYPE_UNSPECIFIED"
   24    AKS = "RESOURCE_TYPE_AKS"
   25    AKS_BASIC_AUTH = "RESOURCE_TYPE_AKS_BASIC_AUTH"
   26    AKS_SERVICE_ACCOUNT = "RESOURCE_TYPE_AKS_SERVICE_ACCOUNT"
   27    AKS_SERVICE_ACCOUNT_USER_IMPERSONATION = "RESOURCE_TYPE_AKS_SERVICE_ACCOUNT_USER_IMPERSONATION"
   28    AKS_USER_IMPERSONATION = "RESOURCE_TYPE_AKS_USER_IMPERSONATION"
   29    AMAZON_MQAMQP = "RESOURCE_TYPE_AMAZON_MQAMQP"
   30    AWS = "RESOURCE_TYPE_AWS"
   31    AWS_CONSOLE = "RESOURCE_TYPE_AWS_CONSOLE"
   32    AWS_CONSOLE_STATIC_KEY_PAIR = "RESOURCE_TYPE_AWS_CONSOLE_STATIC_KEY_PAIR"
   33    AWS_INSTANCE_PROFILE = "RESOURCE_TYPE_AWS_INSTANCE_PROFILE"
   34    AEROSPIKE = "RESOURCE_TYPE_AEROSPIKE"
   35    AMAZON_EKS = "RESOURCE_TYPE_AMAZON_EKS"
   36    AMAZON_EKS_INSTANCE_PROFILE = "RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE"
   37    AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION = "RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION"
   38    AMAZON_EKS_USER_IMPERSONATION = "RESOURCE_TYPE_AMAZON_EKS_USER_IMPERSONATION"
   39    AMAZON_ES = "RESOURCE_TYPE_AMAZON_ES"
   40    AMAZON_ESIAM = "RESOURCE_TYPE_AMAZON_ESIAM"
   41    AMAZON_MQAMQP_091 = "RESOURCE_TYPE_AMAZON_MQAMQP_091"
   42    ATHENA = "RESOURCE_TYPE_ATHENA"
   43    ATHENA_IAM = "RESOURCE_TYPE_ATHENA_IAM"
   44    AURORA_MY_SQL = "RESOURCE_TYPE_AURORA_MY_SQL"
   45    AURORA_MY_SQLIAM = "RESOURCE_TYPE_AURORA_MY_SQLIAM"
   46    AURORA_POSTGRES = "RESOURCE_TYPE_AURORA_POSTGRES"
   47    AURORA_POSTGRES_IAM = "RESOURCE_TYPE_AURORA_POSTGRES_IAM"
   48    AZURE = "RESOURCE_TYPE_AZURE"
   49    AZURE_CERT = "RESOURCE_TYPE_AZURE_CERT"
   50    AZURE_MY_SQL = "RESOURCE_TYPE_AZURE_MY_SQL"
   51    AZURE_MY_SQL_MANAGED_IDENTITY = "RESOURCE_TYPE_AZURE_MY_SQL_MANAGED_IDENTITY"
   52    AZURE_POSTGRES = "RESOURCE_TYPE_AZURE_POSTGRES"
   53    AZURE_POSTGRES_MANAGED_IDENTITY = "RESOURCE_TYPE_AZURE_POSTGRES_MANAGED_IDENTITY"
   54    BIGQUERY = "RESOURCE_TYPE_BIGQUERY"
   55    CASSANDRA = "RESOURCE_TYPE_CASSANDRA"
   56    CITUS = "RESOURCE_TYPE_CITUS"
   57    CLICK_HOUSE_HTTP = "RESOURCE_TYPE_CLICK_HOUSE_HTTP"
   58    CLICK_HOUSE_MY_SQL = "RESOURCE_TYPE_CLICK_HOUSE_MY_SQL"
   59    CLICK_HOUSE_TCP = "RESOURCE_TYPE_CLICK_HOUSE_TCP"
   60    CLUSTRIX = "RESOURCE_TYPE_CLUSTRIX"
   61    COCKROACH = "RESOURCE_TYPE_COCKROACH"
   62    COUCHBASE_DATABASE = "RESOURCE_TYPE_COUCHBASE_DATABASE"
   63    COUCHBASE_WEB_UI = "RESOURCE_TYPE_COUCHBASE_WEB_UI"
   64    DB_2_I = "RESOURCE_TYPE_DB_2_I"
   65    DB_2_LUW = "RESOURCE_TYPE_DB_2_LUW"
   66    DATABRICKS = "RESOURCE_TYPE_DATABRICKS"
   67    DOCUMENT_DB_HOST = "RESOURCE_TYPE_DOCUMENT_DB_HOST"
   68    DOCUMENT_DB_HOST_IAM = "RESOURCE_TYPE_DOCUMENT_DB_HOST_IAM"
   69    DOCUMENT_DB_REPLICA_SET = "RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET"
   70    DOCUMENT_DB_REPLICA_SET_IAM = "RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET_IAM"
   71    DRUID = "RESOURCE_TYPE_DRUID"
   72    DYNAMO_DB = "RESOURCE_TYPE_DYNAMO_DB"
   73    DYNAMO_DBIAM = "RESOURCE_TYPE_DYNAMO_DBIAM"
   74    ELASTIC = "RESOURCE_TYPE_ELASTIC"
   75    ELASTI_CACHE_REDIS = "RESOURCE_TYPE_ELASTI_CACHE_REDIS"
   76    ELASTI_CACHE_REDIS_IAM = "RESOURCE_TYPE_ELASTI_CACHE_REDIS_IAM"
   77    ENTRA_ID = "RESOURCE_TYPE_ENTRA_ID"
   78    GCP = "RESOURCE_TYPE_GCP"
   79    GCP_CONSOLE = "RESOURCE_TYPE_GCP_CONSOLE"
   80    GCPWIF = "RESOURCE_TYPE_GCPWIF"
   81    GIT_HUB = "RESOURCE_TYPE_GIT_HUB"
   82    GOOGLE_ADMIN = "RESOURCE_TYPE_GOOGLE_ADMIN"
   83    GOOGLE_GKE = "RESOURCE_TYPE_GOOGLE_GKE"
   84    GOOGLE_GKE_USER_IMPERSONATION = "RESOURCE_TYPE_GOOGLE_GKE_USER_IMPERSONATION"
   85    GOOGLE_SPANNER = "RESOURCE_TYPE_GOOGLE_SPANNER"
   86    GREENPLUM = "RESOURCE_TYPE_GREENPLUM"
   87    HTTP_AUTH = "RESOURCE_TYPE_HTTP_AUTH"
   88    HTTP_BASIC = "RESOURCE_TYPE_HTTP_BASIC"
   89    HTTP_NO_AUTH = "RESOURCE_TYPE_HTTP_NO_AUTH"
   90    KUBERNETES = "RESOURCE_TYPE_KUBERNETES"
   91    KUBERNETES_BASIC_AUTH = "RESOURCE_TYPE_KUBERNETES_BASIC_AUTH"
   92    KUBERNETES_POD_IDENTITY = "RESOURCE_TYPE_KUBERNETES_POD_IDENTITY"
   93    KUBERNETES_SERVICE_ACCOUNT = "RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT"
   94    KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION = "RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION"
   95    KUBERNETES_USER_IMPERSONATION = "RESOURCE_TYPE_KUBERNETES_USER_IMPERSONATION"
   96    LLM = "RESOURCE_TYPE_LLM"
   97    MCP_NO_AUTH = "RESOURCE_TYPE_MCP_NO_AUTH"
   98    MCP = "RESOURCE_TYPE_MCP"
   99    MCPDCR = "RESOURCE_TYPE_MCPDCR"
  100    MCPPAT = "RESOURCE_TYPE_MCPPAT"
  101    MTLS_MY_SQL = "RESOURCE_TYPE_MTLS_MY_SQL"
  102    MTLS_POSTGRES = "RESOURCE_TYPE_MTLS_POSTGRES"
  103    MARIA = "RESOURCE_TYPE_MARIA"
  104    MEMCACHED = "RESOURCE_TYPE_MEMCACHED"
  105    MEM_SQL = "RESOURCE_TYPE_MEM_SQL"
  106    MICROSOFT_365 = "RESOURCE_TYPE_MICROSOFT_365"
  107    MONGO_DB_HOST = "RESOURCE_TYPE_MONGO_DB_HOST"
  108    MONGO_DB = "RESOURCE_TYPE_MONGO_DB"
  109    MONGO_DB_LEGACY_REPLICA_SET = "RESOURCE_TYPE_MONGO_DB_LEGACY_REPLICA_SET"
  110    MONGO_DB_REPLICA_SET = "RESOURCE_TYPE_MONGO_DB_REPLICA_SET"
  111    MONGO_DB_SHARDED_CLUSTER = "RESOURCE_TYPE_MONGO_DB_SHARDED_CLUSTER"
  112    MY_SQL = "RESOURCE_TYPE_MY_SQL"
  113    NEPTUNE = "RESOURCE_TYPE_NEPTUNE"
  114    NEPTUNE_IAM = "RESOURCE_TYPE_NEPTUNE_IAM"
  115    OKTA_ADMIN = "RESOURCE_TYPE_OKTA_ADMIN"
  116    OKTA_GROUPS = "RESOURCE_TYPE_OKTA_GROUPS"
  117    ORACLE = "RESOURCE_TYPE_ORACLE"
  118    ORACLE_NNE = "RESOURCE_TYPE_ORACLE_NNE"
  119    POSTGRES = "RESOURCE_TYPE_POSTGRES"
  120    PRESTO = "RESOURCE_TYPE_PRESTO"
  121    RDP = "RESOURCE_TYPE_RDP"
  122    RDP_CERT = "RESOURCE_TYPE_RDP_CERT"
  123    RDS_POSTGRES_IAM = "RESOURCE_TYPE_RDS_POSTGRES_IAM"
  124    RABBIT_MQAMQP_091 = "RESOURCE_TYPE_RABBIT_MQAMQP_091"
  125    TCP = "RESOURCE_TYPE_TCP"
  126    REDIS = "RESOURCE_TYPE_REDIS"
  127    REDIS_CLUSTER = "RESOURCE_TYPE_REDIS_CLUSTER"
  128    REDSHIFT = "RESOURCE_TYPE_REDSHIFT"
  129    REDSHIFT_IAM = "RESOURCE_TYPE_REDSHIFT_IAM"
  130    REDSHIFT_SERVERLESS_IAM = "RESOURCE_TYPE_REDSHIFT_SERVERLESS_IAM"
  131    SQL_SERVER = "RESOURCE_TYPE_SQL_SERVER"
  132    SQL_SERVER_AZURE_AD = "RESOURCE_TYPE_SQL_SERVER_AZURE_AD"
  133    SQL_SERVER_KERBEROS = "RESOURCE_TYPE_SQL_SERVER_KERBEROS"
  134    SSH = "RESOURCE_TYPE_SSH"
  135    SSH_CERT = "RESOURCE_TYPE_SSH_CERT"
  136    SSH_CERT_USER_PROVISION = "RESOURCE_TYPE_SSH_CERT_USER_PROVISION"
  137    SSH_CUSTOMER_KEY = "RESOURCE_TYPE_SSH_CUSTOMER_KEY"
  138    SSH_PASSWORD = "RESOURCE_TYPE_SSH_PASSWORD"
  139    SALESFORCE = "RESOURCE_TYPE_SALESFORCE"
  140    SINGLE_STORE = "RESOURCE_TYPE_SINGLE_STORE"
  141    SNOWFLAKE = "RESOURCE_TYPE_SNOWFLAKE"
  142    SNOWSIGHT = "RESOURCE_TYPE_SNOWSIGHT"
  143    SYBASE_ASE = "RESOURCE_TYPE_SYBASE_ASE"
  144    SYBASE_IQ = "RESOURCE_TYPE_SYBASE_IQ"
  145    TERADATA = "RESOURCE_TYPE_TERADATA"
  146    TRINO = "RESOURCE_TYPE_TRINO"
  147    VERTICA = "RESOURCE_TYPE_VERTICA"
  148
  149
  150class AKS:
  151    __slots__ = [
  152        'allow_resource_role_bypass',
  153        'bind_interface',
  154        'certificate_authority',
  155        'client_certificate',
  156        'client_key',
  157        'discovery_enabled',
  158        'discovery_username',
  159        'egress_filter',
  160        'healthcheck_namespace',
  161        'healthy',
  162        'hostname',
  163        'id',
  164        'identity_alias_healthcheck_username',
  165        'identity_set_id',
  166        'name',
  167        'port',
  168        'port_override',
  169        'proxy_cluster_id',
  170        'secret_store_id',
  171        'subdomain',
  172        'tags',
  173    ]
  174
  175    def __init__(
  176        self,
  177        allow_resource_role_bypass=None,
  178        bind_interface=None,
  179        certificate_authority=None,
  180        client_certificate=None,
  181        client_key=None,
  182        discovery_enabled=None,
  183        discovery_username=None,
  184        egress_filter=None,
  185        healthcheck_namespace=None,
  186        healthy=None,
  187        hostname=None,
  188        id=None,
  189        identity_alias_healthcheck_username=None,
  190        identity_set_id=None,
  191        name=None,
  192        port=None,
  193        port_override=None,
  194        proxy_cluster_id=None,
  195        secret_store_id=None,
  196        subdomain=None,
  197        tags=None,
  198    ):
  199        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
  200        '''
  201         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
  202         when a resource role is not provided.
  203        '''
  204        self.bind_interface = bind_interface if bind_interface is not None else ''
  205        '''
  206         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  207        '''
  208        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  209        '''
  210         The CA to authenticate TLS connections with.
  211        '''
  212        self.client_certificate = client_certificate if client_certificate is not None else ''
  213        '''
  214         The certificate to authenticate TLS connections with.
  215        '''
  216        self.client_key = client_key if client_key is not None else ''
  217        '''
  218         The key to authenticate TLS connections with.
  219        '''
  220        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
  221        '''
  222         If true, configures discovery of a cluster to be run from a node.
  223        '''
  224        self.discovery_username = discovery_username if discovery_username is not None else ''
  225        '''
  226         If a cluster is configured for user impersonation, this is the user to impersonate when
  227         running discovery.
  228        '''
  229        self.egress_filter = egress_filter if egress_filter is not None else ''
  230        '''
  231         A filter applied to the routing logic to pin datasource to nodes.
  232        '''
  233        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  234        '''
  235         The path used to check the health of your connection.  Defaults to `default`.
  236        '''
  237        self.healthy = healthy if healthy is not None else False
  238        '''
  239         True if the datasource is reachable and the credentials are valid.
  240        '''
  241        self.hostname = hostname if hostname is not None else ''
  242        '''
  243         The host to dial to initiate a connection from the egress node to this resource.
  244        '''
  245        self.id = id if id is not None else ''
  246        '''
  247         Unique identifier of the Resource.
  248        '''
  249        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  250        '''
  251         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  252        '''
  253        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  254        '''
  255         The ID of the identity set to use for identity connections.
  256        '''
  257        self.name = name if name is not None else ''
  258        '''
  259         Unique human-readable name of the Resource.
  260        '''
  261        self.port = port if port is not None else 0
  262        '''
  263         The port to dial to initiate a connection from the egress node to this resource.
  264        '''
  265        self.port_override = port_override if port_override is not None else 0
  266        '''
  267         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  268        '''
  269        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  270        '''
  271         ID of the proxy cluster for this resource, if any.
  272        '''
  273        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  274        '''
  275         ID of the secret store containing credentials for this resource, if any.
  276        '''
  277        self.subdomain = subdomain if subdomain is not None else ''
  278        '''
  279         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  280        '''
  281        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  282        '''
  283         Tags is a map of key, value pairs.
  284        '''
  285
  286    def __repr__(self):
  287        return '<sdm.AKS ' + \
  288            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  289            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  290            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  291            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  292            'client_key: ' + repr(self.client_key) + ' ' +\
  293            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  294            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  295            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  296            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  297            'healthy: ' + repr(self.healthy) + ' ' +\
  298            'hostname: ' + repr(self.hostname) + ' ' +\
  299            'id: ' + repr(self.id) + ' ' +\
  300            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  301            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  302            'name: ' + repr(self.name) + ' ' +\
  303            'port: ' + repr(self.port) + ' ' +\
  304            'port_override: ' + repr(self.port_override) + ' ' +\
  305            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  306            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  307            'subdomain: ' + repr(self.subdomain) + ' ' +\
  308            'tags: ' + repr(self.tags) + ' ' +\
  309            '>'
  310
  311    def to_dict(self):
  312        return {
  313            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  314            'bind_interface': self.bind_interface,
  315            'certificate_authority': self.certificate_authority,
  316            'client_certificate': self.client_certificate,
  317            'client_key': self.client_key,
  318            'discovery_enabled': self.discovery_enabled,
  319            'discovery_username': self.discovery_username,
  320            'egress_filter': self.egress_filter,
  321            'healthcheck_namespace': self.healthcheck_namespace,
  322            'healthy': self.healthy,
  323            'hostname': self.hostname,
  324            'id': self.id,
  325            'identity_alias_healthcheck_username':
  326            self.identity_alias_healthcheck_username,
  327            'identity_set_id': self.identity_set_id,
  328            'name': self.name,
  329            'port': self.port,
  330            'port_override': self.port_override,
  331            'proxy_cluster_id': self.proxy_cluster_id,
  332            'secret_store_id': self.secret_store_id,
  333            'subdomain': self.subdomain,
  334            'tags': self.tags,
  335        }
  336
  337    @classmethod
  338    def from_dict(cls, d):
  339        return cls(
  340            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  341            bind_interface=d.get('bind_interface'),
  342            certificate_authority=d.get('certificate_authority'),
  343            client_certificate=d.get('client_certificate'),
  344            client_key=d.get('client_key'),
  345            discovery_enabled=d.get('discovery_enabled'),
  346            discovery_username=d.get('discovery_username'),
  347            egress_filter=d.get('egress_filter'),
  348            healthcheck_namespace=d.get('healthcheck_namespace'),
  349            healthy=d.get('healthy'),
  350            hostname=d.get('hostname'),
  351            id=d.get('id'),
  352            identity_alias_healthcheck_username=d.get(
  353                'identity_alias_healthcheck_username'),
  354            identity_set_id=d.get('identity_set_id'),
  355            name=d.get('name'),
  356            port=d.get('port'),
  357            port_override=d.get('port_override'),
  358            proxy_cluster_id=d.get('proxy_cluster_id'),
  359            secret_store_id=d.get('secret_store_id'),
  360            subdomain=d.get('subdomain'),
  361            tags=d.get('tags'),
  362        )
  363
  364
  365class AKSBasicAuth:
  366    '''
  367    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
  368    without a major version bump.
  369    '''
  370    __slots__ = [
  371        'bind_interface',
  372        'egress_filter',
  373        'healthcheck_namespace',
  374        'healthy',
  375        'hostname',
  376        'id',
  377        'name',
  378        'password',
  379        'port',
  380        'port_override',
  381        'proxy_cluster_id',
  382        'secret_store_id',
  383        'subdomain',
  384        'tags',
  385        'username',
  386    ]
  387
  388    def __init__(
  389        self,
  390        bind_interface=None,
  391        egress_filter=None,
  392        healthcheck_namespace=None,
  393        healthy=None,
  394        hostname=None,
  395        id=None,
  396        name=None,
  397        password=None,
  398        port=None,
  399        port_override=None,
  400        proxy_cluster_id=None,
  401        secret_store_id=None,
  402        subdomain=None,
  403        tags=None,
  404        username=None,
  405    ):
  406        self.bind_interface = bind_interface if bind_interface is not None else ''
  407        '''
  408         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  409        '''
  410        self.egress_filter = egress_filter if egress_filter is not None else ''
  411        '''
  412         A filter applied to the routing logic to pin datasource to nodes.
  413        '''
  414        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  415        '''
  416         The path used to check the health of your connection.  Defaults to `default`.
  417        '''
  418        self.healthy = healthy if healthy is not None else False
  419        '''
  420         True if the datasource is reachable and the credentials are valid.
  421        '''
  422        self.hostname = hostname if hostname is not None else ''
  423        '''
  424         The host to dial to initiate a connection from the egress node to this resource.
  425        '''
  426        self.id = id if id is not None else ''
  427        '''
  428         Unique identifier of the Resource.
  429        '''
  430        self.name = name if name is not None else ''
  431        '''
  432         Unique human-readable name of the Resource.
  433        '''
  434        self.password = password if password is not None else ''
  435        '''
  436         The password to authenticate with.
  437        '''
  438        self.port = port if port is not None else 0
  439        '''
  440         The port to dial to initiate a connection from the egress node to this resource.
  441        '''
  442        self.port_override = port_override if port_override is not None else 0
  443        '''
  444         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  445        '''
  446        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  447        '''
  448         ID of the proxy cluster for this resource, if any.
  449        '''
  450        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  451        '''
  452         ID of the secret store containing credentials for this resource, if any.
  453        '''
  454        self.subdomain = subdomain if subdomain is not None else ''
  455        '''
  456         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  457        '''
  458        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  459        '''
  460         Tags is a map of key, value pairs.
  461        '''
  462        self.username = username if username is not None else ''
  463        '''
  464         The username to authenticate with.
  465        '''
  466
  467    def __repr__(self):
  468        return '<sdm.AKSBasicAuth ' + \
  469            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  470            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  471            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  472            'healthy: ' + repr(self.healthy) + ' ' +\
  473            'hostname: ' + repr(self.hostname) + ' ' +\
  474            'id: ' + repr(self.id) + ' ' +\
  475            'name: ' + repr(self.name) + ' ' +\
  476            'password: ' + repr(self.password) + ' ' +\
  477            'port: ' + repr(self.port) + ' ' +\
  478            'port_override: ' + repr(self.port_override) + ' ' +\
  479            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  480            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  481            'subdomain: ' + repr(self.subdomain) + ' ' +\
  482            'tags: ' + repr(self.tags) + ' ' +\
  483            'username: ' + repr(self.username) + ' ' +\
  484            '>'
  485
  486    def to_dict(self):
  487        return {
  488            'bind_interface': self.bind_interface,
  489            'egress_filter': self.egress_filter,
  490            'healthcheck_namespace': self.healthcheck_namespace,
  491            'healthy': self.healthy,
  492            'hostname': self.hostname,
  493            'id': self.id,
  494            'name': self.name,
  495            'password': self.password,
  496            'port': self.port,
  497            'port_override': self.port_override,
  498            'proxy_cluster_id': self.proxy_cluster_id,
  499            'secret_store_id': self.secret_store_id,
  500            'subdomain': self.subdomain,
  501            'tags': self.tags,
  502            'username': self.username,
  503        }
  504
  505    @classmethod
  506    def from_dict(cls, d):
  507        return cls(
  508            bind_interface=d.get('bind_interface'),
  509            egress_filter=d.get('egress_filter'),
  510            healthcheck_namespace=d.get('healthcheck_namespace'),
  511            healthy=d.get('healthy'),
  512            hostname=d.get('hostname'),
  513            id=d.get('id'),
  514            name=d.get('name'),
  515            password=d.get('password'),
  516            port=d.get('port'),
  517            port_override=d.get('port_override'),
  518            proxy_cluster_id=d.get('proxy_cluster_id'),
  519            secret_store_id=d.get('secret_store_id'),
  520            subdomain=d.get('subdomain'),
  521            tags=d.get('tags'),
  522            username=d.get('username'),
  523        )
  524
  525
  526class AKSServiceAccount:
  527    __slots__ = [
  528        'allow_resource_role_bypass',
  529        'bind_interface',
  530        'discovery_enabled',
  531        'discovery_username',
  532        'egress_filter',
  533        'healthcheck_namespace',
  534        'healthy',
  535        'hostname',
  536        'id',
  537        'identity_alias_healthcheck_username',
  538        'identity_set_id',
  539        'name',
  540        'port',
  541        'port_override',
  542        'proxy_cluster_id',
  543        'secret_store_id',
  544        'subdomain',
  545        'tags',
  546        'token',
  547    ]
  548
  549    def __init__(
  550        self,
  551        allow_resource_role_bypass=None,
  552        bind_interface=None,
  553        discovery_enabled=None,
  554        discovery_username=None,
  555        egress_filter=None,
  556        healthcheck_namespace=None,
  557        healthy=None,
  558        hostname=None,
  559        id=None,
  560        identity_alias_healthcheck_username=None,
  561        identity_set_id=None,
  562        name=None,
  563        port=None,
  564        port_override=None,
  565        proxy_cluster_id=None,
  566        secret_store_id=None,
  567        subdomain=None,
  568        tags=None,
  569        token=None,
  570    ):
  571        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
  572        '''
  573         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
  574         when a resource role is not provided.
  575        '''
  576        self.bind_interface = bind_interface if bind_interface is not None else ''
  577        '''
  578         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  579        '''
  580        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
  581        '''
  582         If true, configures discovery of a cluster to be run from a node.
  583        '''
  584        self.discovery_username = discovery_username if discovery_username is not None else ''
  585        '''
  586         If a cluster is configured for user impersonation, this is the user to impersonate when
  587         running discovery.
  588        '''
  589        self.egress_filter = egress_filter if egress_filter is not None else ''
  590        '''
  591         A filter applied to the routing logic to pin datasource to nodes.
  592        '''
  593        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  594        '''
  595         The path used to check the health of your connection.  Defaults to `default`.
  596        '''
  597        self.healthy = healthy if healthy is not None else False
  598        '''
  599         True if the datasource is reachable and the credentials are valid.
  600        '''
  601        self.hostname = hostname if hostname is not None else ''
  602        '''
  603         The host to dial to initiate a connection from the egress node to this resource.
  604        '''
  605        self.id = id if id is not None else ''
  606        '''
  607         Unique identifier of the Resource.
  608        '''
  609        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  610        '''
  611         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  612        '''
  613        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  614        '''
  615         The ID of the identity set to use for identity connections.
  616        '''
  617        self.name = name if name is not None else ''
  618        '''
  619         Unique human-readable name of the Resource.
  620        '''
  621        self.port = port if port is not None else 0
  622        '''
  623         The port to dial to initiate a connection from the egress node to this resource.
  624        '''
  625        self.port_override = port_override if port_override is not None else 0
  626        '''
  627         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  628        '''
  629        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  630        '''
  631         ID of the proxy cluster for this resource, if any.
  632        '''
  633        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  634        '''
  635         ID of the secret store containing credentials for this resource, if any.
  636        '''
  637        self.subdomain = subdomain if subdomain is not None else ''
  638        '''
  639         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  640        '''
  641        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  642        '''
  643         Tags is a map of key, value pairs.
  644        '''
  645        self.token = token if token is not None else ''
  646        '''
  647         The API token to authenticate with.
  648        '''
  649
  650    def __repr__(self):
  651        return '<sdm.AKSServiceAccount ' + \
  652            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  653            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  654            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  655            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  656            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  657            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  658            'healthy: ' + repr(self.healthy) + ' ' +\
  659            'hostname: ' + repr(self.hostname) + ' ' +\
  660            'id: ' + repr(self.id) + ' ' +\
  661            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  662            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  663            'name: ' + repr(self.name) + ' ' +\
  664            'port: ' + repr(self.port) + ' ' +\
  665            'port_override: ' + repr(self.port_override) + ' ' +\
  666            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  667            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  668            'subdomain: ' + repr(self.subdomain) + ' ' +\
  669            'tags: ' + repr(self.tags) + ' ' +\
  670            'token: ' + repr(self.token) + ' ' +\
  671            '>'
  672
  673    def to_dict(self):
  674        return {
  675            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  676            'bind_interface': self.bind_interface,
  677            'discovery_enabled': self.discovery_enabled,
  678            'discovery_username': self.discovery_username,
  679            'egress_filter': self.egress_filter,
  680            'healthcheck_namespace': self.healthcheck_namespace,
  681            'healthy': self.healthy,
  682            'hostname': self.hostname,
  683            'id': self.id,
  684            'identity_alias_healthcheck_username':
  685            self.identity_alias_healthcheck_username,
  686            'identity_set_id': self.identity_set_id,
  687            'name': self.name,
  688            'port': self.port,
  689            'port_override': self.port_override,
  690            'proxy_cluster_id': self.proxy_cluster_id,
  691            'secret_store_id': self.secret_store_id,
  692            'subdomain': self.subdomain,
  693            'tags': self.tags,
  694            'token': self.token,
  695        }
  696
  697    @classmethod
  698    def from_dict(cls, d):
  699        return cls(
  700            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  701            bind_interface=d.get('bind_interface'),
  702            discovery_enabled=d.get('discovery_enabled'),
  703            discovery_username=d.get('discovery_username'),
  704            egress_filter=d.get('egress_filter'),
  705            healthcheck_namespace=d.get('healthcheck_namespace'),
  706            healthy=d.get('healthy'),
  707            hostname=d.get('hostname'),
  708            id=d.get('id'),
  709            identity_alias_healthcheck_username=d.get(
  710                'identity_alias_healthcheck_username'),
  711            identity_set_id=d.get('identity_set_id'),
  712            name=d.get('name'),
  713            port=d.get('port'),
  714            port_override=d.get('port_override'),
  715            proxy_cluster_id=d.get('proxy_cluster_id'),
  716            secret_store_id=d.get('secret_store_id'),
  717            subdomain=d.get('subdomain'),
  718            tags=d.get('tags'),
  719            token=d.get('token'),
  720        )
  721
  722
  723class AKSServiceAccountUserImpersonation:
  724    '''
  725    AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
  726    '''
  727    __slots__ = [
  728        'bind_interface',
  729        'egress_filter',
  730        'healthcheck_namespace',
  731        'healthy',
  732        'hostname',
  733        'id',
  734        'name',
  735        'port',
  736        'port_override',
  737        'proxy_cluster_id',
  738        'secret_store_id',
  739        'subdomain',
  740        'tags',
  741        'token',
  742    ]
  743
  744    def __init__(
  745        self,
  746        bind_interface=None,
  747        egress_filter=None,
  748        healthcheck_namespace=None,
  749        healthy=None,
  750        hostname=None,
  751        id=None,
  752        name=None,
  753        port=None,
  754        port_override=None,
  755        proxy_cluster_id=None,
  756        secret_store_id=None,
  757        subdomain=None,
  758        tags=None,
  759        token=None,
  760    ):
  761        self.bind_interface = bind_interface if bind_interface is not None else ''
  762        '''
  763         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  764        '''
  765        self.egress_filter = egress_filter if egress_filter is not None else ''
  766        '''
  767         A filter applied to the routing logic to pin datasource to nodes.
  768        '''
  769        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  770        '''
  771         The path used to check the health of your connection.  Defaults to `default`.
  772        '''
  773        self.healthy = healthy if healthy is not None else False
  774        '''
  775         True if the datasource is reachable and the credentials are valid.
  776        '''
  777        self.hostname = hostname if hostname is not None else ''
  778        '''
  779         The host to dial to initiate a connection from the egress node to this resource.
  780        '''
  781        self.id = id if id is not None else ''
  782        '''
  783         Unique identifier of the Resource.
  784        '''
  785        self.name = name if name is not None else ''
  786        '''
  787         Unique human-readable name of the Resource.
  788        '''
  789        self.port = port if port is not None else 0
  790        '''
  791         The port to dial to initiate a connection from the egress node to this resource.
  792        '''
  793        self.port_override = port_override if port_override is not None else 0
  794        '''
  795         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  796        '''
  797        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  798        '''
  799         ID of the proxy cluster for this resource, if any.
  800        '''
  801        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  802        '''
  803         ID of the secret store containing credentials for this resource, if any.
  804        '''
  805        self.subdomain = subdomain if subdomain is not None else ''
  806        '''
  807         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  808        '''
  809        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  810        '''
  811         Tags is a map of key, value pairs.
  812        '''
  813        self.token = token if token is not None else ''
  814        '''
  815         The API token to authenticate with.
  816        '''
  817
  818    def __repr__(self):
  819        return '<sdm.AKSServiceAccountUserImpersonation ' + \
  820            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  821            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  822            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  823            'healthy: ' + repr(self.healthy) + ' ' +\
  824            'hostname: ' + repr(self.hostname) + ' ' +\
  825            'id: ' + repr(self.id) + ' ' +\
  826            'name: ' + repr(self.name) + ' ' +\
  827            'port: ' + repr(self.port) + ' ' +\
  828            'port_override: ' + repr(self.port_override) + ' ' +\
  829            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  830            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  831            'subdomain: ' + repr(self.subdomain) + ' ' +\
  832            'tags: ' + repr(self.tags) + ' ' +\
  833            'token: ' + repr(self.token) + ' ' +\
  834            '>'
  835
  836    def to_dict(self):
  837        return {
  838            'bind_interface': self.bind_interface,
  839            'egress_filter': self.egress_filter,
  840            'healthcheck_namespace': self.healthcheck_namespace,
  841            'healthy': self.healthy,
  842            'hostname': self.hostname,
  843            'id': self.id,
  844            'name': self.name,
  845            'port': self.port,
  846            'port_override': self.port_override,
  847            'proxy_cluster_id': self.proxy_cluster_id,
  848            'secret_store_id': self.secret_store_id,
  849            'subdomain': self.subdomain,
  850            'tags': self.tags,
  851            'token': self.token,
  852        }
  853
  854    @classmethod
  855    def from_dict(cls, d):
  856        return cls(
  857            bind_interface=d.get('bind_interface'),
  858            egress_filter=d.get('egress_filter'),
  859            healthcheck_namespace=d.get('healthcheck_namespace'),
  860            healthy=d.get('healthy'),
  861            hostname=d.get('hostname'),
  862            id=d.get('id'),
  863            name=d.get('name'),
  864            port=d.get('port'),
  865            port_override=d.get('port_override'),
  866            proxy_cluster_id=d.get('proxy_cluster_id'),
  867            secret_store_id=d.get('secret_store_id'),
  868            subdomain=d.get('subdomain'),
  869            tags=d.get('tags'),
  870            token=d.get('token'),
  871        )
  872
  873
  874class AKSUserImpersonation:
  875    '''
  876    AKSUserImpersonation is deprecated, see docs for more info.
  877    '''
  878    __slots__ = [
  879        'bind_interface',
  880        'certificate_authority',
  881        'client_certificate',
  882        'client_key',
  883        'egress_filter',
  884        'healthcheck_namespace',
  885        'healthy',
  886        'hostname',
  887        'id',
  888        'name',
  889        'port',
  890        'port_override',
  891        'proxy_cluster_id',
  892        'secret_store_id',
  893        'subdomain',
  894        'tags',
  895    ]
  896
  897    def __init__(
  898        self,
  899        bind_interface=None,
  900        certificate_authority=None,
  901        client_certificate=None,
  902        client_key=None,
  903        egress_filter=None,
  904        healthcheck_namespace=None,
  905        healthy=None,
  906        hostname=None,
  907        id=None,
  908        name=None,
  909        port=None,
  910        port_override=None,
  911        proxy_cluster_id=None,
  912        secret_store_id=None,
  913        subdomain=None,
  914        tags=None,
  915    ):
  916        self.bind_interface = bind_interface if bind_interface is not None else ''
  917        '''
  918         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  919        '''
  920        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  921        '''
  922         The CA to authenticate TLS connections with.
  923        '''
  924        self.client_certificate = client_certificate if client_certificate is not None else ''
  925        '''
  926         The certificate to authenticate TLS connections with.
  927        '''
  928        self.client_key = client_key if client_key is not None else ''
  929        '''
  930         The key to authenticate TLS connections with.
  931        '''
  932        self.egress_filter = egress_filter if egress_filter is not None else ''
  933        '''
  934         A filter applied to the routing logic to pin datasource to nodes.
  935        '''
  936        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  937        '''
  938         The path used to check the health of your connection.  Defaults to `default`.
  939        '''
  940        self.healthy = healthy if healthy is not None else False
  941        '''
  942         True if the datasource is reachable and the credentials are valid.
  943        '''
  944        self.hostname = hostname if hostname is not None else ''
  945        '''
  946         The host to dial to initiate a connection from the egress node to this resource.
  947        '''
  948        self.id = id if id is not None else ''
  949        '''
  950         Unique identifier of the Resource.
  951        '''
  952        self.name = name if name is not None else ''
  953        '''
  954         Unique human-readable name of the Resource.
  955        '''
  956        self.port = port if port is not None else 0
  957        '''
  958         The port to dial to initiate a connection from the egress node to this resource.
  959        '''
  960        self.port_override = port_override if port_override is not None else 0
  961        '''
  962         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  963        '''
  964        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  965        '''
  966         ID of the proxy cluster for this resource, if any.
  967        '''
  968        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  969        '''
  970         ID of the secret store containing credentials for this resource, if any.
  971        '''
  972        self.subdomain = subdomain if subdomain is not None else ''
  973        '''
  974         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  975        '''
  976        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  977        '''
  978         Tags is a map of key, value pairs.
  979        '''
  980
  981    def __repr__(self):
  982        return '<sdm.AKSUserImpersonation ' + \
  983            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  984            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  985            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  986            'client_key: ' + repr(self.client_key) + ' ' +\
  987            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  988            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  989            'healthy: ' + repr(self.healthy) + ' ' +\
  990            'hostname: ' + repr(self.hostname) + ' ' +\
  991            'id: ' + repr(self.id) + ' ' +\
  992            'name: ' + repr(self.name) + ' ' +\
  993            'port: ' + repr(self.port) + ' ' +\
  994            'port_override: ' + repr(self.port_override) + ' ' +\
  995            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  996            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  997            'subdomain: ' + repr(self.subdomain) + ' ' +\
  998            'tags: ' + repr(self.tags) + ' ' +\
  999            '>'
 1000
 1001    def to_dict(self):
 1002        return {
 1003            'bind_interface': self.bind_interface,
 1004            'certificate_authority': self.certificate_authority,
 1005            'client_certificate': self.client_certificate,
 1006            'client_key': self.client_key,
 1007            'egress_filter': self.egress_filter,
 1008            'healthcheck_namespace': self.healthcheck_namespace,
 1009            'healthy': self.healthy,
 1010            'hostname': self.hostname,
 1011            'id': self.id,
 1012            'name': self.name,
 1013            'port': self.port,
 1014            'port_override': self.port_override,
 1015            'proxy_cluster_id': self.proxy_cluster_id,
 1016            'secret_store_id': self.secret_store_id,
 1017            'subdomain': self.subdomain,
 1018            'tags': self.tags,
 1019        }
 1020
 1021    @classmethod
 1022    def from_dict(cls, d):
 1023        return cls(
 1024            bind_interface=d.get('bind_interface'),
 1025            certificate_authority=d.get('certificate_authority'),
 1026            client_certificate=d.get('client_certificate'),
 1027            client_key=d.get('client_key'),
 1028            egress_filter=d.get('egress_filter'),
 1029            healthcheck_namespace=d.get('healthcheck_namespace'),
 1030            healthy=d.get('healthy'),
 1031            hostname=d.get('hostname'),
 1032            id=d.get('id'),
 1033            name=d.get('name'),
 1034            port=d.get('port'),
 1035            port_override=d.get('port_override'),
 1036            proxy_cluster_id=d.get('proxy_cluster_id'),
 1037            secret_store_id=d.get('secret_store_id'),
 1038            subdomain=d.get('subdomain'),
 1039            tags=d.get('tags'),
 1040        )
 1041
 1042
 1043class AMQP:
 1044    __slots__ = [
 1045        'bind_interface',
 1046        'egress_filter',
 1047        'healthy',
 1048        'hostname',
 1049        'id',
 1050        'name',
 1051        'password',
 1052        'port',
 1053        'port_override',
 1054        'proxy_cluster_id',
 1055        'secret_store_id',
 1056        'subdomain',
 1057        'tags',
 1058        'tls_required',
 1059        'username',
 1060    ]
 1061
 1062    def __init__(
 1063        self,
 1064        bind_interface=None,
 1065        egress_filter=None,
 1066        healthy=None,
 1067        hostname=None,
 1068        id=None,
 1069        name=None,
 1070        password=None,
 1071        port=None,
 1072        port_override=None,
 1073        proxy_cluster_id=None,
 1074        secret_store_id=None,
 1075        subdomain=None,
 1076        tags=None,
 1077        tls_required=None,
 1078        username=None,
 1079    ):
 1080        self.bind_interface = bind_interface if bind_interface is not None else ''
 1081        '''
 1082         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1083        '''
 1084        self.egress_filter = egress_filter if egress_filter is not None else ''
 1085        '''
 1086         A filter applied to the routing logic to pin datasource to nodes.
 1087        '''
 1088        self.healthy = healthy if healthy is not None else False
 1089        '''
 1090         True if the datasource is reachable and the credentials are valid.
 1091        '''
 1092        self.hostname = hostname if hostname is not None else ''
 1093        '''
 1094         The host to dial to initiate a connection from the egress node to this resource.
 1095        '''
 1096        self.id = id if id is not None else ''
 1097        '''
 1098         Unique identifier of the Resource.
 1099        '''
 1100        self.name = name if name is not None else ''
 1101        '''
 1102         Unique human-readable name of the Resource.
 1103        '''
 1104        self.password = password if password is not None else ''
 1105        '''
 1106         The password to authenticate with.
 1107        '''
 1108        self.port = port if port is not None else 0
 1109        '''
 1110         The port to dial to initiate a connection from the egress node to this resource.
 1111        '''
 1112        self.port_override = port_override if port_override is not None else 0
 1113        '''
 1114         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1115        '''
 1116        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1117        '''
 1118         ID of the proxy cluster for this resource, if any.
 1119        '''
 1120        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1121        '''
 1122         ID of the secret store containing credentials for this resource, if any.
 1123        '''
 1124        self.subdomain = subdomain if subdomain is not None else ''
 1125        '''
 1126         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 1127        '''
 1128        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1129        '''
 1130         Tags is a map of key, value pairs.
 1131        '''
 1132        self.tls_required = tls_required if tls_required is not None else False
 1133        '''
 1134         If set, TLS must be used to connect to this resource.
 1135        '''
 1136        self.username = username if username is not None else ''
 1137        '''
 1138         The username to authenticate with.
 1139        '''
 1140
 1141    def __repr__(self):
 1142        return '<sdm.AMQP ' + \
 1143            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1144            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1145            'healthy: ' + repr(self.healthy) + ' ' +\
 1146            'hostname: ' + repr(self.hostname) + ' ' +\
 1147            'id: ' + repr(self.id) + ' ' +\
 1148            'name: ' + repr(self.name) + ' ' +\
 1149            'password: ' + repr(self.password) + ' ' +\
 1150            'port: ' + repr(self.port) + ' ' +\
 1151            'port_override: ' + repr(self.port_override) + ' ' +\
 1152            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1153            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1154            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1155            'tags: ' + repr(self.tags) + ' ' +\
 1156            'tls_required: ' + repr(self.tls_required) + ' ' +\
 1157            'username: ' + repr(self.username) + ' ' +\
 1158            '>'
 1159
 1160    def to_dict(self):
 1161        return {
 1162            'bind_interface': self.bind_interface,
 1163            'egress_filter': self.egress_filter,
 1164            'healthy': self.healthy,
 1165            'hostname': self.hostname,
 1166            'id': self.id,
 1167            'name': self.name,
 1168            'password': self.password,
 1169            'port': self.port,
 1170            'port_override': self.port_override,
 1171            'proxy_cluster_id': self.proxy_cluster_id,
 1172            'secret_store_id': self.secret_store_id,
 1173            'subdomain': self.subdomain,
 1174            'tags': self.tags,
 1175            'tls_required': self.tls_required,
 1176            'username': self.username,
 1177        }
 1178
 1179    @classmethod
 1180    def from_dict(cls, d):
 1181        return cls(
 1182            bind_interface=d.get('bind_interface'),
 1183            egress_filter=d.get('egress_filter'),
 1184            healthy=d.get('healthy'),
 1185            hostname=d.get('hostname'),
 1186            id=d.get('id'),
 1187            name=d.get('name'),
 1188            password=d.get('password'),
 1189            port=d.get('port'),
 1190            port_override=d.get('port_override'),
 1191            proxy_cluster_id=d.get('proxy_cluster_id'),
 1192            secret_store_id=d.get('secret_store_id'),
 1193            subdomain=d.get('subdomain'),
 1194            tags=d.get('tags'),
 1195            tls_required=d.get('tls_required'),
 1196            username=d.get('username'),
 1197        )
 1198
 1199
 1200class AWS:
 1201    __slots__ = [
 1202        'access_key',
 1203        'bind_interface',
 1204        'egress_filter',
 1205        'healthcheck_region',
 1206        'healthy',
 1207        'id',
 1208        'name',
 1209        'port_override',
 1210        'proxy_cluster_id',
 1211        'role_arn',
 1212        'role_external_id',
 1213        'secret_access_key',
 1214        'secret_store_id',
 1215        'subdomain',
 1216        'tags',
 1217    ]
 1218
 1219    def __init__(
 1220        self,
 1221        access_key=None,
 1222        bind_interface=None,
 1223        egress_filter=None,
 1224        healthcheck_region=None,
 1225        healthy=None,
 1226        id=None,
 1227        name=None,
 1228        port_override=None,
 1229        proxy_cluster_id=None,
 1230        role_arn=None,
 1231        role_external_id=None,
 1232        secret_access_key=None,
 1233        secret_store_id=None,
 1234        subdomain=None,
 1235        tags=None,
 1236    ):
 1237        self.access_key = access_key if access_key is not None else ''
 1238        '''
 1239         The Access Key ID to use to authenticate.
 1240        '''
 1241        self.bind_interface = bind_interface if bind_interface is not None else ''
 1242        '''
 1243         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1244        '''
 1245        self.egress_filter = egress_filter if egress_filter is not None else ''
 1246        '''
 1247         A filter applied to the routing logic to pin datasource to nodes.
 1248        '''
 1249        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
 1250        '''
 1251         The AWS region healthcheck requests should attempt to connect to.
 1252        '''
 1253        self.healthy = healthy if healthy is not None else False
 1254        '''
 1255         True if the datasource is reachable and the credentials are valid.
 1256        '''
 1257        self.id = id if id is not None else ''
 1258        '''
 1259         Unique identifier of the Resource.
 1260        '''
 1261        self.name = name if name is not None else ''
 1262        '''
 1263         Unique human-readable name of the Resource.
 1264        '''
 1265        self.port_override = port_override if port_override is not None else 0
 1266        '''
 1267         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1268        '''
 1269        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1270        '''
 1271         ID of the proxy cluster for this resource, if any.
 1272        '''
 1273        self.role_arn = role_arn if role_arn is not None else ''
 1274        '''
 1275         The role to assume after logging in.
 1276        '''
 1277        self.role_external_id = role_external_id if role_external_id is not None else ''
 1278        '''
 1279         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1280        '''
 1281        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1282        '''
 1283         The Secret Access Key to use to authenticate.
 1284        '''
 1285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1286        '''
 1287         ID of the secret store containing credentials for this resource, if any.
 1288        '''
 1289        self.subdomain = subdomain if subdomain is not None else ''
 1290        '''
 1291         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 1292        '''
 1293        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1294        '''
 1295         Tags is a map of key, value pairs.
 1296        '''
 1297
 1298    def __repr__(self):
 1299        return '<sdm.AWS ' + \
 1300            'access_key: ' + repr(self.access_key) + ' ' +\
 1301            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1302            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1303            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
 1304            'healthy: ' + repr(self.healthy) + ' ' +\
 1305            'id: ' + repr(self.id) + ' ' +\
 1306            'name: ' + repr(self.name) + ' ' +\
 1307            'port_override: ' + repr(self.port_override) + ' ' +\
 1308            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1309            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1310            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1311            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1312            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1313            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1314            'tags: ' + repr(self.tags) + ' ' +\
 1315            '>'
 1316
 1317    def to_dict(self):
 1318        return {
 1319            'access_key': self.access_key,
 1320            'bind_interface': self.bind_interface,
 1321            'egress_filter': self.egress_filter,
 1322            'healthcheck_region': self.healthcheck_region,
 1323            'healthy': self.healthy,
 1324            'id': self.id,
 1325            'name': self.name,
 1326            'port_override': self.port_override,
 1327            'proxy_cluster_id': self.proxy_cluster_id,
 1328            'role_arn': self.role_arn,
 1329            'role_external_id': self.role_external_id,
 1330            'secret_access_key': self.secret_access_key,
 1331            'secret_store_id': self.secret_store_id,
 1332            'subdomain': self.subdomain,
 1333            'tags': self.tags,
 1334        }
 1335
 1336    @classmethod
 1337    def from_dict(cls, d):
 1338        return cls(
 1339            access_key=d.get('access_key'),
 1340            bind_interface=d.get('bind_interface'),
 1341            egress_filter=d.get('egress_filter'),
 1342            healthcheck_region=d.get('healthcheck_region'),
 1343            healthy=d.get('healthy'),
 1344            id=d.get('id'),
 1345            name=d.get('name'),
 1346            port_override=d.get('port_override'),
 1347            proxy_cluster_id=d.get('proxy_cluster_id'),
 1348            role_arn=d.get('role_arn'),
 1349            role_external_id=d.get('role_external_id'),
 1350            secret_access_key=d.get('secret_access_key'),
 1351            secret_store_id=d.get('secret_store_id'),
 1352            subdomain=d.get('subdomain'),
 1353            tags=d.get('tags'),
 1354        )
 1355
 1356
 1357class AWSCertX509Store:
 1358    __slots__ = [
 1359        'caarn',
 1360        'certificatetemplatearn',
 1361        'id',
 1362        'issuedcertttlminutes',
 1363        'name',
 1364        'region',
 1365        'signingalgo',
 1366        'tags',
 1367    ]
 1368
 1369    def __init__(
 1370        self,
 1371        caarn=None,
 1372        certificatetemplatearn=None,
 1373        id=None,
 1374        issuedcertttlminutes=None,
 1375        name=None,
 1376        region=None,
 1377        signingalgo=None,
 1378        tags=None,
 1379    ):
 1380        self.caarn = caarn if caarn is not None else ''
 1381        '''
 1382         The ARN of the CA in AWS Private CA
 1383        '''
 1384        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
 1385        '''
 1386         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
 1387        '''
 1388        self.id = id if id is not None else ''
 1389        '''
 1390         Unique identifier of the SecretStore.
 1391        '''
 1392        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
 1393        '''
 1394         The lifetime of certificates issued by this CA represented in minutes.
 1395        '''
 1396        self.name = name if name is not None else ''
 1397        '''
 1398         Unique human-readable name of the SecretStore.
 1399        '''
 1400        self.region = region if region is not None else ''
 1401        '''
 1402         The AWS region to target e.g. us-east-1
 1403        '''
 1404        self.signingalgo = signingalgo if signingalgo is not None else ''
 1405        '''
 1406         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
 1407        '''
 1408        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1409        '''
 1410         Tags is a map of key, value pairs.
 1411        '''
 1412
 1413    def __repr__(self):
 1414        return '<sdm.AWSCertX509Store ' + \
 1415            'caarn: ' + repr(self.caarn) + ' ' +\
 1416            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
 1417            'id: ' + repr(self.id) + ' ' +\
 1418            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
 1419            'name: ' + repr(self.name) + ' ' +\
 1420            'region: ' + repr(self.region) + ' ' +\
 1421            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
 1422            'tags: ' + repr(self.tags) + ' ' +\
 1423            '>'
 1424
 1425    def to_dict(self):
 1426        return {
 1427            'caarn': self.caarn,
 1428            'certificatetemplatearn': self.certificatetemplatearn,
 1429            'id': self.id,
 1430            'issuedcertttlminutes': self.issuedcertttlminutes,
 1431            'name': self.name,
 1432            'region': self.region,
 1433            'signingalgo': self.signingalgo,
 1434            'tags': self.tags,
 1435        }
 1436
 1437    @classmethod
 1438    def from_dict(cls, d):
 1439        return cls(
 1440            caarn=d.get('caarn'),
 1441            certificatetemplatearn=d.get('certificatetemplatearn'),
 1442            id=d.get('id'),
 1443            issuedcertttlminutes=d.get('issuedcertttlminutes'),
 1444            name=d.get('name'),
 1445            region=d.get('region'),
 1446            signingalgo=d.get('signingalgo'),
 1447            tags=d.get('tags'),
 1448        )
 1449
 1450
 1451class AWSConnector:
 1452    __slots__ = [
 1453        'account_ids',
 1454        'description',
 1455        'exclude_tags',
 1456        'id',
 1457        'include_tags',
 1458        'name',
 1459        'role_name',
 1460        'scan_period',
 1461        'services',
 1462    ]
 1463
 1464    def __init__(
 1465        self,
 1466        account_ids=None,
 1467        description=None,
 1468        exclude_tags=None,
 1469        id=None,
 1470        include_tags=None,
 1471        name=None,
 1472        role_name=None,
 1473        scan_period=None,
 1474        services=None,
 1475    ):
 1476        self.account_ids = account_ids if account_ids is not None else []
 1477        '''
 1478         AccountIds is the list of AWS Accounts to scan
 1479        '''
 1480        self.description = description if description is not None else ''
 1481        '''
 1482         Description of the Connector.
 1483        '''
 1484        self.exclude_tags = exclude_tags if exclude_tags is not None else []
 1485        '''
 1486         ExcludeTags filters out discovered resources that have the tag and value.
 1487         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
 1488        '''
 1489        self.id = id if id is not None else ''
 1490        '''
 1491         Unique identifier of the Connector.
 1492        '''
 1493        self.include_tags = include_tags if include_tags is not None else []
 1494        '''
 1495         IncludeTags only discovers cloud resources that have one of the included tags.
 1496         We do not allow duplicate tag names for IncludeTags
 1497        '''
 1498        self.name = name if name is not None else ''
 1499        '''
 1500         Unique human-readable name of the Connector.
 1501        '''
 1502        self.role_name = role_name if role_name is not None else ''
 1503        '''
 1504         RoleName is the Role we're assuming into for an account
 1505        '''
 1506        self.scan_period = scan_period if scan_period is not None else ''
 1507        '''
 1508         ScanPeriod identifies which remote system this Connector discovers
 1509        '''
 1510        self.services = services if services is not None else []
 1511        '''
 1512         Services is a list of services this connector should scan.
 1513        '''
 1514
 1515    def __repr__(self):
 1516        return '<sdm.AWSConnector ' + \
 1517            'account_ids: ' + repr(self.account_ids) + ' ' +\
 1518            'description: ' + repr(self.description) + ' ' +\
 1519            'exclude_tags: ' + repr(self.exclude_tags) + ' ' +\
 1520            'id: ' + repr(self.id) + ' ' +\
 1521            'include_tags: ' + repr(self.include_tags) + ' ' +\
 1522            'name: ' + repr(self.name) + ' ' +\
 1523            'role_name: ' + repr(self.role_name) + ' ' +\
 1524            'scan_period: ' + repr(self.scan_period) + ' ' +\
 1525            'services: ' + repr(self.services) + ' ' +\
 1526            '>'
 1527
 1528    def to_dict(self):
 1529        return {
 1530            'account_ids': self.account_ids,
 1531            'description': self.description,
 1532            'exclude_tags': self.exclude_tags,
 1533            'id': self.id,
 1534            'include_tags': self.include_tags,
 1535            'name': self.name,
 1536            'role_name': self.role_name,
 1537            'scan_period': self.scan_period,
 1538            'services': self.services,
 1539        }
 1540
 1541    @classmethod
 1542    def from_dict(cls, d):
 1543        return cls(
 1544            account_ids=d.get('account_ids'),
 1545            description=d.get('description'),
 1546            exclude_tags=d.get('exclude_tags'),
 1547            id=d.get('id'),
 1548            include_tags=d.get('include_tags'),
 1549            name=d.get('name'),
 1550            role_name=d.get('role_name'),
 1551            scan_period=d.get('scan_period'),
 1552            services=d.get('services'),
 1553        )
 1554
 1555
 1556class AWSConsole:
 1557    __slots__ = [
 1558        'bind_interface',
 1559        'egress_filter',
 1560        'enable_env_variables',
 1561        'healthy',
 1562        'id',
 1563        'identity_alias_healthcheck_username',
 1564        'identity_set_id',
 1565        'name',
 1566        'port_override',
 1567        'proxy_cluster_id',
 1568        'region',
 1569        'role_arn',
 1570        'role_external_id',
 1571        'secret_store_id',
 1572        'session_expiry',
 1573        'subdomain',
 1574        'tags',
 1575        'use_https',
 1576    ]
 1577
 1578    def __init__(
 1579        self,
 1580        bind_interface=None,
 1581        egress_filter=None,
 1582        enable_env_variables=None,
 1583        healthy=None,
 1584        id=None,
 1585        identity_alias_healthcheck_username=None,
 1586        identity_set_id=None,
 1587        name=None,
 1588        port_override=None,
 1589        proxy_cluster_id=None,
 1590        region=None,
 1591        role_arn=None,
 1592        role_external_id=None,
 1593        secret_store_id=None,
 1594        session_expiry=None,
 1595        subdomain=None,
 1596        tags=None,
 1597        use_https=None,
 1598    ):
 1599        self.bind_interface = bind_interface if bind_interface is not None else ''
 1600        '''
 1601         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1602        '''
 1603        self.egress_filter = egress_filter if egress_filter is not None else ''
 1604        '''
 1605         A filter applied to the routing logic to pin datasource to nodes.
 1606        '''
 1607        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1608        '''
 1609         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1610        '''
 1611        self.healthy = healthy if healthy is not None else False
 1612        '''
 1613         True if the datasource is reachable and the credentials are valid.
 1614        '''
 1615        self.id = id if id is not None else ''
 1616        '''
 1617         Unique identifier of the Resource.
 1618        '''
 1619        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1620        '''
 1621         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1622        '''
 1623        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1624        '''
 1625         The ID of the identity set to use for identity connections.
 1626        '''
 1627        self.name = name if name is not None else ''
 1628        '''
 1629         Unique human-readable name of the Resource.
 1630        '''
 1631        self.port_override = port_override if port_override is not None else 0
 1632        '''
 1633         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1634        '''
 1635        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1636        '''
 1637         ID of the proxy cluster for this resource, if any.
 1638        '''
 1639        self.region = region if region is not None else ''
 1640        '''
 1641         The AWS region to connect to.
 1642        '''
 1643        self.role_arn = role_arn if role_arn is not None else ''
 1644        '''
 1645         The role to assume after logging in.
 1646        '''
 1647        self.role_external_id = role_external_id if role_external_id is not None else ''
 1648        '''
 1649         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1650        '''
 1651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1652        '''
 1653         ID of the secret store containing credentials for this resource, if any.
 1654        '''
 1655        self.session_expiry = session_expiry if session_expiry is not None else 0
 1656        '''
 1657         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1658        '''
 1659        self.subdomain = subdomain if subdomain is not None else ''
 1660        '''
 1661         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1662        '''
 1663        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1664        '''
 1665         Tags is a map of key, value pairs.
 1666        '''
 1667        self.use_https = use_https if use_https is not None else False
 1668        '''
 1669         This option enforces HTTPS on the client, not resource connection.
 1670        '''
 1671
 1672    def __repr__(self):
 1673        return '<sdm.AWSConsole ' + \
 1674            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1675            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1676            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1677            'healthy: ' + repr(self.healthy) + ' ' +\
 1678            'id: ' + repr(self.id) + ' ' +\
 1679            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1680            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1681            'name: ' + repr(self.name) + ' ' +\
 1682            'port_override: ' + repr(self.port_override) + ' ' +\
 1683            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1684            'region: ' + repr(self.region) + ' ' +\
 1685            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1686            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1687            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1688            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1689            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1690            'tags: ' + repr(self.tags) + ' ' +\
 1691            'use_https: ' + repr(self.use_https) + ' ' +\
 1692            '>'
 1693
 1694    def to_dict(self):
 1695        return {
 1696            'bind_interface': self.bind_interface,
 1697            'egress_filter': self.egress_filter,
 1698            'enable_env_variables': self.enable_env_variables,
 1699            'healthy': self.healthy,
 1700            'id': self.id,
 1701            'identity_alias_healthcheck_username':
 1702            self.identity_alias_healthcheck_username,
 1703            'identity_set_id': self.identity_set_id,
 1704            'name': self.name,
 1705            'port_override': self.port_override,
 1706            'proxy_cluster_id': self.proxy_cluster_id,
 1707            'region': self.region,
 1708            'role_arn': self.role_arn,
 1709            'role_external_id': self.role_external_id,
 1710            'secret_store_id': self.secret_store_id,
 1711            'session_expiry': self.session_expiry,
 1712            'subdomain': self.subdomain,
 1713            'tags': self.tags,
 1714            'use_https': self.use_https,
 1715        }
 1716
 1717    @classmethod
 1718    def from_dict(cls, d):
 1719        return cls(
 1720            bind_interface=d.get('bind_interface'),
 1721            egress_filter=d.get('egress_filter'),
 1722            enable_env_variables=d.get('enable_env_variables'),
 1723            healthy=d.get('healthy'),
 1724            id=d.get('id'),
 1725            identity_alias_healthcheck_username=d.get(
 1726                'identity_alias_healthcheck_username'),
 1727            identity_set_id=d.get('identity_set_id'),
 1728            name=d.get('name'),
 1729            port_override=d.get('port_override'),
 1730            proxy_cluster_id=d.get('proxy_cluster_id'),
 1731            region=d.get('region'),
 1732            role_arn=d.get('role_arn'),
 1733            role_external_id=d.get('role_external_id'),
 1734            secret_store_id=d.get('secret_store_id'),
 1735            session_expiry=d.get('session_expiry'),
 1736            subdomain=d.get('subdomain'),
 1737            tags=d.get('tags'),
 1738            use_https=d.get('use_https'),
 1739        )
 1740
 1741
 1742class AWSConsoleStaticKeyPair:
 1743    __slots__ = [
 1744        'access_key',
 1745        'bind_interface',
 1746        'egress_filter',
 1747        'healthy',
 1748        'id',
 1749        'identity_alias_healthcheck_username',
 1750        'identity_set_id',
 1751        'name',
 1752        'port_override',
 1753        'proxy_cluster_id',
 1754        'region',
 1755        'role_arn',
 1756        'role_external_id',
 1757        'secret_access_key',
 1758        'secret_store_id',
 1759        'session_expiry',
 1760        'subdomain',
 1761        'tags',
 1762        'use_https',
 1763    ]
 1764
 1765    def __init__(
 1766        self,
 1767        access_key=None,
 1768        bind_interface=None,
 1769        egress_filter=None,
 1770        healthy=None,
 1771        id=None,
 1772        identity_alias_healthcheck_username=None,
 1773        identity_set_id=None,
 1774        name=None,
 1775        port_override=None,
 1776        proxy_cluster_id=None,
 1777        region=None,
 1778        role_arn=None,
 1779        role_external_id=None,
 1780        secret_access_key=None,
 1781        secret_store_id=None,
 1782        session_expiry=None,
 1783        subdomain=None,
 1784        tags=None,
 1785        use_https=None,
 1786    ):
 1787        self.access_key = access_key if access_key is not None else ''
 1788        '''
 1789         The Access Key ID to authenticate with.
 1790        '''
 1791        self.bind_interface = bind_interface if bind_interface is not None else ''
 1792        '''
 1793         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1794        '''
 1795        self.egress_filter = egress_filter if egress_filter is not None else ''
 1796        '''
 1797         A filter applied to the routing logic to pin datasource to nodes.
 1798        '''
 1799        self.healthy = healthy if healthy is not None else False
 1800        '''
 1801         True if the datasource is reachable and the credentials are valid.
 1802        '''
 1803        self.id = id if id is not None else ''
 1804        '''
 1805         Unique identifier of the Resource.
 1806        '''
 1807        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1808        '''
 1809         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1810        '''
 1811        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1812        '''
 1813         The ID of the identity set to use for identity connections.
 1814        '''
 1815        self.name = name if name is not None else ''
 1816        '''
 1817         Unique human-readable name of the Resource.
 1818        '''
 1819        self.port_override = port_override if port_override is not None else 0
 1820        '''
 1821         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1822        '''
 1823        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1824        '''
 1825         ID of the proxy cluster for this resource, if any.
 1826        '''
 1827        self.region = region if region is not None else ''
 1828        '''
 1829         The AWS region to connect to.
 1830        '''
 1831        self.role_arn = role_arn if role_arn is not None else ''
 1832        '''
 1833         The role to assume after logging in.
 1834        '''
 1835        self.role_external_id = role_external_id if role_external_id is not None else ''
 1836        '''
 1837         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1838        '''
 1839        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1840        '''
 1841         The Secret Access Key to authenticate with.
 1842        '''
 1843        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1844        '''
 1845         ID of the secret store containing credentials for this resource, if any.
 1846        '''
 1847        self.session_expiry = session_expiry if session_expiry is not None else 0
 1848        '''
 1849         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1850        '''
 1851        self.subdomain = subdomain if subdomain is not None else ''
 1852        '''
 1853         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1854        '''
 1855        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1856        '''
 1857         Tags is a map of key, value pairs.
 1858        '''
 1859        self.use_https = use_https if use_https is not None else False
 1860        '''
 1861         This option enforces HTTPS on the client, not resource connection
 1862        '''
 1863
 1864    def __repr__(self):
 1865        return '<sdm.AWSConsoleStaticKeyPair ' + \
 1866            'access_key: ' + repr(self.access_key) + ' ' +\
 1867            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1868            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1869            'healthy: ' + repr(self.healthy) + ' ' +\
 1870            'id: ' + repr(self.id) + ' ' +\
 1871            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1872            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1873            'name: ' + repr(self.name) + ' ' +\
 1874            'port_override: ' + repr(self.port_override) + ' ' +\
 1875            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1876            'region: ' + repr(self.region) + ' ' +\
 1877            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1878            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1879            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1880            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1881            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1882            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1883            'tags: ' + repr(self.tags) + ' ' +\
 1884            'use_https: ' + repr(self.use_https) + ' ' +\
 1885            '>'
 1886
 1887    def to_dict(self):
 1888        return {
 1889            'access_key': self.access_key,
 1890            'bind_interface': self.bind_interface,
 1891            'egress_filter': self.egress_filter,
 1892            'healthy': self.healthy,
 1893            'id': self.id,
 1894            'identity_alias_healthcheck_username':
 1895            self.identity_alias_healthcheck_username,
 1896            'identity_set_id': self.identity_set_id,
 1897            'name': self.name,
 1898            'port_override': self.port_override,
 1899            'proxy_cluster_id': self.proxy_cluster_id,
 1900            'region': self.region,
 1901            'role_arn': self.role_arn,
 1902            'role_external_id': self.role_external_id,
 1903            'secret_access_key': self.secret_access_key,
 1904            'secret_store_id': self.secret_store_id,
 1905            'session_expiry': self.session_expiry,
 1906            'subdomain': self.subdomain,
 1907            'tags': self.tags,
 1908            'use_https': self.use_https,
 1909        }
 1910
 1911    @classmethod
 1912    def from_dict(cls, d):
 1913        return cls(
 1914            access_key=d.get('access_key'),
 1915            bind_interface=d.get('bind_interface'),
 1916            egress_filter=d.get('egress_filter'),
 1917            healthy=d.get('healthy'),
 1918            id=d.get('id'),
 1919            identity_alias_healthcheck_username=d.get(
 1920                'identity_alias_healthcheck_username'),
 1921            identity_set_id=d.get('identity_set_id'),
 1922            name=d.get('name'),
 1923            port_override=d.get('port_override'),
 1924            proxy_cluster_id=d.get('proxy_cluster_id'),
 1925            region=d.get('region'),
 1926            role_arn=d.get('role_arn'),
 1927            role_external_id=d.get('role_external_id'),
 1928            secret_access_key=d.get('secret_access_key'),
 1929            secret_store_id=d.get('secret_store_id'),
 1930            session_expiry=d.get('session_expiry'),
 1931            subdomain=d.get('subdomain'),
 1932            tags=d.get('tags'),
 1933            use_https=d.get('use_https'),
 1934        )
 1935
 1936
 1937class AWSInstanceProfile:
 1938    __slots__ = [
 1939        'bind_interface',
 1940        'egress_filter',
 1941        'enable_env_variables',
 1942        'healthy',
 1943        'id',
 1944        'name',
 1945        'port_override',
 1946        'proxy_cluster_id',
 1947        'region',
 1948        'role_arn',
 1949        'role_external_id',
 1950        'secret_store_id',
 1951        'subdomain',
 1952        'tags',
 1953    ]
 1954
 1955    def __init__(
 1956        self,
 1957        bind_interface=None,
 1958        egress_filter=None,
 1959        enable_env_variables=None,
 1960        healthy=None,
 1961        id=None,
 1962        name=None,
 1963        port_override=None,
 1964        proxy_cluster_id=None,
 1965        region=None,
 1966        role_arn=None,
 1967        role_external_id=None,
 1968        secret_store_id=None,
 1969        subdomain=None,
 1970        tags=None,
 1971    ):
 1972        self.bind_interface = bind_interface if bind_interface is not None else ''
 1973        '''
 1974         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1975        '''
 1976        self.egress_filter = egress_filter if egress_filter is not None else ''
 1977        '''
 1978         A filter applied to the routing logic to pin datasource to nodes.
 1979        '''
 1980        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1981        '''
 1982         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1983        '''
 1984        self.healthy = healthy if healthy is not None else False
 1985        '''
 1986         True if the datasource is reachable and the credentials are valid.
 1987        '''
 1988        self.id = id if id is not None else ''
 1989        '''
 1990         Unique identifier of the Resource.
 1991        '''
 1992        self.name = name if name is not None else ''
 1993        '''
 1994         Unique human-readable name of the Resource.
 1995        '''
 1996        self.port_override = port_override if port_override is not None else 0
 1997        '''
 1998         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1999        '''
 2000        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 2001        '''
 2002         ID of the proxy cluster for this resource, if any.
 2003        '''
 2004        self.region = region if region is not None else ''
 2005        '''
 2006         The AWS region to connect to.
 2007        '''
 2008        self.role_arn = role_arn if role_arn is not None else ''
 2009        '''
 2010         The role to assume after logging in.
 2011        '''
 2012        self.role_external_id = role_external_id if role_external_id is not None else ''
 2013        '''
 2014         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 2015        '''
 2016        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 2017        '''
 2018         ID of the secret store containing credentials for this resource, if any.
 2019        '''
 2020        self.subdomain = subdomain if subdomain is not None else ''
 2021        '''
 2022         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 2023        '''
 2024        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 2025        '''
 2026         Tags is a map of key, value pairs.
 2027        '''
 2028
 2029    def __repr__(self):
 2030        return '<sdm.AWSInstanceProfile ' + \
 2031            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 2032            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 2033            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 2034            'healthy: ' + repr(self.healthy) + ' ' +\
 2035            'id: ' + repr(self.id) + ' ' +\
 2036            'name: ' + repr(self.name) + ' ' +\
 2037            'port_override: ' + repr(self.port_override) + ' ' +\
 2038            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 2039            'region: ' + repr(self.region) + ' ' +\
 2040            'role_arn: ' + repr(self.role_arn) + ' ' +\
 2041            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 2042            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 2043            'subdomain: ' + repr(self.subdomain) + ' ' +\
 2044            'tags: ' + repr(self.tags) + ' ' +\
 2045            '>'
 2046
 2047    def to_dict(self):
 2048        return {
 2049            'bind_interface': self.bind_interface,
 2050            'egress_filter': self.egress_filter,
 2051            'enable_env_variables': self.enable_env_variables,
 2052            'healthy': self.healthy,
 2053            'id': self.id,
 2054            'name': self.name,
 2055            'port_override': self.port_override,
 2056            'proxy_cluster_id': self.proxy_cluster_id,
 2057            'region': self.region,
 2058            'role_arn': self.role_arn,
 2059            'role_external_id': self.role_external_id,
 2060            'secret_store_id': self.secret_store_id,
 2061            'subdomain': self.subdomain,
 2062            'tags': self.tags,
 2063        }
 2064
 2065    @classmethod
 2066    def from_dict(cls, d):
 2067        return cls(
 2068            bind_interface=d.get('bind_interface'),
 2069            egress_filter=d.get('egress_filter'),
 2070            enable_env_variables=d.get('enable_env_variables'),
 2071            healthy=d.get('healthy'),
 2072            id=d.get('id'),
 2073            name=d.get('name'),
 2074            port_override=d.get('port_override'),
 2075            proxy_cluster_id=d.get('proxy_cluster_id'),
 2076            region=d.get('region'),
 2077            role_arn=d.get('role_arn'),
 2078            role_external_id=d.get('role_external_id'),
 2079            secret_store_id=d.get('secret_store_id'),
 2080            subdomain=d.get('subdomain'),
 2081            tags=d.get('tags'),
 2082        )
 2083
 2084
 2085class AWSStore:
 2086    __slots__ = [
 2087        'id',
 2088        'name',
 2089        'region',
 2090        'role_arn',
 2091        'role_external_id',
 2092        'tags',
 2093    ]
 2094
 2095    def __init__(
 2096        self,
 2097        id=None,
 2098        name=None,
 2099        region=None,
 2100        role_arn=None,
 2101        role_external_id=None,
 2102        tags=None,
 2103    ):
 2104        self.id = id if id is not None else ''
 2105        '''
 2106         Unique identifier of the SecretStore.
 2107        '''
 2108        self.name = name if name is not None else ''
 2109        '''
 2110         Unique human-readable name of the SecretStore.
 2111        '''
 2112        self.region = region if region is not None else ''
 2113        '''
 2114         The AWS region to target e.g. us-east-1
 2115        '''
 2116        self.role_arn = role_arn if role_arn is not None else ''
 2117        '''
 2118         The role to assume after logging in.
 2119        '''
 2120        self.role_external_id = role_external_id if role_external_id is not None else ''
 2121        '''
 2122         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 2123        '''
 2124        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 2125        '''
 2126         Tags is a map of key, value pairs.
 2127        '''
 2128
 2129    def __repr__(self):
 2130        return '<sdm.AWSStore ' + \
 2131            'id: ' + repr(self.id) + ' ' +\
 2132            'name: ' + repr(self.name) + ' ' +\
 2133            'region: ' + repr(self.region) + ' ' +\
 2134            'role_arn: ' + repr(self.role_arn) + ' ' +\
 2135            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 2136            'tags: ' + repr(self.tags) + ' ' +\
 2137            '>'
 2138
 2139    def to_dict(self):
 2140        return {
 2141            'id': self.id,
 2142            'name': self.name,
 2143            'region': self.region,
 2144            'role_arn': self.role_arn,
 2145            'role_external_id': self.role_external_id,
 2146            'tags': self.tags,
 2147        }
 2148
 2149    @classmethod
 2150    def from_dict(cls, d):
 2151        return cls(
 2152            id=d.get('id'),
 2153            name=d.get('name'),
 2154            region=d.get('region'),
 2155            role_arn=d.get('role_arn'),
 2156            role_external_id=d.get('role_external_id'),
 2157            tags=d.get('tags'),
 2158        )
 2159
 2160
 2161class AccessRequest:
 2162    '''
 2163         AccessRequests are requests for access to a resource that may match a Workflow.
 2164    '''
 2165    __slots__ = [
 2166        'account_id',
 2167        'duration',
 2168        'grant_id',
 2169        'id',
 2170        'reason',
 2171        'requestedduration',
 2172        'resource_id',
 2173        'resultduration',
 2174        'start_from',
 2175        'status',
 2176        'status_at',
 2177        'valid_until',
 2178        'workflow_id',
 2179    ]
 2180
 2181    def __init__(
 2182        self,
 2183        account_id=None,
 2184        duration=None,
 2185        grant_id=None,
 2186        id=None,
 2187        reason=None,
 2188        requestedduration=None,
 2189        resource_id=None,
 2190        resultduration=None,
 2191        start_from=None,
 2192        status=None,
 2193        status_at=None,
 2194        valid_until=None,
 2195        workflow_id=None,
 2196    ):
 2197        self.account_id = account_id if account_id is not None else ''
 2198        '''
 2199         The account that initiated the request.
 2200        '''
 2201        self.duration = duration if duration is not None else 0
 2202        '''
 2203         Duration of the access request.
 2204         Deprecated: use requested/result duration instead
 2205        '''
 2206        self.grant_id = grant_id if grant_id is not None else ''
 2207        '''
 2208         The account grant created, if it exists.
 2209        '''
 2210        self.id = id if id is not None else ''
 2211        '''
 2212         The access request id.
 2213        '''
 2214        self.reason = reason if reason is not None else ''
 2215        '''
 2216         The reason the access was requested.
 2217        '''
 2218        self.requestedduration = requestedduration if requestedduration is not None else None
 2219        '''
 2220         The duration that access was requested for, if any.
 2221        '''
 2222        self.resource_id = resource_id if resource_id is not None else ''
 2223        '''
 2224         The resource id.
 2225        '''
 2226        self.resultduration = resultduration if resultduration is not None else None
 2227        '''
 2228         The duration that results from an approved request.
 2229        '''
 2230        self.start_from = start_from if start_from is not None else None
 2231        '''
 2232         The timestamp when the requested access will be granted.
 2233         If this field is not specified it will default to the current time.
 2234        '''
 2235        self.status = status if status is not None else ''
 2236        '''
 2237         The status of the access request.
 2238        '''
 2239        self.status_at = status_at if status_at is not None else None
 2240        '''
 2241         The timestamp when the status changed.
 2242        '''
 2243        self.valid_until = valid_until if valid_until is not None else None
 2244        '''
 2245         The timestamp when the requested access will expire.
 2246        '''
 2247        self.workflow_id = workflow_id if workflow_id is not None else ''
 2248        '''
 2249         The workflow the request bound to.
 2250        '''
 2251
 2252    def __repr__(self):
 2253        return '<sdm.AccessRequest ' + \
 2254            'account_id: ' + repr(self.account_id) + ' ' +\
 2255            'duration: ' + repr(self.duration) + ' ' +\
 2256            'grant_id: ' + repr(self.grant_id) + ' ' +\
 2257            'id: ' + repr(self.id) + ' ' +\
 2258            'reason: ' + repr(self.reason) + ' ' +\
 2259            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
 2260            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2261            'resultduration: ' + repr(self.resultduration) + ' ' +\
 2262            'start_from: ' + repr(self.start_from) + ' ' +\
 2263            'status: ' + repr(self.status) + ' ' +\
 2264            'status_at: ' + repr(self.status_at) + ' ' +\
 2265            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2266            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
 2267            '>'
 2268
 2269    def to_dict(self):
 2270        return {
 2271            'account_id': self.account_id,
 2272            'duration': self.duration,
 2273            'grant_id': self.grant_id,
 2274            'id': self.id,
 2275            'reason': self.reason,
 2276            'requestedduration': self.requestedduration,
 2277            'resource_id': self.resource_id,
 2278            'resultduration': self.resultduration,
 2279            'start_from': self.start_from,
 2280            'status': self.status,
 2281            'status_at': self.status_at,
 2282            'valid_until': self.valid_until,
 2283            'workflow_id': self.workflow_id,
 2284        }
 2285
 2286    @classmethod
 2287    def from_dict(cls, d):
 2288        return cls(
 2289            account_id=d.get('account_id'),
 2290            duration=d.get('duration'),
 2291            grant_id=d.get('grant_id'),
 2292            id=d.get('id'),
 2293            reason=d.get('reason'),
 2294            requestedduration=d.get('requestedduration'),
 2295            resource_id=d.get('resource_id'),
 2296            resultduration=d.get('resultduration'),
 2297            start_from=d.get('start_from'),
 2298            status=d.get('status'),
 2299            status_at=d.get('status_at'),
 2300            valid_until=d.get('valid_until'),
 2301            workflow_id=d.get('workflow_id'),
 2302        )
 2303
 2304
 2305class AccessRequestConfig:
 2306    '''
 2307         AccessRequestConfig holds the information required to request access to a resource
 2308    '''
 2309    __slots__ = [
 2310        'duration',
 2311        'reason',
 2312        'resource_id',
 2313        'start_from',
 2314    ]
 2315
 2316    def __init__(
 2317        self,
 2318        duration=None,
 2319        reason=None,
 2320        resource_id=None,
 2321        start_from=None,
 2322    ):
 2323        self.duration = duration if duration is not None else ''
 2324        '''
 2325         The time access should end, defaults to the next occurance of 5 pm
 2326        '''
 2327        self.reason = reason if reason is not None else ''
 2328        '''
 2329         The reason for access
 2330        '''
 2331        self.resource_id = resource_id if resource_id is not None else ''
 2332        '''
 2333         The resource for which access is being requested
 2334        '''
 2335        self.start_from = start_from if start_from is not None else None
 2336        '''
 2337         The time access should start, defaults to now
 2338        '''
 2339
 2340    def __repr__(self):
 2341        return '<sdm.AccessRequestConfig ' + \
 2342            'duration: ' + repr(self.duration) + ' ' +\
 2343            'reason: ' + repr(self.reason) + ' ' +\
 2344            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2345            'start_from: ' + repr(self.start_from) + ' ' +\
 2346            '>'
 2347
 2348    def to_dict(self):
 2349        return {
 2350            'duration': self.duration,
 2351            'reason': self.reason,
 2352            'resource_id': self.resource_id,
 2353            'start_from': self.start_from,
 2354        }
 2355
 2356    @classmethod
 2357    def from_dict(cls, d):
 2358        return cls(
 2359            duration=d.get('duration'),
 2360            reason=d.get('reason'),
 2361            resource_id=d.get('resource_id'),
 2362            start_from=d.get('start_from'),
 2363        )
 2364
 2365
 2366class AccessRequestEvent:
 2367    '''
 2368         AccessRequestEvents hold information about events related to an access
 2369     request such as creation, approval and denial.
 2370    '''
 2371    __slots__ = [
 2372        'actor_id',
 2373        'id',
 2374        'metadata',
 2375        'request_id',
 2376        'type',
 2377    ]
 2378
 2379    def __init__(
 2380        self,
 2381        actor_id=None,
 2382        id=None,
 2383        metadata=None,
 2384        request_id=None,
 2385        type=None,
 2386    ):
 2387        self.actor_id = actor_id if actor_id is not None else ''
 2388        '''
 2389         The account responsible for the event.
 2390        '''
 2391        self.id = id if id is not None else ''
 2392        '''
 2393         The access request event id.
 2394        '''
 2395        self.metadata = metadata if metadata is not None else ''
 2396        '''
 2397         The metadata about the event
 2398        '''
 2399        self.request_id = request_id if request_id is not None else ''
 2400        '''
 2401         The request that the event is bound to.
 2402        '''
 2403        self.type = type if type is not None else ''
 2404        '''
 2405         The type of event.
 2406        '''
 2407
 2408    def __repr__(self):
 2409        return '<sdm.AccessRequestEvent ' + \
 2410            'actor_id: ' + repr(self.actor_id) + ' ' +\
 2411            'id: ' + repr(self.id) + ' ' +\
 2412            'metadata: ' + repr(self.metadata) + ' ' +\
 2413            'request_id: ' + repr(self.request_id) + ' ' +\
 2414            'type: ' + repr(self.type) + ' ' +\
 2415            '>'
 2416
 2417    def to_dict(self):
 2418        return {
 2419            'actor_id': self.actor_id,
 2420            'id': self.id,
 2421            'metadata': self.metadata,
 2422            'request_id': self.request_id,
 2423            'type': self.type,
 2424        }
 2425
 2426    @classmethod
 2427    def from_dict(cls, d):
 2428        return cls(
 2429            actor_id=d.get('actor_id'),
 2430            id=d.get('id'),
 2431            metadata=d.get('metadata'),
 2432            request_id=d.get('request_id'),
 2433            type=d.get('type'),
 2434        )
 2435
 2436
 2437class AccessRequestEventHistory:
 2438    '''
 2439         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
 2440     where every change (create, update and delete) to a AccessRequest produces an
 2441     AccessRequestEventHistory record.
 2442    '''
 2443    __slots__ = [
 2444        'access_request_event',
 2445        'activity_id',
 2446        'deleted_at',
 2447        'timestamp',
 2448    ]
 2449
 2450    def __init__(
 2451        self,
 2452        access_request_event=None,
 2453        activity_id=None,
 2454        deleted_at=None,
 2455        timestamp=None,
 2456    ):
 2457        self.access_request_event = access_request_event if access_request_event is not None else None
 2458        '''
 2459         The complete AccessRequestEvent state at this time.
 2460        '''
 2461        self.activity_id = activity_id if activity_id is not None else ''
 2462        '''
 2463         The unique identifier of the Activity that produced this change to the AccessRequest.
 2464         May be empty for some system-initiated updates.
 2465        '''
 2466        self.deleted_at = deleted_at if deleted_at is not None else None
 2467        '''
 2468         If this Workflow was deleted, the time it was deleted.
 2469        '''
 2470        self.timestamp = timestamp if timestamp is not None else None
 2471        '''
 2472         The time at which the AccessRequest state was recorded.
 2473        '''
 2474
 2475    def __repr__(self):
 2476        return '<sdm.AccessRequestEventHistory ' + \
 2477            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
 2478            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2479            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2480            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2481            '>'
 2482
 2483    def to_dict(self):
 2484        return {
 2485            'access_request_event': self.access_request_event,
 2486            'activity_id': self.activity_id,
 2487            'deleted_at': self.deleted_at,
 2488            'timestamp': self.timestamp,
 2489        }
 2490
 2491    @classmethod
 2492    def from_dict(cls, d):
 2493        return cls(
 2494            access_request_event=d.get('access_request_event'),
 2495            activity_id=d.get('activity_id'),
 2496            deleted_at=d.get('deleted_at'),
 2497            timestamp=d.get('timestamp'),
 2498        )
 2499
 2500
 2501class AccessRequestHistory:
 2502    '''
 2503         AccessRequestHistory records the state of a AccessRequest at a given point in time,
 2504     where every change (create, update and delete) to a AccessRequest produces an
 2505     AccessRequestHistory record.
 2506    '''
 2507    __slots__ = [
 2508        'access_request',
 2509        'activity_id',
 2510        'deleted_at',
 2511        'timestamp',
 2512    ]
 2513
 2514    def __init__(
 2515        self,
 2516        access_request=None,
 2517        activity_id=None,
 2518        deleted_at=None,
 2519        timestamp=None,
 2520    ):
 2521        self.access_request = access_request if access_request is not None else None
 2522        '''
 2523         The complete AccessRequest state at this time.
 2524        '''
 2525        self.activity_id = activity_id if activity_id is not None else ''
 2526        '''
 2527         The unique identifier of the Activity that produced this change to the AccessRequest.
 2528         May be empty for some system-initiated updates.
 2529        '''
 2530        self.deleted_at = deleted_at if deleted_at is not None else None
 2531        '''
 2532         If this Workflow was deleted, the time it was deleted.
 2533        '''
 2534        self.timestamp = timestamp if timestamp is not None else None
 2535        '''
 2536         The time at which the AccessRequest state was recorded.
 2537        '''
 2538
 2539    def __repr__(self):
 2540        return '<sdm.AccessRequestHistory ' + \
 2541            'access_request: ' + repr(self.access_request) + ' ' +\
 2542            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2543            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2544            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2545            '>'
 2546
 2547    def to_dict(self):
 2548        return {
 2549            'access_request': self.access_request,
 2550            'activity_id': self.activity_id,
 2551            'deleted_at': self.deleted_at,
 2552            'timestamp': self.timestamp,
 2553        }
 2554
 2555    @classmethod
 2556    def from_dict(cls, d):
 2557        return cls(
 2558            access_request=d.get('access_request'),
 2559            activity_id=d.get('activity_id'),
 2560            deleted_at=d.get('deleted_at'),
 2561            timestamp=d.get('timestamp'),
 2562        )
 2563
 2564
 2565class AccessRequestListRequest:
 2566    '''
 2567         AccessRequestListRequest specifies criteria for retrieving a list of
 2568     AccessRequest records
 2569    '''
 2570    __slots__ = [
 2571        'filter',
 2572    ]
 2573
 2574    def __init__(
 2575        self,
 2576        filter=None,
 2577    ):
 2578        self.filter = filter if filter is not None else ''
 2579        '''
 2580         A human-readable filter query string.
 2581        '''
 2582
 2583    def __repr__(self):
 2584        return '<sdm.AccessRequestListRequest ' + \
 2585            'filter: ' + repr(self.filter) + ' ' +\
 2586            '>'
 2587
 2588    def to_dict(self):
 2589        return {
 2590            'filter': self.filter,
 2591        }
 2592
 2593    @classmethod
 2594    def from_dict(cls, d):
 2595        return cls(filter=d.get('filter'), )
 2596
 2597
 2598class AccessRequestListResponse:
 2599    '''
 2600         AccessRequestListResponse returns a list of access requests records that meet
 2601     the criteria of a AccessRequestListRequest.
 2602    '''
 2603    __slots__ = [
 2604        'rate_limit',
 2605    ]
 2606
 2607    def __init__(
 2608        self,
 2609        rate_limit=None,
 2610    ):
 2611        self.rate_limit = rate_limit if rate_limit is not None else None
 2612        '''
 2613         Rate limit information.
 2614        '''
 2615
 2616    def __repr__(self):
 2617        return '<sdm.AccessRequestListResponse ' + \
 2618            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2619            '>'
 2620
 2621    def to_dict(self):
 2622        return {
 2623            'rate_limit': self.rate_limit,
 2624        }
 2625
 2626    @classmethod
 2627    def from_dict(cls, d):
 2628        return cls(rate_limit=d.get('rate_limit'), )
 2629
 2630
 2631class AccountAttachment:
 2632    '''
 2633         AccountAttachments assign an account to a role.
 2634    '''
 2635    __slots__ = [
 2636        'account_id',
 2637        'id',
 2638        'role_id',
 2639    ]
 2640
 2641    def __init__(
 2642        self,
 2643        account_id=None,
 2644        id=None,
 2645        role_id=None,
 2646    ):
 2647        self.account_id = account_id if account_id is not None else ''
 2648        '''
 2649         The id of the account of this AccountAttachment.
 2650        '''
 2651        self.id = id if id is not None else ''
 2652        '''
 2653         Unique identifier of the AccountAttachment.
 2654        '''
 2655        self.role_id = role_id if role_id is not None else ''
 2656        '''
 2657         The id of the attached role of this AccountAttachment.
 2658        '''
 2659
 2660    def __repr__(self):
 2661        return '<sdm.AccountAttachment ' + \
 2662            'account_id: ' + repr(self.account_id) + ' ' +\
 2663            'id: ' + repr(self.id) + ' ' +\
 2664            'role_id: ' + repr(self.role_id) + ' ' +\
 2665            '>'
 2666
 2667    def to_dict(self):
 2668        return {
 2669            'account_id': self.account_id,
 2670            'id': self.id,
 2671            'role_id': self.role_id,
 2672        }
 2673
 2674    @classmethod
 2675    def from_dict(cls, d):
 2676        return cls(
 2677            account_id=d.get('account_id'),
 2678            id=d.get('id'),
 2679            role_id=d.get('role_id'),
 2680        )
 2681
 2682
 2683class AccountAttachmentCreateResponse:
 2684    '''
 2685         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
 2686    '''
 2687    __slots__ = [
 2688        'account_attachment',
 2689        'meta',
 2690        'rate_limit',
 2691    ]
 2692
 2693    def __init__(
 2694        self,
 2695        account_attachment=None,
 2696        meta=None,
 2697        rate_limit=None,
 2698    ):
 2699        self.account_attachment = account_attachment if account_attachment is not None else None
 2700        '''
 2701         The created AccountAttachment.
 2702        '''
 2703        self.meta = meta if meta is not None else None
 2704        '''
 2705         Reserved for future use.
 2706        '''
 2707        self.rate_limit = rate_limit if rate_limit is not None else None
 2708        '''
 2709         Rate limit information.
 2710        '''
 2711
 2712    def __repr__(self):
 2713        return '<sdm.AccountAttachmentCreateResponse ' + \
 2714            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2715            'meta: ' + repr(self.meta) + ' ' +\
 2716            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2717            '>'
 2718
 2719    def to_dict(self):
 2720        return {
 2721            'account_attachment': self.account_attachment,
 2722            'meta': self.meta,
 2723            'rate_limit': self.rate_limit,
 2724        }
 2725
 2726    @classmethod
 2727    def from_dict(cls, d):
 2728        return cls(
 2729            account_attachment=d.get('account_attachment'),
 2730            meta=d.get('meta'),
 2731            rate_limit=d.get('rate_limit'),
 2732        )
 2733
 2734
 2735class AccountAttachmentDeleteResponse:
 2736    '''
 2737         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
 2738    '''
 2739    __slots__ = [
 2740        'meta',
 2741        'rate_limit',
 2742    ]
 2743
 2744    def __init__(
 2745        self,
 2746        meta=None,
 2747        rate_limit=None,
 2748    ):
 2749        self.meta = meta if meta is not None else None
 2750        '''
 2751         Reserved for future use.
 2752        '''
 2753        self.rate_limit = rate_limit if rate_limit is not None else None
 2754        '''
 2755         Rate limit information.
 2756        '''
 2757
 2758    def __repr__(self):
 2759        return '<sdm.AccountAttachmentDeleteResponse ' + \
 2760            'meta: ' + repr(self.meta) + ' ' +\
 2761            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2762            '>'
 2763
 2764    def to_dict(self):
 2765        return {
 2766            'meta': self.meta,
 2767            'rate_limit': self.rate_limit,
 2768        }
 2769
 2770    @classmethod
 2771    def from_dict(cls, d):
 2772        return cls(
 2773            meta=d.get('meta'),
 2774            rate_limit=d.get('rate_limit'),
 2775        )
 2776
 2777
 2778class AccountAttachmentGetResponse:
 2779    '''
 2780         AccountAttachmentGetResponse returns a requested AccountAttachment.
 2781    '''
 2782    __slots__ = [
 2783        'account_attachment',
 2784        'meta',
 2785        'rate_limit',
 2786    ]
 2787
 2788    def __init__(
 2789        self,
 2790        account_attachment=None,
 2791        meta=None,
 2792        rate_limit=None,
 2793    ):
 2794        self.account_attachment = account_attachment if account_attachment is not None else None
 2795        '''
 2796         The requested AccountAttachment.
 2797        '''
 2798        self.meta = meta if meta is not None else None
 2799        '''
 2800         Reserved for future use.
 2801        '''
 2802        self.rate_limit = rate_limit if rate_limit is not None else None
 2803        '''
 2804         Rate limit information.
 2805        '''
 2806
 2807    def __repr__(self):
 2808        return '<sdm.AccountAttachmentGetResponse ' + \
 2809            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2810            'meta: ' + repr(self.meta) + ' ' +\
 2811            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2812            '>'
 2813
 2814    def to_dict(self):
 2815        return {
 2816            'account_attachment': self.account_attachment,
 2817            'meta': self.meta,
 2818            'rate_limit': self.rate_limit,
 2819        }
 2820
 2821    @classmethod
 2822    def from_dict(cls, d):
 2823        return cls(
 2824            account_attachment=d.get('account_attachment'),
 2825            meta=d.get('meta'),
 2826            rate_limit=d.get('rate_limit'),
 2827        )
 2828
 2829
 2830class AccountAttachmentHistory:
 2831    '''
 2832         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
 2833     where every change (create or delete) to an AccountAttachment produces an
 2834     AccountAttachmentHistory record.
 2835    '''
 2836    __slots__ = [
 2837        'account_attachment',
 2838        'activity_id',
 2839        'deleted_at',
 2840        'timestamp',
 2841    ]
 2842
 2843    def __init__(
 2844        self,
 2845        account_attachment=None,
 2846        activity_id=None,
 2847        deleted_at=None,
 2848        timestamp=None,
 2849    ):
 2850        self.account_attachment = account_attachment if account_attachment is not None else None
 2851        '''
 2852         The complete AccountAttachment state at this time.
 2853        '''
 2854        self.activity_id = activity_id if activity_id is not None else ''
 2855        '''
 2856         The unique identifier of the Activity that produced this change to the AccountAttachment.
 2857         May be empty for some system-initiated updates.
 2858        '''
 2859        self.deleted_at = deleted_at if deleted_at is not None else None
 2860        '''
 2861         If this AccountAttachment was deleted, the time it was deleted.
 2862        '''
 2863        self.timestamp = timestamp if timestamp is not None else None
 2864        '''
 2865         The time at which the AccountAttachment state was recorded.
 2866        '''
 2867
 2868    def __repr__(self):
 2869        return '<sdm.AccountAttachmentHistory ' + \
 2870            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2871            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2872            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2873            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2874            '>'
 2875
 2876    def to_dict(self):
 2877        return {
 2878            'account_attachment': self.account_attachment,
 2879            'activity_id': self.activity_id,
 2880            'deleted_at': self.deleted_at,
 2881            'timestamp': self.timestamp,
 2882        }
 2883
 2884    @classmethod
 2885    def from_dict(cls, d):
 2886        return cls(
 2887            account_attachment=d.get('account_attachment'),
 2888            activity_id=d.get('activity_id'),
 2889            deleted_at=d.get('deleted_at'),
 2890            timestamp=d.get('timestamp'),
 2891        )
 2892
 2893
 2894class AccountCreateResponse:
 2895    '''
 2896         AccountCreateResponse reports how the Accounts were created in the system.
 2897    '''
 2898    __slots__ = [
 2899        'access_key',
 2900        'account',
 2901        'meta',
 2902        'rate_limit',
 2903        'secret_key',
 2904        'token',
 2905    ]
 2906
 2907    def __init__(
 2908        self,
 2909        access_key=None,
 2910        account=None,
 2911        meta=None,
 2912        rate_limit=None,
 2913        secret_key=None,
 2914        token=None,
 2915    ):
 2916        self.access_key = access_key if access_key is not None else ''
 2917        '''
 2918         ID part of the API key.
 2919        '''
 2920        self.account = account if account is not None else None
 2921        '''
 2922         The created Account.
 2923        '''
 2924        self.meta = meta if meta is not None else None
 2925        '''
 2926         Reserved for future use.
 2927        '''
 2928        self.rate_limit = rate_limit if rate_limit is not None else None
 2929        '''
 2930         Rate limit information.
 2931        '''
 2932        self.secret_key = secret_key if secret_key is not None else ''
 2933        '''
 2934         Secret part of the API key.
 2935        '''
 2936        self.token = token if token is not None else ''
 2937        '''
 2938         The auth token generated for the Account. The Account will use this token to
 2939         authenticate with the strongDM API.
 2940        '''
 2941
 2942    def __repr__(self):
 2943        return '<sdm.AccountCreateResponse ' + \
 2944            'access_key: ' + repr(self.access_key) + ' ' +\
 2945            'account: ' + repr(self.account) + ' ' +\
 2946            'meta: ' + repr(self.meta) + ' ' +\
 2947            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2948            'secret_key: ' + repr(self.secret_key) + ' ' +\
 2949            'token: ' + repr(self.token) + ' ' +\
 2950            '>'
 2951
 2952    def to_dict(self):
 2953        return {
 2954            'access_key': self.access_key,
 2955            'account': self.account,
 2956            'meta': self.meta,
 2957            'rate_limit': self.rate_limit,
 2958            'secret_key': self.secret_key,
 2959            'token': self.token,
 2960        }
 2961
 2962    @classmethod
 2963    def from_dict(cls, d):
 2964        return cls(
 2965            access_key=d.get('access_key'),
 2966            account=d.get('account'),
 2967            meta=d.get('meta'),
 2968            rate_limit=d.get('rate_limit'),
 2969            secret_key=d.get('secret_key'),
 2970            token=d.get('token'),
 2971        )
 2972
 2973
 2974class AccountDeleteResponse:
 2975    '''
 2976         AccountDeleteResponse returns information about a Account that was deleted.
 2977    '''
 2978    __slots__ = [
 2979        'meta',
 2980        'rate_limit',
 2981    ]
 2982
 2983    def __init__(
 2984        self,
 2985        meta=None,
 2986        rate_limit=None,
 2987    ):
 2988        self.meta = meta if meta is not None else None
 2989        '''
 2990         Reserved for future use.
 2991        '''
 2992        self.rate_limit = rate_limit if rate_limit is not None else None
 2993        '''
 2994         Rate limit information.
 2995        '''
 2996
 2997    def __repr__(self):
 2998        return '<sdm.AccountDeleteResponse ' + \
 2999            'meta: ' + repr(self.meta) + ' ' +\
 3000            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3001            '>'
 3002
 3003    def to_dict(self):
 3004        return {
 3005            'meta': self.meta,
 3006            'rate_limit': self.rate_limit,
 3007        }
 3008
 3009    @classmethod
 3010    def from_dict(cls, d):
 3011        return cls(
 3012            meta=d.get('meta'),
 3013            rate_limit=d.get('rate_limit'),
 3014        )
 3015
 3016
 3017class AccountGetResponse:
 3018    '''
 3019         AccountGetResponse returns a requested Account.
 3020    '''
 3021    __slots__ = [
 3022        'account',
 3023        'meta',
 3024        'rate_limit',
 3025    ]
 3026
 3027    def __init__(
 3028        self,
 3029        account=None,
 3030        meta=None,
 3031        rate_limit=None,
 3032    ):
 3033        self.account = account if account is not None else None
 3034        '''
 3035         The requested Account.
 3036        '''
 3037        self.meta = meta if meta is not None else None
 3038        '''
 3039         Reserved for future use.
 3040        '''
 3041        self.rate_limit = rate_limit if rate_limit is not None else None
 3042        '''
 3043         Rate limit information.
 3044        '''
 3045
 3046    def __repr__(self):
 3047        return '<sdm.AccountGetResponse ' + \
 3048            'account: ' + repr(self.account) + ' ' +\
 3049            'meta: ' + repr(self.meta) + ' ' +\
 3050            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3051            '>'
 3052
 3053    def to_dict(self):
 3054        return {
 3055            'account': self.account,
 3056            'meta': self.meta,
 3057            'rate_limit': self.rate_limit,
 3058        }
 3059
 3060    @classmethod
 3061    def from_dict(cls, d):
 3062        return cls(
 3063            account=d.get('account'),
 3064            meta=d.get('meta'),
 3065            rate_limit=d.get('rate_limit'),
 3066        )
 3067
 3068
 3069class AccountGrant:
 3070    '''
 3071         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
 3072    '''
 3073    __slots__ = [
 3074        'access_request_id',
 3075        'access_rule',
 3076        'account_id',
 3077        'id',
 3078        'resource_id',
 3079        'start_from',
 3080        'valid_until',
 3081    ]
 3082
 3083    def __init__(
 3084        self,
 3085        access_request_id=None,
 3086        access_rule=None,
 3087        account_id=None,
 3088        id=None,
 3089        resource_id=None,
 3090        start_from=None,
 3091        valid_until=None,
 3092    ):
 3093        self.access_request_id = access_request_id if access_request_id is not None else ''
 3094        '''
 3095         The access request ID that created this AccountGrant, if any.
 3096        '''
 3097        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
 3098        )
 3099        '''
 3100         The access rule associated with this AccountGrant.
 3101        '''
 3102        self.account_id = account_id if account_id is not None else ''
 3103        '''
 3104         The account ID of this AccountGrant.
 3105        '''
 3106        self.id = id if id is not None else ''
 3107        '''
 3108         Unique identifier of the AccountGrant.
 3109        '''
 3110        self.resource_id = resource_id if resource_id is not None else ''
 3111        '''
 3112         The resource ID of this AccountGrant.
 3113        '''
 3114        self.start_from = start_from if start_from is not None else None
 3115        '''
 3116         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
 3117        '''
 3118        self.valid_until = valid_until if valid_until is not None else None
 3119        '''
 3120         The timestamp when the resource grant will expire.
 3121        '''
 3122
 3123    def __repr__(self):
 3124        return '<sdm.AccountGrant ' + \
 3125            'access_request_id: ' + repr(self.access_request_id) + ' ' +\
 3126            'access_rule: ' + repr(self.access_rule) + ' ' +\
 3127            'account_id: ' + repr(self.account_id) + ' ' +\
 3128            'id: ' + repr(self.id) + ' ' +\
 3129            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3130            'start_from: ' + repr(self.start_from) + ' ' +\
 3131            'valid_until: ' + repr(self.valid_until) + ' ' +\
 3132            '>'
 3133
 3134    def to_dict(self):
 3135        return {
 3136            'access_request_id': self.access_request_id,
 3137            'access_rule': self.access_rule,
 3138            'account_id': self.account_id,
 3139            'id': self.id,
 3140            'resource_id': self.resource_id,
 3141            'start_from': self.start_from,
 3142            'valid_until': self.valid_until,
 3143        }
 3144
 3145    @classmethod
 3146    def from_dict(cls, d):
 3147        return cls(
 3148            access_request_id=d.get('access_request_id'),
 3149            access_rule=d.get('access_rule'),
 3150            account_id=d.get('account_id'),
 3151            id=d.get('id'),
 3152            resource_id=d.get('resource_id'),
 3153            start_from=d.get('start_from'),
 3154            valid_until=d.get('valid_until'),
 3155        )
 3156
 3157
 3158class AccountGrantCreateResponse:
 3159    '''
 3160         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 3161    '''
 3162    __slots__ = [
 3163        'account_grant',
 3164        'meta',
 3165        'rate_limit',
 3166    ]
 3167
 3168    def __init__(
 3169        self,
 3170        account_grant=None,
 3171        meta=None,
 3172        rate_limit=None,
 3173    ):
 3174        self.account_grant = account_grant if account_grant is not None else None
 3175        '''
 3176         The created AccountGrant.
 3177        '''
 3178        self.meta = meta if meta is not None else None
 3179        '''
 3180         Reserved for future use.
 3181        '''
 3182        self.rate_limit = rate_limit if rate_limit is not None else None
 3183        '''
 3184         Rate limit information.
 3185        '''
 3186
 3187    def __repr__(self):
 3188        return '<sdm.AccountGrantCreateResponse ' + \
 3189            'account_grant: ' + repr(self.account_grant) + ' ' +\
 3190            'meta: ' + repr(self.meta) + ' ' +\
 3191            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3192            '>'
 3193
 3194    def to_dict(self):
 3195        return {
 3196            'account_grant': self.account_grant,
 3197            'meta': self.meta,
 3198            'rate_limit': self.rate_limit,
 3199        }
 3200
 3201    @classmethod
 3202    def from_dict(cls, d):
 3203        return cls(
 3204            account_grant=d.get('account_grant'),
 3205            meta=d.get('meta'),
 3206            rate_limit=d.get('rate_limit'),
 3207        )
 3208
 3209
 3210class AccountGrantDeleteResponse:
 3211    '''
 3212         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 3213    '''
 3214    __slots__ = [
 3215        'meta',
 3216        'rate_limit',
 3217    ]
 3218
 3219    def __init__(
 3220        self,
 3221        meta=None,
 3222        rate_limit=None,
 3223    ):
 3224        self.meta = meta if meta is not None else None
 3225        '''
 3226         Reserved for future use.
 3227        '''
 3228        self.rate_limit = rate_limit if rate_limit is not None else None
 3229        '''
 3230         Rate limit information.
 3231        '''
 3232
 3233    def __repr__(self):
 3234        return '<sdm.AccountGrantDeleteResponse ' + \
 3235            'meta: ' + repr(self.meta) + ' ' +\
 3236            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3237            '>'
 3238
 3239    def to_dict(self):
 3240        return {
 3241            'meta': self.meta,
 3242            'rate_limit': self.rate_limit,
 3243        }
 3244
 3245    @classmethod
 3246    def from_dict(cls, d):
 3247        return cls(
 3248            meta=d.get('meta'),
 3249            rate_limit=d.get('rate_limit'),
 3250        )
 3251
 3252
 3253class AccountGrantGetResponse:
 3254    '''
 3255         AccountGrantGetResponse returns a requested AccountGrant.
 3256    '''
 3257    __slots__ = [
 3258        'account_grant',
 3259        'meta',
 3260        'rate_limit',
 3261    ]
 3262
 3263    def __init__(
 3264        self,
 3265        account_grant=None,
 3266        meta=None,
 3267        rate_limit=None,
 3268    ):
 3269        self.account_grant = account_grant if account_grant is not None else None
 3270        '''
 3271         The requested AccountGrant.
 3272        '''
 3273        self.meta = meta if meta is not None else None
 3274        '''
 3275         Reserved for future use.
 3276        '''
 3277        self.rate_limit = rate_limit if rate_limit is not None else None
 3278        '''
 3279         Rate limit information.
 3280        '''
 3281
 3282    def __repr__(self):
 3283        return '<sdm.AccountGrantGetResponse ' + \
 3284            'account_grant: ' + repr(self.account_grant) + ' ' +\
 3285            'meta: ' + repr(self.meta) + ' ' +\
 3286            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3287            '>'
 3288
 3289    def to_dict(self):
 3290        return {
 3291            'account_grant': self.account_grant,
 3292            'meta': self.meta,
 3293            'rate_limit': self.rate_limit,
 3294        }
 3295
 3296    @classmethod
 3297    def from_dict(cls, d):
 3298        return cls(
 3299            account_grant=d.get('account_grant'),
 3300            meta=d.get('meta'),
 3301            rate_limit=d.get('rate_limit'),
 3302        )
 3303
 3304
 3305class AccountGrantHistory:
 3306    '''
 3307         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 3308     where every change (create or delete) to an AccountGrant produces an
 3309     AccountGrantHistory record.
 3310    '''
 3311    __slots__ = [
 3312        'account_grant',
 3313        'activity_id',
 3314        'deleted_at',
 3315        'timestamp',
 3316    ]
 3317
 3318    def __init__(
 3319        self,
 3320        account_grant=None,
 3321        activity_id=None,
 3322        deleted_at=None,
 3323        timestamp=None,
 3324    ):
 3325        self.account_grant = account_grant if account_grant is not None else None
 3326        '''
 3327         The complete AccountGrant state at this time.
 3328        '''
 3329        self.activity_id = activity_id if activity_id is not None else ''
 3330        '''
 3331         The unique identifier of the Activity that produced this change to the AccountGrant.
 3332         May be empty for some system-initiated updates.
 3333        '''
 3334        self.deleted_at = deleted_at if deleted_at is not None else None
 3335        '''
 3336         If this AccountGrant was deleted, the time it was deleted.
 3337        '''
 3338        self.timestamp = timestamp if timestamp is not None else None
 3339        '''
 3340         The time at which the AccountGrant state was recorded.
 3341        '''
 3342
 3343    def __repr__(self):
 3344        return '<sdm.AccountGrantHistory ' + \
 3345            'account_grant: ' + repr(self.account_grant) + ' ' +\
 3346            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3347            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3348            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3349            '>'
 3350
 3351    def to_dict(self):
 3352        return {
 3353            'account_grant': self.account_grant,
 3354            'activity_id': self.activity_id,
 3355            'deleted_at': self.deleted_at,
 3356            'timestamp': self.timestamp,
 3357        }
 3358
 3359    @classmethod
 3360    def from_dict(cls, d):
 3361        return cls(
 3362            account_grant=d.get('account_grant'),
 3363            activity_id=d.get('activity_id'),
 3364            deleted_at=d.get('deleted_at'),
 3365            timestamp=d.get('timestamp'),
 3366        )
 3367
 3368
 3369class AccountGroup:
 3370    '''
 3371         An AccountGroup is a link between an Account and a Group.
 3372    '''
 3373    __slots__ = [
 3374        'account_id',
 3375        'group_id',
 3376        'id',
 3377    ]
 3378
 3379    def __init__(
 3380        self,
 3381        account_id=None,
 3382        group_id=None,
 3383        id=None,
 3384    ):
 3385        self.account_id = account_id if account_id is not None else ''
 3386        '''
 3387         Unique identifier of the Account.
 3388        '''
 3389        self.group_id = group_id if group_id is not None else ''
 3390        '''
 3391         Unique identifier of the Group.
 3392        '''
 3393        self.id = id if id is not None else ''
 3394        '''
 3395         Unique identifier of the AccountGroup.
 3396        '''
 3397
 3398    def __repr__(self):
 3399        return '<sdm.AccountGroup ' + \
 3400            'account_id: ' + repr(self.account_id) + ' ' +\
 3401            'group_id: ' + repr(self.group_id) + ' ' +\
 3402            'id: ' + repr(self.id) + ' ' +\
 3403            '>'
 3404
 3405    def to_dict(self):
 3406        return {
 3407            'account_id': self.account_id,
 3408            'group_id': self.group_id,
 3409            'id': self.id,
 3410        }
 3411
 3412    @classmethod
 3413    def from_dict(cls, d):
 3414        return cls(
 3415            account_id=d.get('account_id'),
 3416            group_id=d.get('group_id'),
 3417            id=d.get('id'),
 3418        )
 3419
 3420
 3421class AccountGroupCreateRequest:
 3422    '''
 3423         AccountGroupCreateRequest specifies an AccountGroup to create.
 3424    '''
 3425    __slots__ = [
 3426        'account_group',
 3427    ]
 3428
 3429    def __init__(
 3430        self,
 3431        account_group=None,
 3432    ):
 3433        self.account_group = account_group if account_group is not None else None
 3434        '''
 3435         Parameters to define the new AccountGroup.
 3436        '''
 3437
 3438    def __repr__(self):
 3439        return '<sdm.AccountGroupCreateRequest ' + \
 3440            'account_group: ' + repr(self.account_group) + ' ' +\
 3441            '>'
 3442
 3443    def to_dict(self):
 3444        return {
 3445            'account_group': self.account_group,
 3446        }
 3447
 3448    @classmethod
 3449    def from_dict(cls, d):
 3450        return cls(account_group=d.get('account_group'), )
 3451
 3452
 3453class AccountGroupCreateResponse:
 3454    '''
 3455         AccountGroupCreateResponse reports the result of a create.
 3456    '''
 3457    __slots__ = [
 3458        'account_group',
 3459        'rate_limit',
 3460    ]
 3461
 3462    def __init__(
 3463        self,
 3464        account_group=None,
 3465        rate_limit=None,
 3466    ):
 3467        self.account_group = account_group if account_group is not None else None
 3468        '''
 3469         The created AccountGroup.
 3470        '''
 3471        self.rate_limit = rate_limit if rate_limit is not None else None
 3472        '''
 3473         Rate limit information.
 3474        '''
 3475
 3476    def __repr__(self):
 3477        return '<sdm.AccountGroupCreateResponse ' + \
 3478            'account_group: ' + repr(self.account_group) + ' ' +\
 3479            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3480            '>'
 3481
 3482    def to_dict(self):
 3483        return {
 3484            'account_group': self.account_group,
 3485            'rate_limit': self.rate_limit,
 3486        }
 3487
 3488    @classmethod
 3489    def from_dict(cls, d):
 3490        return cls(
 3491            account_group=d.get('account_group'),
 3492            rate_limit=d.get('rate_limit'),
 3493        )
 3494
 3495
 3496class AccountGroupDeleteRequest:
 3497    '''
 3498         GroupDeleteRequest identifies an AccountGroup by ID to delete.
 3499    '''
 3500    __slots__ = [
 3501        'id',
 3502    ]
 3503
 3504    def __init__(
 3505        self,
 3506        id=None,
 3507    ):
 3508        self.id = id if id is not None else ''
 3509        '''
 3510         The unique identifier of the group to delete.
 3511        '''
 3512
 3513    def __repr__(self):
 3514        return '<sdm.AccountGroupDeleteRequest ' + \
 3515            'id: ' + repr(self.id) + ' ' +\
 3516            '>'
 3517
 3518    def to_dict(self):
 3519        return {
 3520            'id': self.id,
 3521        }
 3522
 3523    @classmethod
 3524    def from_dict(cls, d):
 3525        return cls(id=d.get('id'), )
 3526
 3527
 3528class AccountGroupDeleteResponse:
 3529    '''
 3530         GroupDeleteResponse returns information about an AccountGroup that was deleted.
 3531    '''
 3532    __slots__ = [
 3533        'meta',
 3534        'rate_limit',
 3535    ]
 3536
 3537    def __init__(
 3538        self,
 3539        meta=None,
 3540        rate_limit=None,
 3541    ):
 3542        self.meta = meta if meta is not None else None
 3543        '''
 3544         Reserved for future use.
 3545        '''
 3546        self.rate_limit = rate_limit if rate_limit is not None else None
 3547        '''
 3548         Rate limit information.
 3549        '''
 3550
 3551    def __repr__(self):
 3552        return '<sdm.AccountGroupDeleteResponse ' + \
 3553            'meta: ' + repr(self.meta) + ' ' +\
 3554            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3555            '>'
 3556
 3557    def to_dict(self):
 3558        return {
 3559            'meta': self.meta,
 3560            'rate_limit': self.rate_limit,
 3561        }
 3562
 3563    @classmethod
 3564    def from_dict(cls, d):
 3565        return cls(
 3566            meta=d.get('meta'),
 3567            rate_limit=d.get('rate_limit'),
 3568        )
 3569
 3570
 3571class AccountGroupGetRequest:
 3572    '''
 3573         AccountGroupGetRequest specifies which AccountGroup to retrieve.
 3574    '''
 3575    __slots__ = [
 3576        'id',
 3577    ]
 3578
 3579    def __init__(
 3580        self,
 3581        id=None,
 3582    ):
 3583        self.id = id if id is not None else ''
 3584        '''
 3585         The unique identifier of the AccountGroup to retrieve.
 3586        '''
 3587
 3588    def __repr__(self):
 3589        return '<sdm.AccountGroupGetRequest ' + \
 3590            'id: ' + repr(self.id) + ' ' +\
 3591            '>'
 3592
 3593    def to_dict(self):
 3594        return {
 3595            'id': self.id,
 3596        }
 3597
 3598    @classmethod
 3599    def from_dict(cls, d):
 3600        return cls(id=d.get('id'), )
 3601
 3602
 3603class AccountGroupGetResponse:
 3604    '''
 3605         AccountGroupGetResponse returns a requested AccountGroup.
 3606    '''
 3607    __slots__ = [
 3608        'account_group',
 3609        'meta',
 3610        'rate_limit',
 3611    ]
 3612
 3613    def __init__(
 3614        self,
 3615        account_group=None,
 3616        meta=None,
 3617        rate_limit=None,
 3618    ):
 3619        self.account_group = account_group if account_group is not None else None
 3620        '''
 3621         The requested AccountGroup.
 3622        '''
 3623        self.meta = meta if meta is not None else None
 3624        '''
 3625         Reserved for future use.
 3626        '''
 3627        self.rate_limit = rate_limit if rate_limit is not None else None
 3628        '''
 3629         Rate limit information.
 3630        '''
 3631
 3632    def __repr__(self):
 3633        return '<sdm.AccountGroupGetResponse ' + \
 3634            'account_group: ' + repr(self.account_group) + ' ' +\
 3635            'meta: ' + repr(self.meta) + ' ' +\
 3636            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3637            '>'
 3638
 3639    def to_dict(self):
 3640        return {
 3641            'account_group': self.account_group,
 3642            'meta': self.meta,
 3643            'rate_limit': self.rate_limit,
 3644        }
 3645
 3646    @classmethod
 3647    def from_dict(cls, d):
 3648        return cls(
 3649            account_group=d.get('account_group'),
 3650            meta=d.get('meta'),
 3651            rate_limit=d.get('rate_limit'),
 3652        )
 3653
 3654
 3655class AccountGroupHistory:
 3656    '''
 3657         AccountGroupHistory records the state of an AccountGroup at a given point in time,
 3658     where every change (create, update and delete) to an AccountGroup produces an
 3659     AccountGroupHistory record.
 3660    '''
 3661    __slots__ = [
 3662        'account_group',
 3663        'activity_id',
 3664        'deleted_at',
 3665        'timestamp',
 3666    ]
 3667
 3668    def __init__(
 3669        self,
 3670        account_group=None,
 3671        activity_id=None,
 3672        deleted_at=None,
 3673        timestamp=None,
 3674    ):
 3675        self.account_group = account_group if account_group is not None else None
 3676        '''
 3677         The complete AccountGroup state at this time.
 3678        '''
 3679        self.activity_id = activity_id if activity_id is not None else ''
 3680        '''
 3681         The unique identifier of the Activity that produced this change to the AccountGroup.
 3682         May be empty for some system-initiated updates.
 3683        '''
 3684        self.deleted_at = deleted_at if deleted_at is not None else None
 3685        '''
 3686         If this AccountGroup was deleted, the time it was deleted.
 3687        '''
 3688        self.timestamp = timestamp if timestamp is not None else None
 3689        '''
 3690         The time at which the AccountGroup state was recorded.
 3691        '''
 3692
 3693    def __repr__(self):
 3694        return '<sdm.AccountGroupHistory ' + \
 3695            'account_group: ' + repr(self.account_group) + ' ' +\
 3696            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3697            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3698            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3699            '>'
 3700
 3701    def to_dict(self):
 3702        return {
 3703            'account_group': self.account_group,
 3704            'activity_id': self.activity_id,
 3705            'deleted_at': self.deleted_at,
 3706            'timestamp': self.timestamp,
 3707        }
 3708
 3709    @classmethod
 3710    def from_dict(cls, d):
 3711        return cls(
 3712            account_group=d.get('account_group'),
 3713            activity_id=d.get('activity_id'),
 3714            deleted_at=d.get('deleted_at'),
 3715            timestamp=d.get('timestamp'),
 3716        )
 3717
 3718
 3719class AccountGroupListRequest:
 3720    '''
 3721         GroupListRequest specifies criteria for retrieving a list of groups.
 3722    '''
 3723    __slots__ = [
 3724        'filter',
 3725    ]
 3726
 3727    def __init__(
 3728        self,
 3729        filter=None,
 3730    ):
 3731        self.filter = filter if filter is not None else ''
 3732        '''
 3733         A human-readable filter query string.
 3734        '''
 3735
 3736    def __repr__(self):
 3737        return '<sdm.AccountGroupListRequest ' + \
 3738            'filter: ' + repr(self.filter) + ' ' +\
 3739            '>'
 3740
 3741    def to_dict(self):
 3742        return {
 3743            'filter': self.filter,
 3744        }
 3745
 3746    @classmethod
 3747    def from_dict(cls, d):
 3748        return cls(filter=d.get('filter'), )
 3749
 3750
 3751class AccountGroupListResponse:
 3752    '''
 3753         GroupListResponse returns a list of groups that meet the criteria of a
 3754     GroupListRequest.
 3755    '''
 3756    __slots__ = [
 3757        'rate_limit',
 3758    ]
 3759
 3760    def __init__(
 3761        self,
 3762        rate_limit=None,
 3763    ):
 3764        self.rate_limit = rate_limit if rate_limit is not None else None
 3765        '''
 3766         Rate limit information.
 3767        '''
 3768
 3769    def __repr__(self):
 3770        return '<sdm.AccountGroupListResponse ' + \
 3771            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3772            '>'
 3773
 3774    def to_dict(self):
 3775        return {
 3776            'rate_limit': self.rate_limit,
 3777        }
 3778
 3779    @classmethod
 3780    def from_dict(cls, d):
 3781        return cls(rate_limit=d.get('rate_limit'), )
 3782
 3783
 3784class AccountHistory:
 3785    '''
 3786         AccountHistory records the state of an Account at a given point in time,
 3787     where every change (create, update and delete) to an Account produces an
 3788     AccountHistory record.
 3789    '''
 3790    __slots__ = [
 3791        'account',
 3792        'activity_id',
 3793        'deleted_at',
 3794        'timestamp',
 3795    ]
 3796
 3797    def __init__(
 3798        self,
 3799        account=None,
 3800        activity_id=None,
 3801        deleted_at=None,
 3802        timestamp=None,
 3803    ):
 3804        self.account = account if account is not None else None
 3805        '''
 3806         The complete Account state at this time.
 3807        '''
 3808        self.activity_id = activity_id if activity_id is not None else ''
 3809        '''
 3810         The unique identifier of the Activity that produced this change to the Account.
 3811         May be empty for some system-initiated updates.
 3812        '''
 3813        self.deleted_at = deleted_at if deleted_at is not None else None
 3814        '''
 3815         If this Account was deleted, the time it was deleted.
 3816        '''
 3817        self.timestamp = timestamp if timestamp is not None else None
 3818        '''
 3819         The time at which the Account state was recorded.
 3820        '''
 3821
 3822    def __repr__(self):
 3823        return '<sdm.AccountHistory ' + \
 3824            'account: ' + repr(self.account) + ' ' +\
 3825            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3826            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3827            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3828            '>'
 3829
 3830    def to_dict(self):
 3831        return {
 3832            'account': self.account,
 3833            'activity_id': self.activity_id,
 3834            'deleted_at': self.deleted_at,
 3835            'timestamp': self.timestamp,
 3836        }
 3837
 3838    @classmethod
 3839    def from_dict(cls, d):
 3840        return cls(
 3841            account=d.get('account'),
 3842            activity_id=d.get('activity_id'),
 3843            deleted_at=d.get('deleted_at'),
 3844            timestamp=d.get('timestamp'),
 3845        )
 3846
 3847
 3848class AccountPermission:
 3849    '''
 3850         AccountPermission represents an individual API action available to an account.
 3851    '''
 3852    __slots__ = [
 3853        'account_id',
 3854        'granted_at',
 3855        'permission',
 3856        'scope',
 3857        'scoped_id',
 3858    ]
 3859
 3860    def __init__(
 3861        self,
 3862        account_id=None,
 3863        granted_at=None,
 3864        permission=None,
 3865        scope=None,
 3866        scoped_id=None,
 3867    ):
 3868        self.account_id = account_id if account_id is not None else ''
 3869        '''
 3870         The unique identifier of the Account this permission belongs to.
 3871        '''
 3872        self.granted_at = granted_at if granted_at is not None else None
 3873        '''
 3874         The most recent time at which the permission was granted. If a permission was
 3875         granted, revoked, and granted again, this will reflect the later time.
 3876        '''
 3877        self.permission = permission if permission is not None else ''
 3878        '''
 3879         The value of this permission, split into vertical and action, one of the Permission constants.
 3880        '''
 3881        self.scope = scope if scope is not None else ''
 3882        '''
 3883         The scope of this permission. A global scope means this action can be taken
 3884         on any entity; otherwise the action can only be taken on or in the scope of
 3885         the scoped id.
 3886        '''
 3887        self.scoped_id = scoped_id if scoped_id is not None else ''
 3888        '''
 3889         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3890         role that a team leader has the abillity to remove and add accounts to, or the
 3891         ID of a resource that a user has the permission to connect to. If Scope is global,
 3892         scoped id is not populated.
 3893        '''
 3894
 3895    def __repr__(self):
 3896        return '<sdm.AccountPermission ' + \
 3897            'account_id: ' + repr(self.account_id) + ' ' +\
 3898            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3899            'permission: ' + repr(self.permission) + ' ' +\
 3900            'scope: ' + repr(self.scope) + ' ' +\
 3901            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3902            '>'
 3903
 3904    def to_dict(self):
 3905        return {
 3906            'account_id': self.account_id,
 3907            'granted_at': self.granted_at,
 3908            'permission': self.permission,
 3909            'scope': self.scope,
 3910            'scoped_id': self.scoped_id,
 3911        }
 3912
 3913    @classmethod
 3914    def from_dict(cls, d):
 3915        return cls(
 3916            account_id=d.get('account_id'),
 3917            granted_at=d.get('granted_at'),
 3918            permission=d.get('permission'),
 3919            scope=d.get('scope'),
 3920            scoped_id=d.get('scoped_id'),
 3921        )
 3922
 3923
 3924class AccountResource:
 3925    '''
 3926         AccountResource represents an individual access grant of a Account to a Resource.
 3927    '''
 3928    __slots__ = [
 3929        'account_grant_id',
 3930        'account_id',
 3931        'created_at',
 3932        'expires_at',
 3933        'granted_at',
 3934        'resource_id',
 3935        'role_id',
 3936    ]
 3937
 3938    def __init__(
 3939        self,
 3940        account_grant_id=None,
 3941        account_id=None,
 3942        created_at=None,
 3943        expires_at=None,
 3944        granted_at=None,
 3945        resource_id=None,
 3946        role_id=None,
 3947    ):
 3948        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3949        '''
 3950         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3951         If empty, access was not granted through an AccountGrant.
 3952        '''
 3953        self.account_id = account_id if account_id is not None else ''
 3954        '''
 3955         The unique identifier of the Account to which access is granted.
 3956        '''
 3957        self.created_at = created_at if created_at is not None else None
 3958        '''
 3959         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3960         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3961        '''
 3962        self.expires_at = expires_at if expires_at is not None else None
 3963        '''
 3964         The time at which access will expire. If empty, this access has no expiration.
 3965        '''
 3966        self.granted_at = granted_at if granted_at is not None else None
 3967        '''
 3968         The most recent time at which access was granted. If access was granted,
 3969         revoked, and granted again, this will reflect the later time.
 3970        '''
 3971        self.resource_id = resource_id if resource_id is not None else ''
 3972        '''
 3973         The unique identifier of the Resource to which access is granted.
 3974        '''
 3975        self.role_id = role_id if role_id is not None else ''
 3976        '''
 3977         The unique identifier of the Role through which the Account was granted access to the Resource.
 3978         If empty, access was not granted through an AccountAttachment to a Role.
 3979        '''
 3980
 3981    def __repr__(self):
 3982        return '<sdm.AccountResource ' + \
 3983            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3984            'account_id: ' + repr(self.account_id) + ' ' +\
 3985            'created_at: ' + repr(self.created_at) + ' ' +\
 3986            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3987            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3988            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3989            'role_id: ' + repr(self.role_id) + ' ' +\
 3990            '>'
 3991
 3992    def to_dict(self):
 3993        return {
 3994            'account_grant_id': self.account_grant_id,
 3995            'account_id': self.account_id,
 3996            'created_at': self.created_at,
 3997            'expires_at': self.expires_at,
 3998            'granted_at': self.granted_at,
 3999            'resource_id': self.resource_id,
 4000            'role_id': self.role_id,
 4001        }
 4002
 4003    @classmethod
 4004    def from_dict(cls, d):
 4005        return cls(
 4006            account_grant_id=d.get('account_grant_id'),
 4007            account_id=d.get('account_id'),
 4008            created_at=d.get('created_at'),
 4009            expires_at=d.get('expires_at'),
 4010            granted_at=d.get('granted_at'),
 4011            resource_id=d.get('resource_id'),
 4012            role_id=d.get('role_id'),
 4013        )
 4014
 4015
 4016class AccountResourceHistory:
 4017    '''
 4018         AccountResourceHistory records the state of a AccountResource at a given point in time,
 4019     where every change (create or delete) to a AccountResource produces an
 4020     AccountResourceHistory record.
 4021    '''
 4022    __slots__ = [
 4023        'account_resource',
 4024        'activity_id',
 4025        'deleted_at',
 4026        'timestamp',
 4027    ]
 4028
 4029    def __init__(
 4030        self,
 4031        account_resource=None,
 4032        activity_id=None,
 4033        deleted_at=None,
 4034        timestamp=None,
 4035    ):
 4036        self.account_resource = account_resource if account_resource is not None else None
 4037        '''
 4038         The complete AccountResource state at this time.
 4039        '''
 4040        self.activity_id = activity_id if activity_id is not None else ''
 4041        '''
 4042         The unique identifier of the Activity that produced this change to the AccountResource.
 4043         May be empty for some system-initiated updates.
 4044        '''
 4045        self.deleted_at = deleted_at if deleted_at is not None else None
 4046        '''
 4047         If this AccountResource was deleted, the time it was deleted.
 4048        '''
 4049        self.timestamp = timestamp if timestamp is not None else None
 4050        '''
 4051         The time at which the AccountResource state was recorded.
 4052        '''
 4053
 4054    def __repr__(self):
 4055        return '<sdm.AccountResourceHistory ' + \
 4056            'account_resource: ' + repr(self.account_resource) + ' ' +\
 4057            'activity_id: ' + repr(self.activity_id) + ' ' +\
 4058            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 4059            'timestamp: ' + repr(self.timestamp) + ' ' +\
 4060            '>'
 4061
 4062    def to_dict(self):
 4063        return {
 4064            'account_resource': self.account_resource,
 4065            'activity_id': self.activity_id,
 4066            'deleted_at': self.deleted_at,
 4067            'timestamp': self.timestamp,
 4068        }
 4069
 4070    @classmethod
 4071    def from_dict(cls, d):
 4072        return cls(
 4073            account_resource=d.get('account_resource'),
 4074            activity_id=d.get('activity_id'),
 4075            deleted_at=d.get('deleted_at'),
 4076            timestamp=d.get('timestamp'),
 4077        )
 4078
 4079
 4080class AccountUpdateResponse:
 4081    '''
 4082         AccountUpdateResponse returns the fields of a Account after it has been updated by
 4083     a AccountUpdateRequest.
 4084    '''
 4085    __slots__ = [
 4086        'account',
 4087        'meta',
 4088        'rate_limit',
 4089    ]
 4090
 4091    def __init__(
 4092        self,
 4093        account=None,
 4094        meta=None,
 4095        rate_limit=None,
 4096    ):
 4097        self.account = account if account is not None else None
 4098        '''
 4099         The updated Account.
 4100        '''
 4101        self.meta = meta if meta is not None else None
 4102        '''
 4103         Reserved for future use.
 4104        '''
 4105        self.rate_limit = rate_limit if rate_limit is not None else None
 4106        '''
 4107         Rate limit information.
 4108        '''
 4109
 4110    def __repr__(self):
 4111        return '<sdm.AccountUpdateResponse ' + \
 4112            'account: ' + repr(self.account) + ' ' +\
 4113            'meta: ' + repr(self.meta) + ' ' +\
 4114            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 4115            '>'
 4116
 4117    def to_dict(self):
 4118        return {
 4119            'account': self.account,
 4120            'meta': self.meta,
 4121            'rate_limit': self.rate_limit,
 4122        }
 4123
 4124    @classmethod
 4125    def from_dict(cls, d):
 4126        return cls(
 4127            account=d.get('account'),
 4128            meta=d.get('meta'),
 4129            rate_limit=d.get('rate_limit'),
 4130        )
 4131
 4132
 4133class ActiveDirectoryEngine:
 4134    __slots__ = [
 4135        'after_read_ttl',
 4136        'binddn',
 4137        'bindpass',
 4138        'certificate',
 4139        'connection_timeout',
 4140        'do_not_validate_timestamps',
 4141        'id',
 4142        'insecure_tls',
 4143        'key_rotation_interval_days',
 4144        'max_backoff_duration',
 4145        'name',
 4146        'node_selector',
 4147        'policy',
 4148        'public_key',
 4149        'request_timeout',
 4150        'secret_store_id',
 4151        'secret_store_root_path',
 4152        'start_tls',
 4153        'tags',
 4154        'ttl',
 4155        'upndomain',
 4156        'url',
 4157        'userdn',
 4158    ]
 4159
 4160    def __init__(
 4161        self,
 4162        after_read_ttl=None,
 4163        binddn=None,
 4164        bindpass=None,
 4165        certificate=None,
 4166        connection_timeout=None,
 4167        do_not_validate_timestamps=None,
 4168        id=None,
 4169        insecure_tls=None,
 4170        key_rotation_interval_days=None,
 4171        max_backoff_duration=None,
 4172        name=None,
 4173        node_selector=None,
 4174        policy=None,
 4175        public_key=None,
 4176        request_timeout=None,
 4177        secret_store_id=None,
 4178        secret_store_root_path=None,
 4179        start_tls=None,
 4180        tags=None,
 4181        ttl=None,
 4182        upndomain=None,
 4183        url=None,
 4184        userdn=None,
 4185    ):
 4186        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
 4187        '''
 4188         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
 4189        '''
 4190        self.binddn = binddn if binddn is not None else ''
 4191        '''
 4192         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
 4193        '''
 4194        self.bindpass = bindpass if bindpass is not None else ''
 4195        '''
 4196         Password to use along with binddn when performing user search.
 4197        '''
 4198        self.certificate = certificate if certificate is not None else ''
 4199        '''
 4200         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
 4201        '''
 4202        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
 4203        '''
 4204         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
 4205        '''
 4206        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
 4207        '''
 4208         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
 4209        '''
 4210        self.id = id if id is not None else ''
 4211        '''
 4212         Unique identifier of the Secret Engine.
 4213        '''
 4214        self.insecure_tls = insecure_tls if insecure_tls is not None else False
 4215        '''
 4216         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
 4217        '''
 4218        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
 4219        '''
 4220         An interval of public/private key rotation for secret engine in days
 4221        '''
 4222        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
 4223        '''
 4224         The maximum retry duration in case of automatic failure.
 4225         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
 4226        '''
 4227        self.name = name if name is not None else ''
 4228        '''
 4229         Unique human-readable name of the Secret Engine.
 4230        '''
 4231        self.node_selector = node_selector if node_selector is not None else ''
 4232        '''
 4233         node selector is used to narrow down the nodes used to communicate with with secret engine
 4234        '''
 4235        self.policy = policy if policy is not None else None
 4236        '''
 4237         Policy for password creation
 4238        '''
 4239        self.public_key = public_key if public_key is not None else b''
 4240        '''
 4241         Public key linked with a secret engine
 4242        '''
 4243        self.request_timeout = request_timeout if request_timeout is not None else 0
 4244        '''
 4245         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
 4246        '''
 4247        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4248        '''
 4249         Backing secret store identifier
 4250        '''
 4251        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
 4252        '''
 4253         Backing Secret Store root path where managed secrets are going to be stored
 4254        '''
 4255        self.start_tls = start_tls if start_tls is not None else False
 4256        '''
 4257         If true, issues a StartTLS command after establishing an unencrypted connection.
 4258        '''
 4259        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4260        '''
 4261         Tags is a map of key, value pairs.
 4262        '''
 4263        self.ttl = ttl if ttl is not None else None
 4264        '''
 4265         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
 4266        '''
 4267        self.upndomain = upndomain if upndomain is not None else ''
 4268        '''
 4269         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
 4270        '''
 4271        self.url = url if url is not None else ''
 4272        '''
 4273         The LDAP server to connect to.
 4274        '''
 4275        self.userdn = userdn if userdn is not None else ''
 4276        '''
 4277         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
 4278        '''
 4279
 4280    def __repr__(self):
 4281        return '<sdm.ActiveDirectoryEngine ' + \
 4282            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
 4283            'binddn: ' + repr(self.binddn) + ' ' +\
 4284            'bindpass: ' + repr(self.bindpass) + ' ' +\
 4285            'certificate: ' + repr(self.certificate) + ' ' +\
 4286            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
 4287            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
 4288            'id: ' + repr(self.id) + ' ' +\
 4289            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
 4290            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
 4291            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
 4292            'name: ' + repr(self.name) + ' ' +\
 4293            'node_selector: ' + repr(self.node_selector) + ' ' +\
 4294            'policy: ' + repr(self.policy) + ' ' +\
 4295            'public_key: ' + repr(self.public_key) + ' ' +\
 4296            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
 4297            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4298            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
 4299            'start_tls: ' + repr(self.start_tls) + ' ' +\
 4300            'tags: ' + repr(self.tags) + ' ' +\
 4301            'ttl: ' + repr(self.ttl) + ' ' +\
 4302            'upndomain: ' + repr(self.upndomain) + ' ' +\
 4303            'url: ' + repr(self.url) + ' ' +\
 4304            'userdn: ' + repr(self.userdn) + ' ' +\
 4305            '>'
 4306
 4307    def to_dict(self):
 4308        return {
 4309            'after_read_ttl': self.after_read_ttl,
 4310            'binddn': self.binddn,
 4311            'bindpass': self.bindpass,
 4312            'certificate': self.certificate,
 4313            'connection_timeout': self.connection_timeout,
 4314            'do_not_validate_timestamps': self.do_not_validate_timestamps,
 4315            'id': self.id,
 4316            'insecure_tls': self.insecure_tls,
 4317            'key_rotation_interval_days': self.key_rotation_interval_days,
 4318            'max_backoff_duration': self.max_backoff_duration,
 4319            'name': self.name,
 4320            'node_selector': self.node_selector,
 4321            'policy': self.policy,
 4322            'public_key': self.public_key,
 4323            'request_timeout': self.request_timeout,
 4324            'secret_store_id': self.secret_store_id,
 4325            'secret_store_root_path': self.secret_store_root_path,
 4326            'start_tls': self.start_tls,
 4327            'tags': self.tags,
 4328            'ttl': self.ttl,
 4329            'upndomain': self.upndomain,
 4330            'url': self.url,
 4331            'userdn': self.userdn,
 4332        }
 4333
 4334    @classmethod
 4335    def from_dict(cls, d):
 4336        return cls(
 4337            after_read_ttl=d.get('after_read_ttl'),
 4338            binddn=d.get('binddn'),
 4339            bindpass=d.get('bindpass'),
 4340            certificate=d.get('certificate'),
 4341            connection_timeout=d.get('connection_timeout'),
 4342            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
 4343            id=d.get('id'),
 4344            insecure_tls=d.get('insecure_tls'),
 4345            key_rotation_interval_days=d.get('key_rotation_interval_days'),
 4346            max_backoff_duration=d.get('max_backoff_duration'),
 4347            name=d.get('name'),
 4348            node_selector=d.get('node_selector'),
 4349            policy=d.get('policy'),
 4350            public_key=d.get('public_key'),
 4351            request_timeout=d.get('request_timeout'),
 4352            secret_store_id=d.get('secret_store_id'),
 4353            secret_store_root_path=d.get('secret_store_root_path'),
 4354            start_tls=d.get('start_tls'),
 4355            tags=d.get('tags'),
 4356            ttl=d.get('ttl'),
 4357            upndomain=d.get('upndomain'),
 4358            url=d.get('url'),
 4359            userdn=d.get('userdn'),
 4360        )
 4361
 4362
 4363class ActiveDirectoryStore:
 4364    __slots__ = [
 4365        'id',
 4366        'name',
 4367        'server_address',
 4368        'tags',
 4369    ]
 4370
 4371    def __init__(
 4372        self,
 4373        id=None,
 4374        name=None,
 4375        server_address=None,
 4376        tags=None,
 4377    ):
 4378        self.id = id if id is not None else ''
 4379        '''
 4380         Unique identifier of the SecretStore.
 4381        '''
 4382        self.name = name if name is not None else ''
 4383        '''
 4384         Unique human-readable name of the SecretStore.
 4385        '''
 4386        self.server_address = server_address if server_address is not None else ''
 4387        '''
 4388         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 4389         Often this is the same host as Active Directory Certificate Services
 4390        '''
 4391        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4392        '''
 4393         Tags is a map of key, value pairs.
 4394        '''
 4395
 4396    def __repr__(self):
 4397        return '<sdm.ActiveDirectoryStore ' + \
 4398            'id: ' + repr(self.id) + ' ' +\
 4399            'name: ' + repr(self.name) + ' ' +\
 4400            'server_address: ' + repr(self.server_address) + ' ' +\
 4401            'tags: ' + repr(self.tags) + ' ' +\
 4402            '>'
 4403
 4404    def to_dict(self):
 4405        return {
 4406            'id': self.id,
 4407            'name': self.name,
 4408            'server_address': self.server_address,
 4409            'tags': self.tags,
 4410        }
 4411
 4412    @classmethod
 4413    def from_dict(cls, d):
 4414        return cls(
 4415            id=d.get('id'),
 4416            name=d.get('name'),
 4417            server_address=d.get('server_address'),
 4418            tags=d.get('tags'),
 4419        )
 4420
 4421
 4422class Activity:
 4423    '''
 4424         An Activity is a record of an action taken against a strongDM deployment, e.g.
 4425     a user creation, resource deletion, sso configuration change, etc.
 4426    '''
 4427    __slots__ = [
 4428        'actor',
 4429        'completed_at',
 4430        'description',
 4431        'entities',
 4432        'id',
 4433        'ip_address',
 4434        'user_agent',
 4435        'verb',
 4436    ]
 4437
 4438    def __init__(
 4439        self,
 4440        actor=None,
 4441        completed_at=None,
 4442        description=None,
 4443        entities=None,
 4444        id=None,
 4445        ip_address=None,
 4446        user_agent=None,
 4447        verb=None,
 4448    ):
 4449        self.actor = actor if actor is not None else None
 4450        '''
 4451         The account who executed this activity. If the actor later has a name or email change,
 4452         that change is not reflected here. Actor is a snapshot of the executing account at
 4453         the time an activity took place.
 4454        '''
 4455        self.completed_at = completed_at if completed_at is not None else None
 4456        '''
 4457         The time this activity took effect.
 4458        '''
 4459        self.description = description if description is not None else ''
 4460        '''
 4461         A humanized description of the activity.
 4462        '''
 4463        self.entities = entities if entities is not None else []
 4464        '''
 4465         The entities involved in this activity. These entities can be any first class
 4466         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 4467         every activity affects explicit entities.
 4468        '''
 4469        self.id = id if id is not None else ''
 4470        '''
 4471         Unique identifier of the Activity.
 4472        '''
 4473        self.ip_address = ip_address if ip_address is not None else ''
 4474        '''
 4475         The IP from which this action was taken.
 4476        '''
 4477        self.user_agent = user_agent if user_agent is not None else ''
 4478        '''
 4479         The User Agent present when this request was executed. Generally a client type and version
 4480         like strongdm-cli/55.66.77
 4481        '''
 4482        self.verb = verb if verb is not None else ''
 4483        '''
 4484         The kind of activity which has taken place, one of the ActivityVerb constants.
 4485        '''
 4486
 4487    def __repr__(self):
 4488        return '<sdm.Activity ' + \
 4489            'actor: ' + repr(self.actor) + ' ' +\
 4490            'completed_at: ' + repr(self.completed_at) + ' ' +\
 4491            'description: ' + repr(self.description) + ' ' +\
 4492            'entities: ' + repr(self.entities) + ' ' +\
 4493            'id: ' + repr(self.id) + ' ' +\
 4494            'ip_address: ' + repr(self.ip_address) + ' ' +\
 4495            'user_agent: ' + repr(self.user_agent) + ' ' +\
 4496            'verb: ' + repr(self.verb) + ' ' +\
 4497            '>'
 4498
 4499    def to_dict(self):
 4500        return {
 4501            'actor': self.actor,
 4502            'completed_at': self.completed_at,
 4503            'description': self.description,
 4504            'entities': self.entities,
 4505            'id': self.id,
 4506            'ip_address': self.ip_address,
 4507            'user_agent': self.user_agent,
 4508            'verb': self.verb,
 4509        }
 4510
 4511    @classmethod
 4512    def from_dict(cls, d):
 4513        return cls(
 4514            actor=d.get('actor'),
 4515            completed_at=d.get('completed_at'),
 4516            description=d.get('description'),
 4517            entities=d.get('entities'),
 4518            id=d.get('id'),
 4519            ip_address=d.get('ip_address'),
 4520            user_agent=d.get('user_agent'),
 4521            verb=d.get('verb'),
 4522        )
 4523
 4524
 4525class ActivityActor:
 4526    __slots__ = [
 4527        'activity_external_id',
 4528        'email',
 4529        'first_name',
 4530        'id',
 4531        'last_name',
 4532    ]
 4533
 4534    def __init__(
 4535        self,
 4536        activity_external_id=None,
 4537        email=None,
 4538        first_name=None,
 4539        id=None,
 4540        last_name=None,
 4541    ):
 4542        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 4543        '''
 4544         The external ID of the actor at the time this activity occurred.
 4545        '''
 4546        self.email = email if email is not None else ''
 4547        '''
 4548         The email of the actor at the time this activity occurred.
 4549        '''
 4550        self.first_name = first_name if first_name is not None else ''
 4551        '''
 4552         The first name of the actor at the time this activity occurred.
 4553        '''
 4554        self.id = id if id is not None else ''
 4555        '''
 4556         Unique identifier of the actor. Immutable.
 4557        '''
 4558        self.last_name = last_name if last_name is not None else ''
 4559        '''
 4560         The last name of the actor at the time this activity occurred.
 4561        '''
 4562
 4563    def __repr__(self):
 4564        return '<sdm.ActivityActor ' + \
 4565            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 4566            'email: ' + repr(self.email) + ' ' +\
 4567            'first_name: ' + repr(self.first_name) + ' ' +\
 4568            'id: ' + repr(self.id) + ' ' +\
 4569            'last_name: ' + repr(self.last_name) + ' ' +\
 4570            '>'
 4571
 4572    def to_dict(self):
 4573        return {
 4574            'activity_external_id': self.activity_external_id,
 4575            'email': self.email,
 4576            'first_name': self.first_name,
 4577            'id': self.id,
 4578            'last_name': self.last_name,
 4579        }
 4580
 4581    @classmethod
 4582    def from_dict(cls, d):
 4583        return cls(
 4584            activity_external_id=d.get('activity_external_id'),
 4585            email=d.get('email'),
 4586            first_name=d.get('first_name'),
 4587            id=d.get('id'),
 4588            last_name=d.get('last_name'),
 4589        )
 4590
 4591
 4592class ActivityEntity:
 4593    __slots__ = [
 4594        'email',
 4595        'external_id',
 4596        'id',
 4597        'name',
 4598        'type',
 4599    ]
 4600
 4601    def __init__(
 4602        self,
 4603        email=None,
 4604        external_id=None,
 4605        id=None,
 4606        name=None,
 4607        type=None,
 4608    ):
 4609        self.email = email if email is not None else ''
 4610        '''
 4611         The email of the affected entity, if it has one (for example, if it is an account).
 4612        '''
 4613        self.external_id = external_id if external_id is not None else ''
 4614        '''
 4615         The external ID of the affected entity, if it has one (for example, if it is an account).
 4616        '''
 4617        self.id = id if id is not None else ''
 4618        '''
 4619         The unique identifier of the entity this activity affected.
 4620        '''
 4621        self.name = name if name is not None else ''
 4622        '''
 4623         A display name representing the affected entity.
 4624        '''
 4625        self.type = type if type is not None else ''
 4626        '''
 4627         The type of entity affected, one of the ActivityEntityType constants.
 4628        '''
 4629
 4630    def __repr__(self):
 4631        return '<sdm.ActivityEntity ' + \
 4632            'email: ' + repr(self.email) + ' ' +\
 4633            'external_id: ' + repr(self.external_id) + ' ' +\
 4634            'id: ' + repr(self.id) + ' ' +\
 4635            'name: ' + repr(self.name) + ' ' +\
 4636            'type: ' + repr(self.type) + ' ' +\
 4637            '>'
 4638
 4639    def to_dict(self):
 4640        return {
 4641            'email': self.email,
 4642            'external_id': self.external_id,
 4643            'id': self.id,
 4644            'name': self.name,
 4645            'type': self.type,
 4646        }
 4647
 4648    @classmethod
 4649    def from_dict(cls, d):
 4650        return cls(
 4651            email=d.get('email'),
 4652            external_id=d.get('external_id'),
 4653            id=d.get('id'),
 4654            name=d.get('name'),
 4655            type=d.get('type'),
 4656        )
 4657
 4658
 4659class ActivityGetResponse:
 4660    '''
 4661         ActivityGetResponse returns a requested Activity.
 4662    '''
 4663    __slots__ = [
 4664        'activity',
 4665        'meta',
 4666        'rate_limit',
 4667    ]
 4668
 4669    def __init__(
 4670        self,
 4671        activity=None,
 4672        meta=None,
 4673        rate_limit=None,
 4674    ):
 4675        self.activity = activity if activity is not None else None
 4676        '''
 4677         The requested Activity.
 4678        '''
 4679        self.meta = meta if meta is not None else None
 4680        '''
 4681         Reserved for future use.
 4682        '''
 4683        self.rate_limit = rate_limit if rate_limit is not None else None
 4684        '''
 4685         Rate limit information.
 4686        '''
 4687
 4688    def __repr__(self):
 4689        return '<sdm.ActivityGetResponse ' + \
 4690            'activity: ' + repr(self.activity) + ' ' +\
 4691            'meta: ' + repr(self.meta) + ' ' +\
 4692            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 4693            '>'
 4694
 4695    def to_dict(self):
 4696        return {
 4697            'activity': self.activity,
 4698            'meta': self.meta,
 4699            'rate_limit': self.rate_limit,
 4700        }
 4701
 4702    @classmethod
 4703    def from_dict(cls, d):
 4704        return cls(
 4705            activity=d.get('activity'),
 4706            meta=d.get('meta'),
 4707            rate_limit=d.get('rate_limit'),
 4708        )
 4709
 4710
 4711class Aerospike:
 4712    __slots__ = [
 4713        'bind_interface',
 4714        'egress_filter',
 4715        'healthy',
 4716        'hostname',
 4717        'id',
 4718        'name',
 4719        'password',
 4720        'port',
 4721        'port_override',
 4722        'proxy_cluster_id',
 4723        'secret_store_id',
 4724        'subdomain',
 4725        'tags',
 4726        'use_services_alternate',
 4727        'username',
 4728    ]
 4729
 4730    def __init__(
 4731        self,
 4732        bind_interface=None,
 4733        egress_filter=None,
 4734        healthy=None,
 4735        hostname=None,
 4736        id=None,
 4737        name=None,
 4738        password=None,
 4739        port=None,
 4740        port_override=None,
 4741        proxy_cluster_id=None,
 4742        secret_store_id=None,
 4743        subdomain=None,
 4744        tags=None,
 4745        use_services_alternate=None,
 4746        username=None,
 4747    ):
 4748        self.bind_interface = bind_interface if bind_interface is not None else ''
 4749        '''
 4750         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 4751        '''
 4752        self.egress_filter = egress_filter if egress_filter is not None else ''
 4753        '''
 4754         A filter applied to the routing logic to pin datasource to nodes.
 4755        '''
 4756        self.healthy = healthy if healthy is not None else False
 4757        '''
 4758         True if the datasource is reachable and the credentials are valid.
 4759        '''
 4760        self.hostname = hostname if hostname is not None else ''
 4761        '''
 4762         The host to dial to initiate a connection from the egress node to this resource.
 4763        '''
 4764        self.id = id if id is not None else ''
 4765        '''
 4766         Unique identifier of the Resource.
 4767        '''
 4768        self.name = name if name is not None else ''
 4769        '''
 4770         Unique human-readable name of the Resource.
 4771        '''
 4772        self.password = password if password is not None else ''
 4773        '''
 4774         The password to authenticate with.
 4775        '''
 4776        self.port = port if port is not None else 0
 4777        '''
 4778         The port to dial to initiate a connection from the egress node to this resource.
 4779        '''
 4780        self.port_override = port_override if port_override is not None else 0
 4781        '''
 4782         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 4783        '''
 4784        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4785        '''
 4786         ID of the proxy cluster for this resource, if any.
 4787        '''
 4788        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4789        '''
 4790         ID of the secret store containing credentials for this resource, if any.
 4791        '''
 4792        self.subdomain = subdomain if subdomain is not None else ''
 4793        '''
 4794         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 4795        '''
 4796        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4797        '''
 4798         Tags is a map of key, value pairs.
 4799        '''
 4800        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
 4801        '''
 4802         If true, uses UseServicesAlternates directive for Aerospike connection
 4803        '''
 4804        self.username = username if username is not None else ''
 4805        '''
 4806         The username to authenticate with.
 4807        '''
 4808
 4809    def __repr__(self):
 4810        return '<sdm.Aerospike ' + \
 4811            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4812            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4813            'healthy: ' + repr(self.healthy) + ' ' +\
 4814            'hostname: ' + repr(self.hostname) + ' ' +\
 4815            'id: ' + repr(self.id) + ' ' +\
 4816            'name: ' + repr(self.name) + ' ' +\
 4817            'password: ' + repr(self.password) + ' ' +\
 4818            'port: ' + repr(self.port) + ' ' +\
 4819            'port_override: ' + repr(self.port_override) + ' ' +\
 4820            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4821            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4822            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4823            'tags: ' + repr(self.tags) + ' ' +\
 4824            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
 4825            'username: ' + repr(self.username) + ' ' +\
 4826            '>'
 4827
 4828    def to_dict(self):
 4829        return {
 4830            'bind_interface': self.bind_interface,
 4831            'egress_filter': self.egress_filter,
 4832            'healthy': self.healthy,
 4833            'hostname': self.hostname,
 4834            'id': self.id,
 4835            'name': self.name,
 4836            'password': self.password,
 4837            'port': self.port,
 4838            'port_override': self.port_override,
 4839            'proxy_cluster_id': self.proxy_cluster_id,
 4840            'secret_store_id': self.secret_store_id,
 4841            'subdomain': self.subdomain,
 4842            'tags': self.tags,
 4843            'use_services_alternate': self.use_services_alternate,
 4844            'username': self.username,
 4845        }
 4846
 4847    @classmethod
 4848    def from_dict(cls, d):
 4849        return cls(
 4850            bind_interface=d.get('bind_interface'),
 4851            egress_filter=d.get('egress_filter'),
 4852            healthy=d.get('healthy'),
 4853            hostname=d.get('hostname'),
 4854            id=d.get('id'),
 4855            name=d.get('name'),
 4856            password=d.get('password'),
 4857            port=d.get('port'),
 4858            port_override=d.get('port_override'),
 4859            proxy_cluster_id=d.get('proxy_cluster_id'),
 4860            secret_store_id=d.get('secret_store_id'),
 4861            subdomain=d.get('subdomain'),
 4862            tags=d.get('tags'),
 4863            use_services_alternate=d.get('use_services_alternate'),
 4864            username=d.get('username'),
 4865        )
 4866
 4867
 4868class AmazonEKS:
 4869    __slots__ = [
 4870        'access_key',
 4871        'allow_resource_role_bypass',
 4872        'bind_interface',
 4873        'certificate_authority',
 4874        'cluster_name',
 4875        'discovery_enabled',
 4876        'discovery_username',
 4877        'egress_filter',
 4878        'endpoint',
 4879        'healthcheck_namespace',
 4880        'healthy',
 4881        'id',
 4882        'identity_alias_healthcheck_username',
 4883        'identity_set_id',
 4884        'name',
 4885        'port_override',
 4886        'proxy_cluster_id',
 4887        'region',
 4888        'role_arn',
 4889        'role_external_id',
 4890        'secret_access_key',
 4891        'secret_store_id',
 4892        'subdomain',
 4893        'tags',
 4894    ]
 4895
 4896    def __init__(
 4897        self,
 4898        access_key=None,
 4899        allow_resource_role_bypass=None,
 4900        bind_interface=None,
 4901        certificate_authority=None,
 4902        cluster_name=None,
 4903        discovery_enabled=None,
 4904        discovery_username=None,
 4905        egress_filter=None,
 4906        endpoint=None,
 4907        healthcheck_namespace=None,
 4908        healthy=None,
 4909        id=None,
 4910        identity_alias_healthcheck_username=None,
 4911        identity_set_id=None,
 4912        name=None,
 4913        port_override=None,
 4914        proxy_cluster_id=None,
 4915        region=None,
 4916        role_arn=None,
 4917        role_external_id=None,
 4918        secret_access_key=None,
 4919        secret_store_id=None,
 4920        subdomain=None,
 4921        tags=None,
 4922    ):
 4923        self.access_key = access_key if access_key is not None else ''
 4924        '''
 4925         The Access Key ID to use to authenticate.
 4926        '''
 4927        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4928        '''
 4929         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4930         when a resource role is not provided.
 4931        '''
 4932        self.bind_interface = bind_interface if bind_interface is not None else ''
 4933        '''
 4934         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 4935        '''
 4936        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4937        '''
 4938         The CA to authenticate TLS connections with.
 4939        '''
 4940        self.cluster_name = cluster_name if cluster_name is not None else ''
 4941        '''
 4942         The name of the cluster to connect to.
 4943        '''
 4944        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4945        '''
 4946         If true, configures discovery of a cluster to be run from a node.
 4947        '''
 4948        self.discovery_username = discovery_username if discovery_username is not None else ''
 4949        '''
 4950         If a cluster is configured for user impersonation, this is the user to impersonate when
 4951         running discovery.
 4952        '''
 4953        self.egress_filter = egress_filter if egress_filter is not None else ''
 4954        '''
 4955         A filter applied to the routing logic to pin datasource to nodes.
 4956        '''
 4957        self.endpoint = endpoint if endpoint is not None else ''
 4958        '''
 4959         The endpoint to dial.
 4960        '''
 4961        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4962        '''
 4963         The path used to check the health of your connection.  Defaults to `default`.
 4964        '''
 4965        self.healthy = healthy if healthy is not None else False
 4966        '''
 4967         True if the datasource is reachable and the credentials are valid.
 4968        '''
 4969        self.id = id if id is not None else ''
 4970        '''
 4971         Unique identifier of the Resource.
 4972        '''
 4973        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4974        '''
 4975         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4976        '''
 4977        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4978        '''
 4979         The ID of the identity set to use for identity connections.
 4980        '''
 4981        self.name = name if name is not None else ''
 4982        '''
 4983         Unique human-readable name of the Resource.
 4984        '''
 4985        self.port_override = port_override if port_override is not None else 0
 4986        '''
 4987         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 4988        '''
 4989        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4990        '''
 4991         ID of the proxy cluster for this resource, if any.
 4992        '''
 4993        self.region = region if region is not None else ''
 4994        '''
 4995         The AWS region to connect to e.g. us-east-1.
 4996        '''
 4997        self.role_arn = role_arn if role_arn is not None else ''
 4998        '''
 4999         The role to assume after logging in.
 5000        '''
 5001        self.role_external_id = role_external_id if role_external_id is not None else ''
 5002        '''
 5003         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5004        '''
 5005        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5006        '''
 5007         The Secret Access Key to use to authenticate.
 5008        '''
 5009        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5010        '''
 5011         ID of the secret store containing credentials for this resource, if any.
 5012        '''
 5013        self.subdomain = subdomain if subdomain is not None else ''
 5014        '''
 5015         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5016        '''
 5017        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5018        '''
 5019         Tags is a map of key, value pairs.
 5020        '''
 5021
 5022    def __repr__(self):
 5023        return '<sdm.AmazonEKS ' + \
 5024            'access_key: ' + repr(self.access_key) + ' ' +\
 5025            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 5026            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5027            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 5028            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 5029            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 5030            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 5031            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5032            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5033            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 5034            'healthy: ' + repr(self.healthy) + ' ' +\
 5035            'id: ' + repr(self.id) + ' ' +\
 5036            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 5037            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 5038            'name: ' + repr(self.name) + ' ' +\
 5039            'port_override: ' + repr(self.port_override) + ' ' +\
 5040            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5041            'region: ' + repr(self.region) + ' ' +\
 5042            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5043            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5044            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5045            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5046            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5047            'tags: ' + repr(self.tags) + ' ' +\
 5048            '>'
 5049
 5050    def to_dict(self):
 5051        return {
 5052            'access_key': self.access_key,
 5053            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 5054            'bind_interface': self.bind_interface,
 5055            'certificate_authority': self.certificate_authority,
 5056            'cluster_name': self.cluster_name,
 5057            'discovery_enabled': self.discovery_enabled,
 5058            'discovery_username': self.discovery_username,
 5059            'egress_filter': self.egress_filter,
 5060            'endpoint': self.endpoint,
 5061            'healthcheck_namespace': self.healthcheck_namespace,
 5062            'healthy': self.healthy,
 5063            'id': self.id,
 5064            'identity_alias_healthcheck_username':
 5065            self.identity_alias_healthcheck_username,
 5066            'identity_set_id': self.identity_set_id,
 5067            'name': self.name,
 5068            'port_override': self.port_override,
 5069            'proxy_cluster_id': self.proxy_cluster_id,
 5070            'region': self.region,
 5071            'role_arn': self.role_arn,
 5072            'role_external_id': self.role_external_id,
 5073            'secret_access_key': self.secret_access_key,
 5074            'secret_store_id': self.secret_store_id,
 5075            'subdomain': self.subdomain,
 5076            'tags': self.tags,
 5077        }
 5078
 5079    @classmethod
 5080    def from_dict(cls, d):
 5081        return cls(
 5082            access_key=d.get('access_key'),
 5083            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 5084            bind_interface=d.get('bind_interface'),
 5085            certificate_authority=d.get('certificate_authority'),
 5086            cluster_name=d.get('cluster_name'),
 5087            discovery_enabled=d.get('discovery_enabled'),
 5088            discovery_username=d.get('discovery_username'),
 5089            egress_filter=d.get('egress_filter'),
 5090            endpoint=d.get('endpoint'),
 5091            healthcheck_namespace=d.get('healthcheck_namespace'),
 5092            healthy=d.get('healthy'),
 5093            id=d.get('id'),
 5094            identity_alias_healthcheck_username=d.get(
 5095                'identity_alias_healthcheck_username'),
 5096            identity_set_id=d.get('identity_set_id'),
 5097            name=d.get('name'),
 5098            port_override=d.get('port_override'),
 5099            proxy_cluster_id=d.get('proxy_cluster_id'),
 5100            region=d.get('region'),
 5101            role_arn=d.get('role_arn'),
 5102            role_external_id=d.get('role_external_id'),
 5103            secret_access_key=d.get('secret_access_key'),
 5104            secret_store_id=d.get('secret_store_id'),
 5105            subdomain=d.get('subdomain'),
 5106            tags=d.get('tags'),
 5107        )
 5108
 5109
 5110class AmazonEKSInstanceProfile:
 5111    __slots__ = [
 5112        'allow_resource_role_bypass',
 5113        'bind_interface',
 5114        'certificate_authority',
 5115        'cluster_name',
 5116        'discovery_enabled',
 5117        'discovery_username',
 5118        'egress_filter',
 5119        'endpoint',
 5120        'healthcheck_namespace',
 5121        'healthy',
 5122        'id',
 5123        'identity_alias_healthcheck_username',
 5124        'identity_set_id',
 5125        'name',
 5126        'port_override',
 5127        'proxy_cluster_id',
 5128        'region',
 5129        'role_arn',
 5130        'role_external_id',
 5131        'secret_store_id',
 5132        'subdomain',
 5133        'tags',
 5134    ]
 5135
 5136    def __init__(
 5137        self,
 5138        allow_resource_role_bypass=None,
 5139        bind_interface=None,
 5140        certificate_authority=None,
 5141        cluster_name=None,
 5142        discovery_enabled=None,
 5143        discovery_username=None,
 5144        egress_filter=None,
 5145        endpoint=None,
 5146        healthcheck_namespace=None,
 5147        healthy=None,
 5148        id=None,
 5149        identity_alias_healthcheck_username=None,
 5150        identity_set_id=None,
 5151        name=None,
 5152        port_override=None,
 5153        proxy_cluster_id=None,
 5154        region=None,
 5155        role_arn=None,
 5156        role_external_id=None,
 5157        secret_store_id=None,
 5158        subdomain=None,
 5159        tags=None,
 5160    ):
 5161        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 5162        '''
 5163         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 5164         when a resource role is not provided.
 5165        '''
 5166        self.bind_interface = bind_interface if bind_interface is not None else ''
 5167        '''
 5168         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5169        '''
 5170        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 5171        '''
 5172         The CA to authenticate TLS connections with.
 5173        '''
 5174        self.cluster_name = cluster_name if cluster_name is not None else ''
 5175        '''
 5176         The name of the cluster to connect to.
 5177        '''
 5178        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 5179        '''
 5180         If true, configures discovery of a cluster to be run from a node.
 5181        '''
 5182        self.discovery_username = discovery_username if discovery_username is not None else ''
 5183        '''
 5184         If a cluster is configured for user impersonation, this is the user to impersonate when
 5185         running discovery.
 5186        '''
 5187        self.egress_filter = egress_filter if egress_filter is not None else ''
 5188        '''
 5189         A filter applied to the routing logic to pin datasource to nodes.
 5190        '''
 5191        self.endpoint = endpoint if endpoint is not None else ''
 5192        '''
 5193         The endpoint to dial.
 5194        '''
 5195        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 5196        '''
 5197         The path used to check the health of your connection.  Defaults to `default`.
 5198        '''
 5199        self.healthy = healthy if healthy is not None else False
 5200        '''
 5201         True if the datasource is reachable and the credentials are valid.
 5202        '''
 5203        self.id = id if id is not None else ''
 5204        '''
 5205         Unique identifier of the Resource.
 5206        '''
 5207        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 5208        '''
 5209         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 5210        '''
 5211        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 5212        '''
 5213         The ID of the identity set to use for identity connections.
 5214        '''
 5215        self.name = name if name is not None else ''
 5216        '''
 5217         Unique human-readable name of the Resource.
 5218        '''
 5219        self.port_override = port_override if port_override is not None else 0
 5220        '''
 5221         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5222        '''
 5223        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5224        '''
 5225         ID of the proxy cluster for this resource, if any.
 5226        '''
 5227        self.region = region if region is not None else ''
 5228        '''
 5229         The AWS region to connect to e.g. us-east-1.
 5230        '''
 5231        self.role_arn = role_arn if role_arn is not None else ''
 5232        '''
 5233         The role to assume after logging in.
 5234        '''
 5235        self.role_external_id = role_external_id if role_external_id is not None else ''
 5236        '''
 5237         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5238        '''
 5239        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5240        '''
 5241         ID of the secret store containing credentials for this resource, if any.
 5242        '''
 5243        self.subdomain = subdomain if subdomain is not None else ''
 5244        '''
 5245         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5246        '''
 5247        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5248        '''
 5249         Tags is a map of key, value pairs.
 5250        '''
 5251
 5252    def __repr__(self):
 5253        return '<sdm.AmazonEKSInstanceProfile ' + \
 5254            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 5255            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5256            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 5257            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 5258            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 5259            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 5260            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5261            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5262            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 5263            'healthy: ' + repr(self.healthy) + ' ' +\
 5264            'id: ' + repr(self.id) + ' ' +\
 5265            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 5266            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 5267            'name: ' + repr(self.name) + ' ' +\
 5268            'port_override: ' + repr(self.port_override) + ' ' +\
 5269            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5270            'region: ' + repr(self.region) + ' ' +\
 5271            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5272            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5273            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5274            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5275            'tags: ' + repr(self.tags) + ' ' +\
 5276            '>'
 5277
 5278    def to_dict(self):
 5279        return {
 5280            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 5281            'bind_interface': self.bind_interface,
 5282            'certificate_authority': self.certificate_authority,
 5283            'cluster_name': self.cluster_name,
 5284            'discovery_enabled': self.discovery_enabled,
 5285            'discovery_username': self.discovery_username,
 5286            'egress_filter': self.egress_filter,
 5287            'endpoint': self.endpoint,
 5288            'healthcheck_namespace': self.healthcheck_namespace,
 5289            'healthy': self.healthy,
 5290            'id': self.id,
 5291            'identity_alias_healthcheck_username':
 5292            self.identity_alias_healthcheck_username,
 5293            'identity_set_id': self.identity_set_id,
 5294            'name': self.name,
 5295            'port_override': self.port_override,
 5296            'proxy_cluster_id': self.proxy_cluster_id,
 5297            'region': self.region,
 5298            'role_arn': self.role_arn,
 5299            'role_external_id': self.role_external_id,
 5300            'secret_store_id': self.secret_store_id,
 5301            'subdomain': self.subdomain,
 5302            'tags': self.tags,
 5303        }
 5304
 5305    @classmethod
 5306    def from_dict(cls, d):
 5307        return cls(
 5308            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 5309            bind_interface=d.get('bind_interface'),
 5310            certificate_authority=d.get('certificate_authority'),
 5311            cluster_name=d.get('cluster_name'),
 5312            discovery_enabled=d.get('discovery_enabled'),
 5313            discovery_username=d.get('discovery_username'),
 5314            egress_filter=d.get('egress_filter'),
 5315            endpoint=d.get('endpoint'),
 5316            healthcheck_namespace=d.get('healthcheck_namespace'),
 5317            healthy=d.get('healthy'),
 5318            id=d.get('id'),
 5319            identity_alias_healthcheck_username=d.get(
 5320                'identity_alias_healthcheck_username'),
 5321            identity_set_id=d.get('identity_set_id'),
 5322            name=d.get('name'),
 5323            port_override=d.get('port_override'),
 5324            proxy_cluster_id=d.get('proxy_cluster_id'),
 5325            region=d.get('region'),
 5326            role_arn=d.get('role_arn'),
 5327            role_external_id=d.get('role_external_id'),
 5328            secret_store_id=d.get('secret_store_id'),
 5329            subdomain=d.get('subdomain'),
 5330            tags=d.get('tags'),
 5331        )
 5332
 5333
 5334class AmazonEKSInstanceProfileUserImpersonation:
 5335    '''
 5336    AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
 5337    '''
 5338    __slots__ = [
 5339        'bind_interface',
 5340        'certificate_authority',
 5341        'cluster_name',
 5342        'egress_filter',
 5343        'endpoint',
 5344        'healthcheck_namespace',
 5345        'healthy',
 5346        'id',
 5347        'name',
 5348        'port_override',
 5349        'proxy_cluster_id',
 5350        'region',
 5351        'role_arn',
 5352        'role_external_id',
 5353        'secret_store_id',
 5354        'subdomain',
 5355        'tags',
 5356    ]
 5357
 5358    def __init__(
 5359        self,
 5360        bind_interface=None,
 5361        certificate_authority=None,
 5362        cluster_name=None,
 5363        egress_filter=None,
 5364        endpoint=None,
 5365        healthcheck_namespace=None,
 5366        healthy=None,
 5367        id=None,
 5368        name=None,
 5369        port_override=None,
 5370        proxy_cluster_id=None,
 5371        region=None,
 5372        role_arn=None,
 5373        role_external_id=None,
 5374        secret_store_id=None,
 5375        subdomain=None,
 5376        tags=None,
 5377    ):
 5378        self.bind_interface = bind_interface if bind_interface is not None else ''
 5379        '''
 5380         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5381        '''
 5382        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 5383        '''
 5384         The CA to authenticate TLS connections with.
 5385        '''
 5386        self.cluster_name = cluster_name if cluster_name is not None else ''
 5387        '''
 5388         The name of the cluster to connect to.
 5389        '''
 5390        self.egress_filter = egress_filter if egress_filter is not None else ''
 5391        '''
 5392         A filter applied to the routing logic to pin datasource to nodes.
 5393        '''
 5394        self.endpoint = endpoint if endpoint is not None else ''
 5395        '''
 5396         The endpoint to dial.
 5397        '''
 5398        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 5399        '''
 5400         The path used to check the health of your connection.  Defaults to `default`.
 5401        '''
 5402        self.healthy = healthy if healthy is not None else False
 5403        '''
 5404         True if the datasource is reachable and the credentials are valid.
 5405        '''
 5406        self.id = id if id is not None else ''
 5407        '''
 5408         Unique identifier of the Resource.
 5409        '''
 5410        self.name = name if name is not None else ''
 5411        '''
 5412         Unique human-readable name of the Resource.
 5413        '''
 5414        self.port_override = port_override if port_override is not None else 0
 5415        '''
 5416         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5417        '''
 5418        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5419        '''
 5420         ID of the proxy cluster for this resource, if any.
 5421        '''
 5422        self.region = region if region is not None else ''
 5423        '''
 5424         The AWS region to connect to e.g. us-east-1.
 5425        '''
 5426        self.role_arn = role_arn if role_arn is not None else ''
 5427        '''
 5428         The role to assume after logging in.
 5429        '''
 5430        self.role_external_id = role_external_id if role_external_id is not None else ''
 5431        '''
 5432         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5433        '''
 5434        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5435        '''
 5436         ID of the secret store containing credentials for this resource, if any.
 5437        '''
 5438        self.subdomain = subdomain if subdomain is not None else ''
 5439        '''
 5440         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5441        '''
 5442        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5443        '''
 5444         Tags is a map of key, value pairs.
 5445        '''
 5446
 5447    def __repr__(self):
 5448        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 5449            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5450            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 5451            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 5452            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5453            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5454            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 5455            'healthy: ' + repr(self.healthy) + ' ' +\
 5456            'id: ' + repr(self.id) + ' ' +\
 5457            'name: ' + repr(self.name) + ' ' +\
 5458            'port_override: ' + repr(self.port_override) + ' ' +\
 5459            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5460            'region: ' + repr(self.region) + ' ' +\
 5461            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5462            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5463            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5464            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5465            'tags: ' + repr(self.tags) + ' ' +\
 5466            '>'
 5467
 5468    def to_dict(self):
 5469        return {
 5470            'bind_interface': self.bind_interface,
 5471            'certificate_authority': self.certificate_authority,
 5472            'cluster_name': self.cluster_name,
 5473            'egress_filter': self.egress_filter,
 5474            'endpoint': self.endpoint,
 5475            'healthcheck_namespace': self.healthcheck_namespace,
 5476            'healthy': self.healthy,
 5477            'id': self.id,
 5478            'name': self.name,
 5479            'port_override': self.port_override,
 5480            'proxy_cluster_id': self.proxy_cluster_id,
 5481            'region': self.region,
 5482            'role_arn': self.role_arn,
 5483            'role_external_id': self.role_external_id,
 5484            'secret_store_id': self.secret_store_id,
 5485            'subdomain': self.subdomain,
 5486            'tags': self.tags,
 5487        }
 5488
 5489    @classmethod
 5490    def from_dict(cls, d):
 5491        return cls(
 5492            bind_interface=d.get('bind_interface'),
 5493            certificate_authority=d.get('certificate_authority'),
 5494            cluster_name=d.get('cluster_name'),
 5495            egress_filter=d.get('egress_filter'),
 5496            endpoint=d.get('endpoint'),
 5497            healthcheck_namespace=d.get('healthcheck_namespace'),
 5498            healthy=d.get('healthy'),
 5499            id=d.get('id'),
 5500            name=d.get('name'),
 5501            port_override=d.get('port_override'),
 5502            proxy_cluster_id=d.get('proxy_cluster_id'),
 5503            region=d.get('region'),
 5504            role_arn=d.get('role_arn'),
 5505            role_external_id=d.get('role_external_id'),
 5506            secret_store_id=d.get('secret_store_id'),
 5507            subdomain=d.get('subdomain'),
 5508            tags=d.get('tags'),
 5509        )
 5510
 5511
 5512class AmazonEKSUserImpersonation:
 5513    '''
 5514    AmazonEKSUserImpersonation is deprecated, see docs for more info.
 5515    '''
 5516    __slots__ = [
 5517        'access_key',
 5518        'bind_interface',
 5519        'certificate_authority',
 5520        'cluster_name',
 5521        'egress_filter',
 5522        'endpoint',
 5523        'healthcheck_namespace',
 5524        'healthy',
 5525        'id',
 5526        'name',
 5527        'port_override',
 5528        'proxy_cluster_id',
 5529        'region',
 5530        'role_arn',
 5531        'role_external_id',
 5532        'secret_access_key',
 5533        'secret_store_id',
 5534        'subdomain',
 5535        'tags',
 5536    ]
 5537
 5538    def __init__(
 5539        self,
 5540        access_key=None,
 5541        bind_interface=None,
 5542        certificate_authority=None,
 5543        cluster_name=None,
 5544        egress_filter=None,
 5545        endpoint=None,
 5546        healthcheck_namespace=None,
 5547        healthy=None,
 5548        id=None,
 5549        name=None,
 5550        port_override=None,
 5551        proxy_cluster_id=None,
 5552        region=None,
 5553        role_arn=None,
 5554        role_external_id=None,
 5555        secret_access_key=None,
 5556        secret_store_id=None,
 5557        subdomain=None,
 5558        tags=None,
 5559    ):
 5560        self.access_key = access_key if access_key is not None else ''
 5561        '''
 5562         The Access Key ID to use to authenticate.
 5563        '''
 5564        self.bind_interface = bind_interface if bind_interface is not None else ''
 5565        '''
 5566         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5567        '''
 5568        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 5569        '''
 5570         The CA to authenticate TLS connections with.
 5571        '''
 5572        self.cluster_name = cluster_name if cluster_name is not None else ''
 5573        '''
 5574         The name of the cluster to connect to.
 5575        '''
 5576        self.egress_filter = egress_filter if egress_filter is not None else ''
 5577        '''
 5578         A filter applied to the routing logic to pin datasource to nodes.
 5579        '''
 5580        self.endpoint = endpoint if endpoint is not None else ''
 5581        '''
 5582         The endpoint to dial.
 5583        '''
 5584        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 5585        '''
 5586         The path used to check the health of your connection.  Defaults to `default`.
 5587        '''
 5588        self.healthy = healthy if healthy is not None else False
 5589        '''
 5590         True if the datasource is reachable and the credentials are valid.
 5591        '''
 5592        self.id = id if id is not None else ''
 5593        '''
 5594         Unique identifier of the Resource.
 5595        '''
 5596        self.name = name if name is not None else ''
 5597        '''
 5598         Unique human-readable name of the Resource.
 5599        '''
 5600        self.port_override = port_override if port_override is not None else 0
 5601        '''
 5602         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5603        '''
 5604        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5605        '''
 5606         ID of the proxy cluster for this resource, if any.
 5607        '''
 5608        self.region = region if region is not None else ''
 5609        '''
 5610         The AWS region to connect to e.g. us-east-1.
 5611        '''
 5612        self.role_arn = role_arn if role_arn is not None else ''
 5613        '''
 5614         The role to assume after logging in.
 5615        '''
 5616        self.role_external_id = role_external_id if role_external_id is not None else ''
 5617        '''
 5618         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5619        '''
 5620        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5621        '''
 5622         The Secret Access Key to use to authenticate.
 5623        '''
 5624        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5625        '''
 5626         ID of the secret store containing credentials for this resource, if any.
 5627        '''
 5628        self.subdomain = subdomain if subdomain is not None else ''
 5629        '''
 5630         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5631        '''
 5632        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5633        '''
 5634         Tags is a map of key, value pairs.
 5635        '''
 5636
 5637    def __repr__(self):
 5638        return '<sdm.AmazonEKSUserImpersonation ' + \
 5639            'access_key: ' + repr(self.access_key) + ' ' +\
 5640            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5641            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 5642            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 5643            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5644            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5645            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 5646            'healthy: ' + repr(self.healthy) + ' ' +\
 5647            'id: ' + repr(self.id) + ' ' +\
 5648            'name: ' + repr(self.name) + ' ' +\
 5649            'port_override: ' + repr(self.port_override) + ' ' +\
 5650            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5651            'region: ' + repr(self.region) + ' ' +\
 5652            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5653            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5654            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5655            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5656            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5657            'tags: ' + repr(self.tags) + ' ' +\
 5658            '>'
 5659
 5660    def to_dict(self):
 5661        return {
 5662            'access_key': self.access_key,
 5663            'bind_interface': self.bind_interface,
 5664            'certificate_authority': self.certificate_authority,
 5665            'cluster_name': self.cluster_name,
 5666            'egress_filter': self.egress_filter,
 5667            'endpoint': self.endpoint,
 5668            'healthcheck_namespace': self.healthcheck_namespace,
 5669            'healthy': self.healthy,
 5670            'id': self.id,
 5671            'name': self.name,
 5672            'port_override': self.port_override,
 5673            'proxy_cluster_id': self.proxy_cluster_id,
 5674            'region': self.region,
 5675            'role_arn': self.role_arn,
 5676            'role_external_id': self.role_external_id,
 5677            'secret_access_key': self.secret_access_key,
 5678            'secret_store_id': self.secret_store_id,
 5679            'subdomain': self.subdomain,
 5680            'tags': self.tags,
 5681        }
 5682
 5683    @classmethod
 5684    def from_dict(cls, d):
 5685        return cls(
 5686            access_key=d.get('access_key'),
 5687            bind_interface=d.get('bind_interface'),
 5688            certificate_authority=d.get('certificate_authority'),
 5689            cluster_name=d.get('cluster_name'),
 5690            egress_filter=d.get('egress_filter'),
 5691            endpoint=d.get('endpoint'),
 5692            healthcheck_namespace=d.get('healthcheck_namespace'),
 5693            healthy=d.get('healthy'),
 5694            id=d.get('id'),
 5695            name=d.get('name'),
 5696            port_override=d.get('port_override'),
 5697            proxy_cluster_id=d.get('proxy_cluster_id'),
 5698            region=d.get('region'),
 5699            role_arn=d.get('role_arn'),
 5700            role_external_id=d.get('role_external_id'),
 5701            secret_access_key=d.get('secret_access_key'),
 5702            secret_store_id=d.get('secret_store_id'),
 5703            subdomain=d.get('subdomain'),
 5704            tags=d.get('tags'),
 5705        )
 5706
 5707
 5708class AmazonES:
 5709    __slots__ = [
 5710        'access_key',
 5711        'bind_interface',
 5712        'egress_filter',
 5713        'endpoint',
 5714        'healthy',
 5715        'id',
 5716        'name',
 5717        'port_override',
 5718        'proxy_cluster_id',
 5719        'region',
 5720        'role_arn',
 5721        'role_external_id',
 5722        'secret_access_key',
 5723        'secret_store_id',
 5724        'subdomain',
 5725        'tags',
 5726    ]
 5727
 5728    def __init__(
 5729        self,
 5730        access_key=None,
 5731        bind_interface=None,
 5732        egress_filter=None,
 5733        endpoint=None,
 5734        healthy=None,
 5735        id=None,
 5736        name=None,
 5737        port_override=None,
 5738        proxy_cluster_id=None,
 5739        region=None,
 5740        role_arn=None,
 5741        role_external_id=None,
 5742        secret_access_key=None,
 5743        secret_store_id=None,
 5744        subdomain=None,
 5745        tags=None,
 5746    ):
 5747        self.access_key = access_key if access_key is not None else ''
 5748        '''
 5749         The Access Key ID to use to authenticate.
 5750        '''
 5751        self.bind_interface = bind_interface if bind_interface is not None else ''
 5752        '''
 5753         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5754        '''
 5755        self.egress_filter = egress_filter if egress_filter is not None else ''
 5756        '''
 5757         A filter applied to the routing logic to pin datasource to nodes.
 5758        '''
 5759        self.endpoint = endpoint if endpoint is not None else ''
 5760        '''
 5761         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5762        '''
 5763        self.healthy = healthy if healthy is not None else False
 5764        '''
 5765         True if the datasource is reachable and the credentials are valid.
 5766        '''
 5767        self.id = id if id is not None else ''
 5768        '''
 5769         Unique identifier of the Resource.
 5770        '''
 5771        self.name = name if name is not None else ''
 5772        '''
 5773         Unique human-readable name of the Resource.
 5774        '''
 5775        self.port_override = port_override if port_override is not None else 0
 5776        '''
 5777         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5778        '''
 5779        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5780        '''
 5781         ID of the proxy cluster for this resource, if any.
 5782        '''
 5783        self.region = region if region is not None else ''
 5784        '''
 5785         The AWS region to connect to e.g. us-east-1.
 5786        '''
 5787        self.role_arn = role_arn if role_arn is not None else ''
 5788        '''
 5789         The role to assume after logging in.
 5790        '''
 5791        self.role_external_id = role_external_id if role_external_id is not None else ''
 5792        '''
 5793         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5794        '''
 5795        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5796        '''
 5797         The Secret Access Key to use to authenticate.
 5798        '''
 5799        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5800        '''
 5801         ID of the secret store containing credentials for this resource, if any.
 5802        '''
 5803        self.subdomain = subdomain if subdomain is not None else ''
 5804        '''
 5805         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5806        '''
 5807        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5808        '''
 5809         Tags is a map of key, value pairs.
 5810        '''
 5811
 5812    def __repr__(self):
 5813        return '<sdm.AmazonES ' + \
 5814            'access_key: ' + repr(self.access_key) + ' ' +\
 5815            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5816            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5817            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5818            'healthy: ' + repr(self.healthy) + ' ' +\
 5819            'id: ' + repr(self.id) + ' ' +\
 5820            'name: ' + repr(self.name) + ' ' +\
 5821            'port_override: ' + repr(self.port_override) + ' ' +\
 5822            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5823            'region: ' + repr(self.region) + ' ' +\
 5824            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5825            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5826            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5827            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5828            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5829            'tags: ' + repr(self.tags) + ' ' +\
 5830            '>'
 5831
 5832    def to_dict(self):
 5833        return {
 5834            'access_key': self.access_key,
 5835            'bind_interface': self.bind_interface,
 5836            'egress_filter': self.egress_filter,
 5837            'endpoint': self.endpoint,
 5838            'healthy': self.healthy,
 5839            'id': self.id,
 5840            'name': self.name,
 5841            'port_override': self.port_override,
 5842            'proxy_cluster_id': self.proxy_cluster_id,
 5843            'region': self.region,
 5844            'role_arn': self.role_arn,
 5845            'role_external_id': self.role_external_id,
 5846            'secret_access_key': self.secret_access_key,
 5847            'secret_store_id': self.secret_store_id,
 5848            'subdomain': self.subdomain,
 5849            'tags': self.tags,
 5850        }
 5851
 5852    @classmethod
 5853    def from_dict(cls, d):
 5854        return cls(
 5855            access_key=d.get('access_key'),
 5856            bind_interface=d.get('bind_interface'),
 5857            egress_filter=d.get('egress_filter'),
 5858            endpoint=d.get('endpoint'),
 5859            healthy=d.get('healthy'),
 5860            id=d.get('id'),
 5861            name=d.get('name'),
 5862            port_override=d.get('port_override'),
 5863            proxy_cluster_id=d.get('proxy_cluster_id'),
 5864            region=d.get('region'),
 5865            role_arn=d.get('role_arn'),
 5866            role_external_id=d.get('role_external_id'),
 5867            secret_access_key=d.get('secret_access_key'),
 5868            secret_store_id=d.get('secret_store_id'),
 5869            subdomain=d.get('subdomain'),
 5870            tags=d.get('tags'),
 5871        )
 5872
 5873
 5874class AmazonESIAM:
 5875    __slots__ = [
 5876        'bind_interface',
 5877        'egress_filter',
 5878        'endpoint',
 5879        'healthy',
 5880        'id',
 5881        'name',
 5882        'port_override',
 5883        'proxy_cluster_id',
 5884        'region',
 5885        'role_arn',
 5886        'role_external_id',
 5887        'secret_store_id',
 5888        'subdomain',
 5889        'tags',
 5890        'tlsrequired',
 5891    ]
 5892
 5893    def __init__(
 5894        self,
 5895        bind_interface=None,
 5896        egress_filter=None,
 5897        endpoint=None,
 5898        healthy=None,
 5899        id=None,
 5900        name=None,
 5901        port_override=None,
 5902        proxy_cluster_id=None,
 5903        region=None,
 5904        role_arn=None,
 5905        role_external_id=None,
 5906        secret_store_id=None,
 5907        subdomain=None,
 5908        tags=None,
 5909        tlsrequired=None,
 5910    ):
 5911        self.bind_interface = bind_interface if bind_interface is not None else ''
 5912        '''
 5913         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5914        '''
 5915        self.egress_filter = egress_filter if egress_filter is not None else ''
 5916        '''
 5917         A filter applied to the routing logic to pin datasource to nodes.
 5918        '''
 5919        self.endpoint = endpoint if endpoint is not None else ''
 5920        '''
 5921         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5922        '''
 5923        self.healthy = healthy if healthy is not None else False
 5924        '''
 5925         True if the datasource is reachable and the credentials are valid.
 5926        '''
 5927        self.id = id if id is not None else ''
 5928        '''
 5929         Unique identifier of the Resource.
 5930        '''
 5931        self.name = name if name is not None else ''
 5932        '''
 5933         Unique human-readable name of the Resource.
 5934        '''
 5935        self.port_override = port_override if port_override is not None else 0
 5936        '''
 5937         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5938        '''
 5939        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5940        '''
 5941         ID of the proxy cluster for this resource, if any.
 5942        '''
 5943        self.region = region if region is not None else ''
 5944        '''
 5945         The AWS region to connect to.
 5946        '''
 5947        self.role_arn = role_arn if role_arn is not None else ''
 5948        '''
 5949         The role to assume after logging in.
 5950        '''
 5951        self.role_external_id = role_external_id if role_external_id is not None else ''
 5952        '''
 5953         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5954        '''
 5955        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5956        '''
 5957         ID of the secret store containing credentials for this resource, if any.
 5958        '''
 5959        self.subdomain = subdomain if subdomain is not None else ''
 5960        '''
 5961         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5962        '''
 5963        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5964        '''
 5965         Tags is a map of key, value pairs.
 5966        '''
 5967        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 5968        '''
 5969         Use TLS to connect to the OpenSearch server
 5970        '''
 5971
 5972    def __repr__(self):
 5973        return '<sdm.AmazonESIAM ' + \
 5974            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5975            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5976            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5977            'healthy: ' + repr(self.healthy) + ' ' +\
 5978            'id: ' + repr(self.id) + ' ' +\
 5979            'name: ' + repr(self.name) + ' ' +\
 5980            'port_override: ' + repr(self.port_override) + ' ' +\
 5981            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5982            'region: ' + repr(self.region) + ' ' +\
 5983            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5984            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5985            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5986            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5987            'tags: ' + repr(self.tags) + ' ' +\
 5988            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 5989            '>'
 5990
 5991    def to_dict(self):
 5992        return {
 5993            'bind_interface': self.bind_interface,
 5994            'egress_filter': self.egress_filter,
 5995            'endpoint': self.endpoint,
 5996            'healthy': self.healthy,
 5997            'id': self.id,
 5998            'name': self.name,
 5999            'port_override': self.port_override,
 6000            'proxy_cluster_id': self.proxy_cluster_id,
 6001            'region': self.region,
 6002            'role_arn': self.role_arn,
 6003            'role_external_id': self.role_external_id,
 6004            'secret_store_id': self.secret_store_id,
 6005            'subdomain': self.subdomain,
 6006            'tags': self.tags,
 6007            'tlsrequired': self.tlsrequired,
 6008        }
 6009
 6010    @classmethod
 6011    def from_dict(cls, d):
 6012        return cls(
 6013            bind_interface=d.get('bind_interface'),
 6014            egress_filter=d.get('egress_filter'),
 6015            endpoint=d.get('endpoint'),
 6016            healthy=d.get('healthy'),
 6017            id=d.get('id'),
 6018            name=d.get('name'),
 6019            port_override=d.get('port_override'),
 6020            proxy_cluster_id=d.get('proxy_cluster_id'),
 6021            region=d.get('region'),
 6022            role_arn=d.get('role_arn'),
 6023            role_external_id=d.get('role_external_id'),
 6024            secret_store_id=d.get('secret_store_id'),
 6025            subdomain=d.get('subdomain'),
 6026            tags=d.get('tags'),
 6027            tlsrequired=d.get('tlsrequired'),
 6028        )
 6029
 6030
 6031class AmazonMQAMQP091:
 6032    __slots__ = [
 6033        'bind_interface',
 6034        'egress_filter',
 6035        'healthy',
 6036        'hostname',
 6037        'id',
 6038        'name',
 6039        'password',
 6040        'port',
 6041        'port_override',
 6042        'proxy_cluster_id',
 6043        'secret_store_id',
 6044        'subdomain',
 6045        'tags',
 6046        'tls_required',
 6047        'username',
 6048    ]
 6049
 6050    def __init__(
 6051        self,
 6052        bind_interface=None,
 6053        egress_filter=None,
 6054        healthy=None,
 6055        hostname=None,
 6056        id=None,
 6057        name=None,
 6058        password=None,
 6059        port=None,
 6060        port_override=None,
 6061        proxy_cluster_id=None,
 6062        secret_store_id=None,
 6063        subdomain=None,
 6064        tags=None,
 6065        tls_required=None,
 6066        username=None,
 6067    ):
 6068        self.bind_interface = bind_interface if bind_interface is not None else ''
 6069        '''
 6070         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 6071        '''
 6072        self.egress_filter = egress_filter if egress_filter is not None else ''
 6073        '''
 6074         A filter applied to the routing logic to pin datasource to nodes.
 6075        '''
 6076        self.healthy = healthy if healthy is not None else False
 6077        '''
 6078         True if the datasource is reachable and the credentials are valid.
 6079        '''
 6080        self.hostname = hostname if hostname is not None else ''
 6081        '''
 6082         The host to dial to initiate a connection from the egress node to this resource.
 6083        '''
 6084        self.id = id if id is not None else ''
 6085        '''
 6086         Unique identifier of the Resource.
 6087        '''
 6088        self.name = name if name is not None else ''
 6089        '''
 6090         Unique human-readable name of the Resource.
 6091        '''
 6092        self.password = password if password is not None else ''
 6093        '''
 6094         The password to authenticate with.
 6095        '''
 6096        self.port = port if port is not None else 0
 6097        '''
 6098         The port to dial to initiate a connection from the egress node to this resource.
 6099        '''
 6100        self.port_override = port_override if port_override is not None else 0
 6101        '''
 6102         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 6103        '''
 6104        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6105        '''
 6106         ID of the proxy cluster for this resource, if any.
 6107        '''
 6108        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6109        '''
 6110         ID of the secret store containing credentials for this resource, if any.
 6111        '''
 6112        self.subdomain = subdomain if subdomain is not None else ''
 6113        '''
 6114         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 6115        '''
 6116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6117        '''
 6118         Tags is a map of key, value pairs.
 6119        '''
 6120        self.tls_required = tls_required if tls_required is not None else False
 6121        '''
 6122         If set, TLS must be used to connect to this resource.
 6123        '''
 6124        self.username = username if username is not None else ''
 6125        '''
 6126         The username to authenticate with.
 6127        '''
 6128
 6129    def __repr__(self):
 6130        return '<sdm.AmazonMQAMQP091 ' + \
 6131            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6132            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6133            'healthy: ' + repr(self.healthy) + ' ' +\
 6134            'hostname: ' + repr(self.hostname) + ' ' +\
 6135            'id: ' + repr(self.id) + ' ' +\
 6136            'name: ' + repr(self.name) + ' ' +\
 6137            'password: ' + repr(self.password) + ' ' +\
 6138            'port: ' + repr(self.port) + ' ' +\
 6139            'port_override: ' + repr(self.port_override) + ' ' +\
 6140            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6141            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6142            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6143            'tags: ' + repr(self.tags) + ' ' +\
 6144            'tls_required: ' + repr(self.tls_required) + ' ' +\
 6145            'username: ' + repr(self.username) + ' ' +\
 6146            '>'
 6147
 6148    def to_dict(self):
 6149        return {
 6150            'bind_interface': self.bind_interface,
 6151            'egress_filter': self.egress_filter,
 6152            'healthy': self.healthy,
 6153            'hostname': self.hostname,
 6154            'id': self.id,
 6155            'name': self.name,
 6156            'password': self.password,
 6157            'port': self.port,
 6158            'port_override': self.port_override,
 6159            'proxy_cluster_id': self.proxy_cluster_id,
 6160            'secret_store_id': self.secret_store_id,
 6161            'subdomain': self.subdomain,
 6162            'tags': self.tags,
 6163            'tls_required': self.tls_required,
 6164            'username': self.username,
 6165        }
 6166
 6167    @classmethod
 6168    def from_dict(cls, d):
 6169        return cls(
 6170            bind_interface=d.get('bind_interface'),
 6171            egress_filter=d.get('egress_filter'),
 6172            healthy=d.get('healthy'),
 6173            hostname=d.get('hostname'),
 6174            id=d.get('id'),
 6175            name=d.get('name'),
 6176            password=d.get('password'),
 6177            port=d.get('port'),
 6178            port_override=d.get('port_override'),
 6179            proxy_cluster_id=d.get('proxy_cluster_id'),
 6180            secret_store_id=d.get('secret_store_id'),
 6181            subdomain=d.get('subdomain'),
 6182            tags=d.get('tags'),
 6183            tls_required=d.get('tls_required'),
 6184            username=d.get('username'),
 6185        )
 6186
 6187
 6188class ApprovalFlowApprover:
 6189    '''
 6190         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
 6191    '''
 6192    __slots__ = [
 6193        'account_id',
 6194        'group_id',
 6195        'reference',
 6196        'role_id',
 6197    ]
 6198
 6199    def __init__(
 6200        self,
 6201        account_id=None,
 6202        group_id=None,
 6203        reference=None,
 6204        role_id=None,
 6205    ):
 6206        self.account_id = account_id if account_id is not None else ''
 6207        '''
 6208         The approver account id.
 6209        '''
 6210        self.group_id = group_id if group_id is not None else ''
 6211        '''
 6212         The approver group id
 6213        '''
 6214        self.reference = reference if reference is not None else ''
 6215        '''
 6216         A reference to an approver. Must be one of ApproverReference constants.
 6217         If set, the account_id and role_id must be empty.
 6218        '''
 6219        self.role_id = role_id if role_id is not None else ''
 6220        '''
 6221         The approver role id
 6222        '''
 6223
 6224    def __repr__(self):
 6225        return '<sdm.ApprovalFlowApprover ' + \
 6226            'account_id: ' + repr(self.account_id) + ' ' +\
 6227            'group_id: ' + repr(self.group_id) + ' ' +\
 6228            'reference: ' + repr(self.reference) + ' ' +\
 6229            'role_id: ' + repr(self.role_id) + ' ' +\
 6230            '>'
 6231
 6232    def to_dict(self):
 6233        return {
 6234            'account_id': self.account_id,
 6235            'group_id': self.group_id,
 6236            'reference': self.reference,
 6237            'role_id': self.role_id,
 6238        }
 6239
 6240    @classmethod
 6241    def from_dict(cls, d):
 6242        return cls(
 6243            account_id=d.get('account_id'),
 6244            group_id=d.get('group_id'),
 6245            reference=d.get('reference'),
 6246            role_id=d.get('role_id'),
 6247        )
 6248
 6249
 6250class ApprovalFlowStep:
 6251    '''
 6252         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
 6253    '''
 6254    __slots__ = [
 6255        'approvers',
 6256        'quantifier',
 6257        'skip_after',
 6258    ]
 6259
 6260    def __init__(
 6261        self,
 6262        approvers=None,
 6263        quantifier=None,
 6264        skip_after=None,
 6265    ):
 6266        self.approvers = approvers if approvers is not None else []
 6267        '''
 6268         The approvers for this approval step
 6269        '''
 6270        self.quantifier = quantifier if quantifier is not None else ''
 6271        '''
 6272         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
 6273        '''
 6274        self.skip_after = skip_after if skip_after is not None else None
 6275        '''
 6276         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
 6277        '''
 6278
 6279    def __repr__(self):
 6280        return '<sdm.ApprovalFlowStep ' + \
 6281            'approvers: ' + repr(self.approvers) + ' ' +\
 6282            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6283            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6284            '>'
 6285
 6286    def to_dict(self):
 6287        return {
 6288            'approvers': self.approvers,
 6289            'quantifier': self.quantifier,
 6290            'skip_after': self.skip_after,
 6291        }
 6292
 6293    @classmethod
 6294    def from_dict(cls, d):
 6295        return cls(
 6296            approvers=d.get('approvers'),
 6297            quantifier=d.get('quantifier'),
 6298            skip_after=d.get('skip_after'),
 6299        )
 6300
 6301
 6302class ApprovalWorkflow:
 6303    '''
 6304         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 6305     approvers and be approved or denied.
 6306    '''
 6307    __slots__ = [
 6308        'approval_mode',
 6309        'approval_workflow_steps',
 6310        'description',
 6311        'id',
 6312        'name',
 6313    ]
 6314
 6315    def __init__(
 6316        self,
 6317        approval_mode=None,
 6318        approval_workflow_steps=None,
 6319        description=None,
 6320        id=None,
 6321        name=None,
 6322    ):
 6323        self.approval_mode = approval_mode if approval_mode is not None else ''
 6324        '''
 6325         Approval mode of the ApprovalWorkflow
 6326        '''
 6327        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
 6328        '''
 6329         The approval steps of this approval workflow
 6330        '''
 6331        self.description = description if description is not None else ''
 6332        '''
 6333         Optional description of the ApprovalWorkflow.
 6334        '''
 6335        self.id = id if id is not None else ''
 6336        '''
 6337         Unique identifier of the ApprovalWorkflow.
 6338        '''
 6339        self.name = name if name is not None else ''
 6340        '''
 6341         Unique human-readable name of the ApprovalWorkflow.
 6342        '''
 6343
 6344    def __repr__(self):
 6345        return '<sdm.ApprovalWorkflow ' + \
 6346            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 6347            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
 6348            'description: ' + repr(self.description) + ' ' +\
 6349            'id: ' + repr(self.id) + ' ' +\
 6350            'name: ' + repr(self.name) + ' ' +\
 6351            '>'
 6352
 6353    def to_dict(self):
 6354        return {
 6355            'approval_mode': self.approval_mode,
 6356            'approval_workflow_steps': self.approval_workflow_steps,
 6357            'description': self.description,
 6358            'id': self.id,
 6359            'name': self.name,
 6360        }
 6361
 6362    @classmethod
 6363    def from_dict(cls, d):
 6364        return cls(
 6365            approval_mode=d.get('approval_mode'),
 6366            approval_workflow_steps=d.get('approval_workflow_steps'),
 6367            description=d.get('description'),
 6368            id=d.get('id'),
 6369            name=d.get('name'),
 6370        )
 6371
 6372
 6373class ApprovalWorkflowApprover:
 6374    '''
 6375         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 6376    ApprovalWorkflowApprover is deprecated, see docs for more info.
 6377    '''
 6378    __slots__ = [
 6379        'account_id',
 6380        'approval_flow_id',
 6381        'approval_step_id',
 6382        'id',
 6383        'reference',
 6384        'role_id',
 6385    ]
 6386
 6387    def __init__(
 6388        self,
 6389        account_id=None,
 6390        approval_flow_id=None,
 6391        approval_step_id=None,
 6392        id=None,
 6393        reference=None,
 6394        role_id=None,
 6395    ):
 6396        self.account_id = account_id if account_id is not None else ''
 6397        '''
 6398         The approver account id.
 6399        '''
 6400        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6401        '''
 6402         The approval flow id specified the approval workflow that this approver belongs to
 6403        '''
 6404        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 6405        '''
 6406         The approval step id specified the approval flow step that this approver belongs to
 6407        '''
 6408        self.id = id if id is not None else ''
 6409        '''
 6410         Unique identifier of the ApprovalWorkflowApprover.
 6411        '''
 6412        self.reference = reference if reference is not None else ''
 6413        '''
 6414         A reference to an approver. Will be one of ApproverReference constants.
 6415         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
 6416         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
 6417        '''
 6418        self.role_id = role_id if role_id is not None else ''
 6419        '''
 6420         The approver role id
 6421        '''
 6422
 6423    def __repr__(self):
 6424        return '<sdm.ApprovalWorkflowApprover ' + \
 6425            'account_id: ' + repr(self.account_id) + ' ' +\
 6426            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6427            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 6428            'id: ' + repr(self.id) + ' ' +\
 6429            'reference: ' + repr(self.reference) + ' ' +\
 6430            'role_id: ' + repr(self.role_id) + ' ' +\
 6431            '>'
 6432
 6433    def to_dict(self):
 6434        return {
 6435            'account_id': self.account_id,
 6436            'approval_flow_id': self.approval_flow_id,
 6437            'approval_step_id': self.approval_step_id,
 6438            'id': self.id,
 6439            'reference': self.reference,
 6440            'role_id': self.role_id,
 6441        }
 6442
 6443    @classmethod
 6444    def from_dict(cls, d):
 6445        return cls(
 6446            account_id=d.get('account_id'),
 6447            approval_flow_id=d.get('approval_flow_id'),
 6448            approval_step_id=d.get('approval_step_id'),
 6449            id=d.get('id'),
 6450            reference=d.get('reference'),
 6451            role_id=d.get('role_id'),
 6452        )
 6453
 6454
 6455class ApprovalWorkflowApproverCreateResponse:
 6456    '''
 6457         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 6458    '''
 6459    __slots__ = [
 6460        'approval_workflow_approver',
 6461        'rate_limit',
 6462    ]
 6463
 6464    def __init__(
 6465        self,
 6466        approval_workflow_approver=None,
 6467        rate_limit=None,
 6468    ):
 6469        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 6470        '''
 6471         The created approval workflow approver.
 6472        '''
 6473        self.rate_limit = rate_limit if rate_limit is not None else None
 6474        '''
 6475         Rate limit information.
 6476        '''
 6477
 6478    def __repr__(self):
 6479        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 6480            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 6481            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6482            '>'
 6483
 6484    def to_dict(self):
 6485        return {
 6486            'approval_workflow_approver': self.approval_workflow_approver,
 6487            'rate_limit': self.rate_limit,
 6488        }
 6489
 6490    @classmethod
 6491    def from_dict(cls, d):
 6492        return cls(
 6493            approval_workflow_approver=d.get('approval_workflow_approver'),
 6494            rate_limit=d.get('rate_limit'),
 6495        )
 6496
 6497
 6498class ApprovalWorkflowApproverDeleteResponse:
 6499    '''
 6500         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 6501    '''
 6502    __slots__ = [
 6503        'id',
 6504        'rate_limit',
 6505    ]
 6506
 6507    def __init__(
 6508        self,
 6509        id=None,
 6510        rate_limit=None,
 6511    ):
 6512        self.id = id if id is not None else ''
 6513        '''
 6514         The deleted approval workflow approver id.
 6515        '''
 6516        self.rate_limit = rate_limit if rate_limit is not None else None
 6517        '''
 6518         Rate limit information.
 6519        '''
 6520
 6521    def __repr__(self):
 6522        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 6523            'id: ' + repr(self.id) + ' ' +\
 6524            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6525            '>'
 6526
 6527    def to_dict(self):
 6528        return {
 6529            'id': self.id,
 6530            'rate_limit': self.rate_limit,
 6531        }
 6532
 6533    @classmethod
 6534    def from_dict(cls, d):
 6535        return cls(
 6536            id=d.get('id'),
 6537            rate_limit=d.get('rate_limit'),
 6538        )
 6539
 6540
 6541class ApprovalWorkflowApproverGetResponse:
 6542    '''
 6543         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 6544    '''
 6545    __slots__ = [
 6546        'approval_workflow_approver',
 6547        'meta',
 6548        'rate_limit',
 6549    ]
 6550
 6551    def __init__(
 6552        self,
 6553        approval_workflow_approver=None,
 6554        meta=None,
 6555        rate_limit=None,
 6556    ):
 6557        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 6558        '''
 6559         The requested ApprovalWorkflowApprover.
 6560        '''
 6561        self.meta = meta if meta is not None else None
 6562        '''
 6563         Reserved for future use.
 6564        '''
 6565        self.rate_limit = rate_limit if rate_limit is not None else None
 6566        '''
 6567         Rate limit information.
 6568        '''
 6569
 6570    def __repr__(self):
 6571        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 6572            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 6573            'meta: ' + repr(self.meta) + ' ' +\
 6574            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6575            '>'
 6576
 6577    def to_dict(self):
 6578        return {
 6579            'approval_workflow_approver': self.approval_workflow_approver,
 6580            'meta': self.meta,
 6581            'rate_limit': self.rate_limit,
 6582        }
 6583
 6584    @classmethod
 6585    def from_dict(cls, d):
 6586        return cls(
 6587            approval_workflow_approver=d.get('approval_workflow_approver'),
 6588            meta=d.get('meta'),
 6589            rate_limit=d.get('rate_limit'),
 6590        )
 6591
 6592
 6593class ApprovalWorkflowApproverHistory:
 6594    '''
 6595         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 6596     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 6597     ApprovalWorkflowApproverHistory record.
 6598    '''
 6599    __slots__ = [
 6600        'activity_id',
 6601        'approval_workflow_approver',
 6602        'deleted_at',
 6603        'timestamp',
 6604    ]
 6605
 6606    def __init__(
 6607        self,
 6608        activity_id=None,
 6609        approval_workflow_approver=None,
 6610        deleted_at=None,
 6611        timestamp=None,
 6612    ):
 6613        self.activity_id = activity_id if activity_id is not None else ''
 6614        '''
 6615         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 6616         May be empty for some system-initiated updates.
 6617        '''
 6618        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 6619        '''
 6620         The complete ApprovalWorkflowApprover state at this time.
 6621        '''
 6622        self.deleted_at = deleted_at if deleted_at is not None else None
 6623        '''
 6624         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 6625        '''
 6626        self.timestamp = timestamp if timestamp is not None else None
 6627        '''
 6628         The time at which the ApprovalWorkflowApprover state was recorded.
 6629        '''
 6630
 6631    def __repr__(self):
 6632        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 6633            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6634            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 6635            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6636            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6637            '>'
 6638
 6639    def to_dict(self):
 6640        return {
 6641            'activity_id': self.activity_id,
 6642            'approval_workflow_approver': self.approval_workflow_approver,
 6643            'deleted_at': self.deleted_at,
 6644            'timestamp': self.timestamp,
 6645        }
 6646
 6647    @classmethod
 6648    def from_dict(cls, d):
 6649        return cls(
 6650            activity_id=d.get('activity_id'),
 6651            approval_workflow_approver=d.get('approval_workflow_approver'),
 6652            deleted_at=d.get('deleted_at'),
 6653            timestamp=d.get('timestamp'),
 6654        )
 6655
 6656
 6657class ApprovalWorkflowApproverListResponse:
 6658    '''
 6659         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 6660     the criteria of an ApprovalWorkflowApproverListRequest.
 6661    '''
 6662    __slots__ = [
 6663        'rate_limit',
 6664    ]
 6665
 6666    def __init__(
 6667        self,
 6668        rate_limit=None,
 6669    ):
 6670        self.rate_limit = rate_limit if rate_limit is not None else None
 6671        '''
 6672         Rate limit information.
 6673        '''
 6674
 6675    def __repr__(self):
 6676        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 6677            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6678            '>'
 6679
 6680    def to_dict(self):
 6681        return {
 6682            'rate_limit': self.rate_limit,
 6683        }
 6684
 6685    @classmethod
 6686    def from_dict(cls, d):
 6687        return cls(rate_limit=d.get('rate_limit'), )
 6688
 6689
 6690class ApprovalWorkflowCreateResponse:
 6691    '''
 6692         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 6693    '''
 6694    __slots__ = [
 6695        'approval_workflow',
 6696        'rate_limit',
 6697    ]
 6698
 6699    def __init__(
 6700        self,
 6701        approval_workflow=None,
 6702        rate_limit=None,
 6703    ):
 6704        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6705        '''
 6706         The created approval workflow.
 6707        '''
 6708        self.rate_limit = rate_limit if rate_limit is not None else None
 6709        '''
 6710         Rate limit information.
 6711        '''
 6712
 6713    def __repr__(self):
 6714        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 6715            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6716            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6717            '>'
 6718
 6719    def to_dict(self):
 6720        return {
 6721            'approval_workflow': self.approval_workflow,
 6722            'rate_limit': self.rate_limit,
 6723        }
 6724
 6725    @classmethod
 6726    def from_dict(cls, d):
 6727        return cls(
 6728            approval_workflow=d.get('approval_workflow'),
 6729            rate_limit=d.get('rate_limit'),
 6730        )
 6731
 6732
 6733class ApprovalWorkflowDeleteResponse:
 6734    '''
 6735         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 6736    '''
 6737    __slots__ = [
 6738        'id',
 6739        'rate_limit',
 6740    ]
 6741
 6742    def __init__(
 6743        self,
 6744        id=None,
 6745        rate_limit=None,
 6746    ):
 6747        self.id = id if id is not None else ''
 6748        '''
 6749         The deleted approval workflow id.
 6750        '''
 6751        self.rate_limit = rate_limit if rate_limit is not None else None
 6752        '''
 6753         Rate limit information.
 6754        '''
 6755
 6756    def __repr__(self):
 6757        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 6758            'id: ' + repr(self.id) + ' ' +\
 6759            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6760            '>'
 6761
 6762    def to_dict(self):
 6763        return {
 6764            'id': self.id,
 6765            'rate_limit': self.rate_limit,
 6766        }
 6767
 6768    @classmethod
 6769    def from_dict(cls, d):
 6770        return cls(
 6771            id=d.get('id'),
 6772            rate_limit=d.get('rate_limit'),
 6773        )
 6774
 6775
 6776class ApprovalWorkflowGetResponse:
 6777    '''
 6778         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 6779    '''
 6780    __slots__ = [
 6781        'approval_workflow',
 6782        'meta',
 6783        'rate_limit',
 6784    ]
 6785
 6786    def __init__(
 6787        self,
 6788        approval_workflow=None,
 6789        meta=None,
 6790        rate_limit=None,
 6791    ):
 6792        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6793        '''
 6794         The requested ApprovalWorkflow.
 6795        '''
 6796        self.meta = meta if meta is not None else None
 6797        '''
 6798         Reserved for future use.
 6799        '''
 6800        self.rate_limit = rate_limit if rate_limit is not None else None
 6801        '''
 6802         Rate limit information.
 6803        '''
 6804
 6805    def __repr__(self):
 6806        return '<sdm.ApprovalWorkflowGetResponse ' + \
 6807            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6808            'meta: ' + repr(self.meta) + ' ' +\
 6809            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6810            '>'
 6811
 6812    def to_dict(self):
 6813        return {
 6814            'approval_workflow': self.approval_workflow,
 6815            'meta': self.meta,
 6816            'rate_limit': self.rate_limit,
 6817        }
 6818
 6819    @classmethod
 6820    def from_dict(cls, d):
 6821        return cls(
 6822            approval_workflow=d.get('approval_workflow'),
 6823            meta=d.get('meta'),
 6824            rate_limit=d.get('rate_limit'),
 6825        )
 6826
 6827
 6828class ApprovalWorkflowHistory:
 6829    '''
 6830         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 6831     where every change (create, update and delete) to an ApprovalWorkflow produces an
 6832     ApprovalWorkflowHistory record.
 6833    '''
 6834    __slots__ = [
 6835        'activity_id',
 6836        'approval_workflow',
 6837        'deleted_at',
 6838        'timestamp',
 6839    ]
 6840
 6841    def __init__(
 6842        self,
 6843        activity_id=None,
 6844        approval_workflow=None,
 6845        deleted_at=None,
 6846        timestamp=None,
 6847    ):
 6848        self.activity_id = activity_id if activity_id is not None else ''
 6849        '''
 6850         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 6851         May be empty for some system-initiated updates.
 6852        '''
 6853        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6854        '''
 6855         The complete ApprovalWorkflow state at this time.
 6856        '''
 6857        self.deleted_at = deleted_at if deleted_at is not None else None
 6858        '''
 6859         If this ApprovalWorkflow was deleted, the time it was deleted.
 6860        '''
 6861        self.timestamp = timestamp if timestamp is not None else None
 6862        '''
 6863         The time at which the ApprovalWorkflow state was recorded.
 6864        '''
 6865
 6866    def __repr__(self):
 6867        return '<sdm.ApprovalWorkflowHistory ' + \
 6868            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6869            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6870            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6871            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6872            '>'
 6873
 6874    def to_dict(self):
 6875        return {
 6876            'activity_id': self.activity_id,
 6877            'approval_workflow': self.approval_workflow,
 6878            'deleted_at': self.deleted_at,
 6879            'timestamp': self.timestamp,
 6880        }
 6881
 6882    @classmethod
 6883    def from_dict(cls, d):
 6884        return cls(
 6885            activity_id=d.get('activity_id'),
 6886            approval_workflow=d.get('approval_workflow'),
 6887            deleted_at=d.get('deleted_at'),
 6888            timestamp=d.get('timestamp'),
 6889        )
 6890
 6891
 6892class ApprovalWorkflowListResponse:
 6893    '''
 6894         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 6895     the criteria of an ApprovalWorkflowListRequest.
 6896    '''
 6897    __slots__ = [
 6898        'rate_limit',
 6899    ]
 6900
 6901    def __init__(
 6902        self,
 6903        rate_limit=None,
 6904    ):
 6905        self.rate_limit = rate_limit if rate_limit is not None else None
 6906        '''
 6907         Rate limit information.
 6908        '''
 6909
 6910    def __repr__(self):
 6911        return '<sdm.ApprovalWorkflowListResponse ' + \
 6912            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6913            '>'
 6914
 6915    def to_dict(self):
 6916        return {
 6917            'rate_limit': self.rate_limit,
 6918        }
 6919
 6920    @classmethod
 6921    def from_dict(cls, d):
 6922        return cls(rate_limit=d.get('rate_limit'), )
 6923
 6924
 6925class ApprovalWorkflowStep:
 6926    '''
 6927         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 6928    ApprovalWorkflowStep is deprecated, see docs for more info.
 6929    '''
 6930    __slots__ = [
 6931        'approval_flow_id',
 6932        'id',
 6933        'quantifier',
 6934        'skip_after',
 6935        'step_order',
 6936    ]
 6937
 6938    def __init__(
 6939        self,
 6940        approval_flow_id=None,
 6941        id=None,
 6942        quantifier=None,
 6943        skip_after=None,
 6944        step_order=None,
 6945    ):
 6946        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6947        '''
 6948         The approval flow id specified the approval workflow that this step belongs to
 6949        '''
 6950        self.id = id if id is not None else ''
 6951        '''
 6952         Unique identifier of the ApprovalWorkflowStep.
 6953        '''
 6954        self.quantifier = quantifier if quantifier is not None else ''
 6955        '''
 6956         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
 6957        '''
 6958        self.skip_after = skip_after if skip_after is not None else None
 6959        '''
 6960         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
 6961        '''
 6962        self.step_order = step_order if step_order is not None else 0
 6963        '''
 6964         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
 6965        '''
 6966
 6967    def __repr__(self):
 6968        return '<sdm.ApprovalWorkflowStep ' + \
 6969            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6970            'id: ' + repr(self.id) + ' ' +\
 6971            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6972            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6973            'step_order: ' + repr(self.step_order) + ' ' +\
 6974            '>'
 6975
 6976    def to_dict(self):
 6977        return {
 6978            'approval_flow_id': self.approval_flow_id,
 6979            'id': self.id,
 6980            'quantifier': self.quantifier,
 6981            'skip_after': self.skip_after,
 6982            'step_order': self.step_order,
 6983        }
 6984
 6985    @classmethod
 6986    def from_dict(cls, d):
 6987        return cls(
 6988            approval_flow_id=d.get('approval_flow_id'),
 6989            id=d.get('id'),
 6990            quantifier=d.get('quantifier'),
 6991            skip_after=d.get('skip_after'),
 6992            step_order=d.get('step_order'),
 6993        )
 6994
 6995
 6996class ApprovalWorkflowStepCreateResponse:
 6997    '''
 6998         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 6999    '''
 7000    __slots__ = [
 7001        'approval_workflow_step',
 7002        'rate_limit',
 7003    ]
 7004
 7005    def __init__(
 7006        self,
 7007        approval_workflow_step=None,
 7008        rate_limit=None,
 7009    ):
 7010        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 7011        '''
 7012         The created approval workflow step.
 7013        '''
 7014        self.rate_limit = rate_limit if rate_limit is not None else None
 7015        '''
 7016         Rate limit information.
 7017        '''
 7018
 7019    def __repr__(self):
 7020        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 7021            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 7022            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 7023            '>'
 7024
 7025    def to_dict(self):
 7026        return {
 7027            'approval_workflow_step': self.approval_workflow_step,
 7028            'rate_limit': self.rate_limit,
 7029        }
 7030
 7031    @classmethod
 7032    def from_dict(cls, d):
 7033        return cls(
 7034            approval_workflow_step=d.get('approval_workflow_step'),
 7035            rate_limit=d.get('rate_limit'),
 7036        )
 7037
 7038
 7039class ApprovalWorkflowStepDeleteResponse:
 7040    '''
 7041         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 7042    '''
 7043    __slots__ = [
 7044        'id',
 7045        'rate_limit',
 7046    ]
 7047
 7048    def __init__(
 7049        self,
 7050        id=None,
 7051        rate_limit=None,
 7052    ):
 7053        self.id = id if id is not None else ''
 7054        '''
 7055         The deleted approval workflow step id.
 7056        '''
 7057        self.rate_limit = rate_limit if rate_limit is not None else None
 7058        '''
 7059         Rate limit information.
 7060        '''
 7061
 7062    def __repr__(self):
 7063        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 7064            'id: ' + repr(self.id) + ' ' +\
 7065            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 7066            '>'
 7067
 7068    def to_dict(self):
 7069        return {
 7070            'id': self.id,
 7071            'rate_limit': self.rate_limit,
 7072        }
 7073
 7074    @classmethod
 7075    def from_dict(cls, d):
 7076        return cls(
 7077            id=d.get('id'),
 7078            rate_limit=d.get('rate_limit'),
 7079        )
 7080
 7081
 7082class ApprovalWorkflowStepGetResponse:
 7083    '''
 7084         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 7085    '''
 7086    __slots__ = [
 7087        'approval_workflow_step',
 7088        'meta',
 7089        'rate_limit',
 7090    ]
 7091
 7092    def __init__(
 7093        self,
 7094        approval_workflow_step=None,
 7095        meta=None,
 7096        rate_limit=None,
 7097    ):
 7098        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 7099        '''
 7100         The requested ApprovalWorkflowStep.
 7101        '''
 7102        self.meta = meta if meta is not None else None
 7103        '''
 7104         Reserved for future use.
 7105        '''
 7106        self.rate_limit = rate_limit if rate_limit is not None else None
 7107        '''
 7108         Rate limit information.
 7109        '''
 7110
 7111    def __repr__(self):
 7112        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 7113            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 7114            'meta: ' + repr(self.meta) + ' ' +\
 7115            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 7116            '>'
 7117
 7118    def to_dict(self):
 7119        return {
 7120            'approval_workflow_step': self.approval_workflow_step,
 7121            'meta': self.meta,
 7122            'rate_limit': self.rate_limit,
 7123        }
 7124
 7125    @classmethod
 7126    def from_dict(cls, d):
 7127        return cls(
 7128            approval_workflow_step=d.get('approval_workflow_step'),
 7129            meta=d.get('meta'),
 7130            rate_limit=d.get('rate_limit'),
 7131        )
 7132
 7133
 7134class ApprovalWorkflowStepHistory:
 7135    '''
 7136         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 7137     where every change (create or delete) to an ApprovalWorkflowStep produces an
 7138     ApprovalWorkflowStepHistory record.
 7139    '''
 7140    __slots__ = [
 7141        'activity_id',
 7142        'approval_workflow_step',
 7143        'deleted_at',
 7144        'timestamp',
 7145    ]
 7146
 7147    def __init__(
 7148        self,
 7149        activity_id=None,
 7150        approval_workflow_step=None,
 7151        deleted_at=None,
 7152        timestamp=None,
 7153    ):
 7154        self.activity_id = activity_id if activity_id is not None else ''
 7155        '''
 7156         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 7157         May be empty for some system-initiated updates.
 7158        '''
 7159        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 7160        '''
 7161         The complete ApprovalWorkflowStep state at this time.
 7162        '''
 7163        self.deleted_at = deleted_at if deleted_at is not None else None
 7164        '''
 7165         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 7166        '''
 7167        self.timestamp = timestamp if timestamp is not None else None
 7168        '''
 7169         The time at which the ApprovalWorkflowStep state was recorded.
 7170        '''
 7171
 7172    def __repr__(self):
 7173        return '<sdm.ApprovalWorkflowStepHistory ' + \
 7174            'activity_id: ' + repr(self.activity_id) + ' ' +\
 7175            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 7176            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 7177            'timestamp: ' + repr(self.timestamp) + ' ' +\
 7178            '>'
 7179
 7180    def to_dict(self):
 7181        return {
 7182            'activity_id': self.activity_id,
 7183            'approval_workflow_step': self.approval_workflow_step,
 7184            'deleted_at': self.deleted_at,
 7185            'timestamp': self.timestamp,
 7186        }
 7187
 7188    @classmethod
 7189    def from_dict(cls, d):
 7190        return cls(
 7191            activity_id=d.get('activity_id'),
 7192            approval_workflow_step=d.get('approval_workflow_step'),
 7193            deleted_at=d.get('deleted_at'),
 7194            timestamp=d.get('timestamp'),
 7195        )
 7196
 7197
 7198class ApprovalWorkflowStepListResponse:
 7199    '''
 7200         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 7201     the criteria of an ApprovalWorkflowStepListRequest.
 7202    '''
 7203    __slots__ = [
 7204        'rate_limit',
 7205    ]
 7206
 7207    def __init__(
 7208        self,
 7209        rate_limit=None,
 7210    ):
 7211        self.rate_limit = rate_limit if rate_limit is not None else None
 7212        '''
 7213         Rate limit information.
 7214        '''
 7215
 7216    def __repr__(self):
 7217        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 7218            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 7219            '>'
 7220
 7221    def to_dict(self):
 7222        return {
 7223            'rate_limit': self.rate_limit,
 7224        }
 7225
 7226    @classmethod
 7227    def from_dict(cls, d):
 7228        return cls(rate_limit=d.get('rate_limit'), )
 7229
 7230
 7231class ApprovalWorkflowUpdateResponse:
 7232    '''
 7233         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 7234     an ApprovalWorkflowUpdateRequest.
 7235    '''
 7236    __slots__ = [
 7237        'approval_workflow',
 7238        'rate_limit',
 7239    ]
 7240
 7241    def __init__(
 7242        self,
 7243        approval_workflow=None,
 7244        rate_limit=None,
 7245    ):
 7246        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 7247        '''
 7248         The updated approval workflow.
 7249        '''
 7250        self.rate_limit = rate_limit if rate_limit is not None else None
 7251        '''
 7252         Rate limit information.
 7253        '''
 7254
 7255    def __repr__(self):
 7256        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 7257            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 7258            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 7259            '>'
 7260
 7261    def to_dict(self):
 7262        return {
 7263            'approval_workflow': self.approval_workflow,
 7264            'rate_limit': self.rate_limit,
 7265        }
 7266
 7267    @classmethod
 7268    def from_dict(cls, d):
 7269        return cls(
 7270            approval_workflow=d.get('approval_workflow'),
 7271            rate_limit=d.get('rate_limit'),
 7272        )
 7273
 7274
 7275class Athena:
 7276    __slots__ = [
 7277        'access_key',
 7278        'bind_interface',
 7279        'egress_filter',
 7280        'healthy',
 7281        'id',
 7282        'name',
 7283        'output',
 7284        'port_override',
 7285        'proxy_cluster_id',
 7286        'region',
 7287        'role_arn',
 7288        'role_external_id',
 7289        'secret_access_key',
 7290        'secret_store_id',
 7291        'subdomain',
 7292        'tags',
 7293    ]
 7294
 7295    def __init__(
 7296        self,
 7297        access_key=None,
 7298        bind_interface=None,
 7299        egress_filter=None,
 7300        healthy=None,
 7301        id=None,
 7302        name=None,
 7303        output=None,
 7304        port_override=None,
 7305        proxy_cluster_id=None,
 7306        region=None,
 7307        role_arn=None,
 7308        role_external_id=None,
 7309        secret_access_key=None,
 7310        secret_store_id=None,
 7311        subdomain=None,
 7312        tags=None,
 7313    ):
 7314        self.access_key = access_key if access_key is not None else ''
 7315        '''
 7316         The Access Key ID to use to authenticate.
 7317        '''
 7318        self.bind_interface = bind_interface if bind_interface is not None else ''
 7319        '''
 7320         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7321        '''
 7322        self.egress_filter = egress_filter if egress_filter is not None else ''
 7323        '''
 7324         A filter applied to the routing logic to pin datasource to nodes.
 7325        '''
 7326        self.healthy = healthy if healthy is not None else False
 7327        '''
 7328         True if the datasource is reachable and the credentials are valid.
 7329        '''
 7330        self.id = id if id is not None else ''
 7331        '''
 7332         Unique identifier of the Resource.
 7333        '''
 7334        self.name = name if name is not None else ''
 7335        '''
 7336         Unique human-readable name of the Resource.
 7337        '''
 7338        self.output = output if output is not None else ''
 7339        '''
 7340         The AWS S3 output location.
 7341        '''
 7342        self.port_override = port_override if port_override is not None else 0
 7343        '''
 7344         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7345        '''
 7346        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7347        '''
 7348         ID of the proxy cluster for this resource, if any.
 7349        '''
 7350        self.region = region if region is not None else ''
 7351        '''
 7352         The AWS region to connect to e.g. us-east-1.
 7353        '''
 7354        self.role_arn = role_arn if role_arn is not None else ''
 7355        '''
 7356         The role to assume after logging in.
 7357        '''
 7358        self.role_external_id = role_external_id if role_external_id is not None else ''
 7359        '''
 7360         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 7361        '''
 7362        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 7363        '''
 7364         The Secret Access Key to use to authenticate.
 7365        '''
 7366        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7367        '''
 7368         ID of the secret store containing credentials for this resource, if any.
 7369        '''
 7370        self.subdomain = subdomain if subdomain is not None else ''
 7371        '''
 7372         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7373        '''
 7374        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7375        '''
 7376         Tags is a map of key, value pairs.
 7377        '''
 7378
 7379    def __repr__(self):
 7380        return '<sdm.Athena ' + \
 7381            'access_key: ' + repr(self.access_key) + ' ' +\
 7382            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7383            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7384            'healthy: ' + repr(self.healthy) + ' ' +\
 7385            'id: ' + repr(self.id) + ' ' +\
 7386            'name: ' + repr(self.name) + ' ' +\
 7387            'output: ' + repr(self.output) + ' ' +\
 7388            'port_override: ' + repr(self.port_override) + ' ' +\
 7389            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7390            'region: ' + repr(self.region) + ' ' +\
 7391            'role_arn: ' + repr(self.role_arn) + ' ' +\
 7392            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 7393            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 7394            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7395            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7396            'tags: ' + repr(self.tags) + ' ' +\
 7397            '>'
 7398
 7399    def to_dict(self):
 7400        return {
 7401            'access_key': self.access_key,
 7402            'bind_interface': self.bind_interface,
 7403            'egress_filter': self.egress_filter,
 7404            'healthy': self.healthy,
 7405            'id': self.id,
 7406            'name': self.name,
 7407            'output': self.output,
 7408            'port_override': self.port_override,
 7409            'proxy_cluster_id': self.proxy_cluster_id,
 7410            'region': self.region,
 7411            'role_arn': self.role_arn,
 7412            'role_external_id': self.role_external_id,
 7413            'secret_access_key': self.secret_access_key,
 7414            'secret_store_id': self.secret_store_id,
 7415            'subdomain': self.subdomain,
 7416            'tags': self.tags,
 7417        }
 7418
 7419    @classmethod
 7420    def from_dict(cls, d):
 7421        return cls(
 7422            access_key=d.get('access_key'),
 7423            bind_interface=d.get('bind_interface'),
 7424            egress_filter=d.get('egress_filter'),
 7425            healthy=d.get('healthy'),
 7426            id=d.get('id'),
 7427            name=d.get('name'),
 7428            output=d.get('output'),
 7429            port_override=d.get('port_override'),
 7430            proxy_cluster_id=d.get('proxy_cluster_id'),
 7431            region=d.get('region'),
 7432            role_arn=d.get('role_arn'),
 7433            role_external_id=d.get('role_external_id'),
 7434            secret_access_key=d.get('secret_access_key'),
 7435            secret_store_id=d.get('secret_store_id'),
 7436            subdomain=d.get('subdomain'),
 7437            tags=d.get('tags'),
 7438        )
 7439
 7440
 7441class AthenaIAM:
 7442    __slots__ = [
 7443        'bind_interface',
 7444        'egress_filter',
 7445        'healthy',
 7446        'id',
 7447        'name',
 7448        'output',
 7449        'port_override',
 7450        'proxy_cluster_id',
 7451        'region',
 7452        'role_arn',
 7453        'role_external_id',
 7454        'secret_store_id',
 7455        'subdomain',
 7456        'tags',
 7457    ]
 7458
 7459    def __init__(
 7460        self,
 7461        bind_interface=None,
 7462        egress_filter=None,
 7463        healthy=None,
 7464        id=None,
 7465        name=None,
 7466        output=None,
 7467        port_override=None,
 7468        proxy_cluster_id=None,
 7469        region=None,
 7470        role_arn=None,
 7471        role_external_id=None,
 7472        secret_store_id=None,
 7473        subdomain=None,
 7474        tags=None,
 7475    ):
 7476        self.bind_interface = bind_interface if bind_interface is not None else ''
 7477        '''
 7478         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7479        '''
 7480        self.egress_filter = egress_filter if egress_filter is not None else ''
 7481        '''
 7482         A filter applied to the routing logic to pin datasource to nodes.
 7483        '''
 7484        self.healthy = healthy if healthy is not None else False
 7485        '''
 7486         True if the datasource is reachable and the credentials are valid.
 7487        '''
 7488        self.id = id if id is not None else ''
 7489        '''
 7490         Unique identifier of the Resource.
 7491        '''
 7492        self.name = name if name is not None else ''
 7493        '''
 7494         Unique human-readable name of the Resource.
 7495        '''
 7496        self.output = output if output is not None else ''
 7497        '''
 7498         The AWS S3 output location.
 7499        '''
 7500        self.port_override = port_override if port_override is not None else 0
 7501        '''
 7502         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7503        '''
 7504        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7505        '''
 7506         ID of the proxy cluster for this resource, if any.
 7507        '''
 7508        self.region = region if region is not None else ''
 7509        '''
 7510         The AWS region to connect to e.g. us-east-1.
 7511        '''
 7512        self.role_arn = role_arn if role_arn is not None else ''
 7513        '''
 7514         The role to assume after logging in.
 7515        '''
 7516        self.role_external_id = role_external_id if role_external_id is not None else ''
 7517        '''
 7518         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 7519        '''
 7520        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7521        '''
 7522         ID of the secret store containing credentials for this resource, if any.
 7523        '''
 7524        self.subdomain = subdomain if subdomain is not None else ''
 7525        '''
 7526         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7527        '''
 7528        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7529        '''
 7530         Tags is a map of key, value pairs.
 7531        '''
 7532
 7533    def __repr__(self):
 7534        return '<sdm.AthenaIAM ' + \
 7535            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7536            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7537            'healthy: ' + repr(self.healthy) + ' ' +\
 7538            'id: ' + repr(self.id) + ' ' +\
 7539            'name: ' + repr(self.name) + ' ' +\
 7540            'output: ' + repr(self.output) + ' ' +\
 7541            'port_override: ' + repr(self.port_override) + ' ' +\
 7542            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7543            'region: ' + repr(self.region) + ' ' +\
 7544            'role_arn: ' + repr(self.role_arn) + ' ' +\
 7545            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 7546            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7547            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7548            'tags: ' + repr(self.tags) + ' ' +\
 7549            '>'
 7550
 7551    def to_dict(self):
 7552        return {
 7553            'bind_interface': self.bind_interface,
 7554            'egress_filter': self.egress_filter,
 7555            'healthy': self.healthy,
 7556            'id': self.id,
 7557            'name': self.name,
 7558            'output': self.output,
 7559            'port_override': self.port_override,
 7560            'proxy_cluster_id': self.proxy_cluster_id,
 7561            'region': self.region,
 7562            'role_arn': self.role_arn,
 7563            'role_external_id': self.role_external_id,
 7564            'secret_store_id': self.secret_store_id,
 7565            'subdomain': self.subdomain,
 7566            'tags': self.tags,
 7567        }
 7568
 7569    @classmethod
 7570    def from_dict(cls, d):
 7571        return cls(
 7572            bind_interface=d.get('bind_interface'),
 7573            egress_filter=d.get('egress_filter'),
 7574            healthy=d.get('healthy'),
 7575            id=d.get('id'),
 7576            name=d.get('name'),
 7577            output=d.get('output'),
 7578            port_override=d.get('port_override'),
 7579            proxy_cluster_id=d.get('proxy_cluster_id'),
 7580            region=d.get('region'),
 7581            role_arn=d.get('role_arn'),
 7582            role_external_id=d.get('role_external_id'),
 7583            secret_store_id=d.get('secret_store_id'),
 7584            subdomain=d.get('subdomain'),
 7585            tags=d.get('tags'),
 7586        )
 7587
 7588
 7589class AuroraMysql:
 7590    __slots__ = [
 7591        'bind_interface',
 7592        'database',
 7593        'egress_filter',
 7594        'healthy',
 7595        'hostname',
 7596        'id',
 7597        'name',
 7598        'password',
 7599        'port',
 7600        'port_override',
 7601        'proxy_cluster_id',
 7602        'require_native_auth',
 7603        'secret_store_id',
 7604        'subdomain',
 7605        'tags',
 7606        'use_azure_single_server_usernames',
 7607        'username',
 7608    ]
 7609
 7610    def __init__(
 7611        self,
 7612        bind_interface=None,
 7613        database=None,
 7614        egress_filter=None,
 7615        healthy=None,
 7616        hostname=None,
 7617        id=None,
 7618        name=None,
 7619        password=None,
 7620        port=None,
 7621        port_override=None,
 7622        proxy_cluster_id=None,
 7623        require_native_auth=None,
 7624        secret_store_id=None,
 7625        subdomain=None,
 7626        tags=None,
 7627        use_azure_single_server_usernames=None,
 7628        username=None,
 7629    ):
 7630        self.bind_interface = bind_interface if bind_interface is not None else ''
 7631        '''
 7632         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7633        '''
 7634        self.database = database if database is not None else ''
 7635        '''
 7636         The database for healthchecks. Does not affect client requests
 7637        '''
 7638        self.egress_filter = egress_filter if egress_filter is not None else ''
 7639        '''
 7640         A filter applied to the routing logic to pin datasource to nodes.
 7641        '''
 7642        self.healthy = healthy if healthy is not None else False
 7643        '''
 7644         True if the datasource is reachable and the credentials are valid.
 7645        '''
 7646        self.hostname = hostname if hostname is not None else ''
 7647        '''
 7648         The host to dial to initiate a connection from the egress node to this resource.
 7649        '''
 7650        self.id = id if id is not None else ''
 7651        '''
 7652         Unique identifier of the Resource.
 7653        '''
 7654        self.name = name if name is not None else ''
 7655        '''
 7656         Unique human-readable name of the Resource.
 7657        '''
 7658        self.password = password if password is not None else ''
 7659        '''
 7660         The password to authenticate with.
 7661        '''
 7662        self.port = port if port is not None else 0
 7663        '''
 7664         The port to dial to initiate a connection from the egress node to this resource.
 7665        '''
 7666        self.port_override = port_override if port_override is not None else 0
 7667        '''
 7668         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7669        '''
 7670        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7671        '''
 7672         ID of the proxy cluster for this resource, if any.
 7673        '''
 7674        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7675        '''
 7676         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7677        '''
 7678        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7679        '''
 7680         ID of the secret store containing credentials for this resource, if any.
 7681        '''
 7682        self.subdomain = subdomain if subdomain is not None else ''
 7683        '''
 7684         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7685        '''
 7686        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7687        '''
 7688         Tags is a map of key, value pairs.
 7689        '''
 7690        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7691        '''
 7692         If true, appends the hostname to the username when hitting a database.azure.com address
 7693        '''
 7694        self.username = username if username is not None else ''
 7695        '''
 7696         The username to authenticate with.
 7697        '''
 7698
 7699    def __repr__(self):
 7700        return '<sdm.AuroraMysql ' + \
 7701            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7702            'database: ' + repr(self.database) + ' ' +\
 7703            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7704            'healthy: ' + repr(self.healthy) + ' ' +\
 7705            'hostname: ' + repr(self.hostname) + ' ' +\
 7706            'id: ' + repr(self.id) + ' ' +\
 7707            'name: ' + repr(self.name) + ' ' +\
 7708            'password: ' + repr(self.password) + ' ' +\
 7709            'port: ' + repr(self.port) + ' ' +\
 7710            'port_override: ' + repr(self.port_override) + ' ' +\
 7711            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7712            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7713            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7714            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7715            'tags: ' + repr(self.tags) + ' ' +\
 7716            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7717            'username: ' + repr(self.username) + ' ' +\
 7718            '>'
 7719
 7720    def to_dict(self):
 7721        return {
 7722            'bind_interface': self.bind_interface,
 7723            'database': self.database,
 7724            'egress_filter': self.egress_filter,
 7725            'healthy': self.healthy,
 7726            'hostname': self.hostname,
 7727            'id': self.id,
 7728            'name': self.name,
 7729            'password': self.password,
 7730            'port': self.port,
 7731            'port_override': self.port_override,
 7732            'proxy_cluster_id': self.proxy_cluster_id,
 7733            'require_native_auth': self.require_native_auth,
 7734            'secret_store_id': self.secret_store_id,
 7735            'subdomain': self.subdomain,
 7736            'tags': self.tags,
 7737            'use_azure_single_server_usernames':
 7738            self.use_azure_single_server_usernames,
 7739            'username': self.username,
 7740        }
 7741
 7742    @classmethod
 7743    def from_dict(cls, d):
 7744        return cls(
 7745            bind_interface=d.get('bind_interface'),
 7746            database=d.get('database'),
 7747            egress_filter=d.get('egress_filter'),
 7748            healthy=d.get('healthy'),
 7749            hostname=d.get('hostname'),
 7750            id=d.get('id'),
 7751            name=d.get('name'),
 7752            password=d.get('password'),
 7753            port=d.get('port'),
 7754            port_override=d.get('port_override'),
 7755            proxy_cluster_id=d.get('proxy_cluster_id'),
 7756            require_native_auth=d.get('require_native_auth'),
 7757            secret_store_id=d.get('secret_store_id'),
 7758            subdomain=d.get('subdomain'),
 7759            tags=d.get('tags'),
 7760            use_azure_single_server_usernames=d.get(
 7761                'use_azure_single_server_usernames'),
 7762            username=d.get('username'),
 7763        )
 7764
 7765
 7766class AuroraMysqlIAM:
 7767    __slots__ = [
 7768        'bind_interface',
 7769        'database',
 7770        'egress_filter',
 7771        'healthy',
 7772        'hostname',
 7773        'id',
 7774        'name',
 7775        'port',
 7776        'port_override',
 7777        'proxy_cluster_id',
 7778        'region',
 7779        'role_assumption_arn',
 7780        'secret_store_id',
 7781        'subdomain',
 7782        'tags',
 7783        'username',
 7784    ]
 7785
 7786    def __init__(
 7787        self,
 7788        bind_interface=None,
 7789        database=None,
 7790        egress_filter=None,
 7791        healthy=None,
 7792        hostname=None,
 7793        id=None,
 7794        name=None,
 7795        port=None,
 7796        port_override=None,
 7797        proxy_cluster_id=None,
 7798        region=None,
 7799        role_assumption_arn=None,
 7800        secret_store_id=None,
 7801        subdomain=None,
 7802        tags=None,
 7803        username=None,
 7804    ):
 7805        self.bind_interface = bind_interface if bind_interface is not None else ''
 7806        '''
 7807         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7808        '''
 7809        self.database = database if database is not None else ''
 7810        '''
 7811         The database for healthchecks. Does not affect client requests
 7812        '''
 7813        self.egress_filter = egress_filter if egress_filter is not None else ''
 7814        '''
 7815         A filter applied to the routing logic to pin datasource to nodes.
 7816        '''
 7817        self.healthy = healthy if healthy is not None else False
 7818        '''
 7819         True if the datasource is reachable and the credentials are valid.
 7820        '''
 7821        self.hostname = hostname if hostname is not None else ''
 7822        '''
 7823         The host to dial to initiate a connection from the egress node to this resource.
 7824        '''
 7825        self.id = id if id is not None else ''
 7826        '''
 7827         Unique identifier of the Resource.
 7828        '''
 7829        self.name = name if name is not None else ''
 7830        '''
 7831         Unique human-readable name of the Resource.
 7832        '''
 7833        self.port = port if port is not None else 0
 7834        '''
 7835         The port to dial to initiate a connection from the egress node to this resource.
 7836        '''
 7837        self.port_override = port_override if port_override is not None else 0
 7838        '''
 7839         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7840        '''
 7841        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7842        '''
 7843         ID of the proxy cluster for this resource, if any.
 7844        '''
 7845        self.region = region if region is not None else ''
 7846        '''
 7847         The AWS region to connect to.
 7848        '''
 7849        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7850        '''
 7851         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7852        '''
 7853        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7854        '''
 7855         ID of the secret store containing credentials for this resource, if any.
 7856        '''
 7857        self.subdomain = subdomain if subdomain is not None else ''
 7858        '''
 7859         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7860        '''
 7861        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7862        '''
 7863         Tags is a map of key, value pairs.
 7864        '''
 7865        self.username = username if username is not None else ''
 7866        '''
 7867         The username to authenticate with.
 7868        '''
 7869
 7870    def __repr__(self):
 7871        return '<sdm.AuroraMysqlIAM ' + \
 7872            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7873            'database: ' + repr(self.database) + ' ' +\
 7874            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7875            'healthy: ' + repr(self.healthy) + ' ' +\
 7876            'hostname: ' + repr(self.hostname) + ' ' +\
 7877            'id: ' + repr(self.id) + ' ' +\
 7878            'name: ' + repr(self.name) + ' ' +\
 7879            'port: ' + repr(self.port) + ' ' +\
 7880            'port_override: ' + repr(self.port_override) + ' ' +\
 7881            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7882            'region: ' + repr(self.region) + ' ' +\
 7883            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7884            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7885            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7886            'tags: ' + repr(self.tags) + ' ' +\
 7887            'username: ' + repr(self.username) + ' ' +\
 7888            '>'
 7889
 7890    def to_dict(self):
 7891        return {
 7892            'bind_interface': self.bind_interface,
 7893            'database': self.database,
 7894            'egress_filter': self.egress_filter,
 7895            'healthy': self.healthy,
 7896            'hostname': self.hostname,
 7897            'id': self.id,
 7898            'name': self.name,
 7899            'port': self.port,
 7900            'port_override': self.port_override,
 7901            'proxy_cluster_id': self.proxy_cluster_id,
 7902            'region': self.region,
 7903            'role_assumption_arn': self.role_assumption_arn,
 7904            'secret_store_id': self.secret_store_id,
 7905            'subdomain': self.subdomain,
 7906            'tags': self.tags,
 7907            'username': self.username,
 7908        }
 7909
 7910    @classmethod
 7911    def from_dict(cls, d):
 7912        return cls(
 7913            bind_interface=d.get('bind_interface'),
 7914            database=d.get('database'),
 7915            egress_filter=d.get('egress_filter'),
 7916            healthy=d.get('healthy'),
 7917            hostname=d.get('hostname'),
 7918            id=d.get('id'),
 7919            name=d.get('name'),
 7920            port=d.get('port'),
 7921            port_override=d.get('port_override'),
 7922            proxy_cluster_id=d.get('proxy_cluster_id'),
 7923            region=d.get('region'),
 7924            role_assumption_arn=d.get('role_assumption_arn'),
 7925            secret_store_id=d.get('secret_store_id'),
 7926            subdomain=d.get('subdomain'),
 7927            tags=d.get('tags'),
 7928            username=d.get('username'),
 7929        )
 7930
 7931
 7932class AuroraPostgres:
 7933    __slots__ = [
 7934        'bind_interface',
 7935        'database',
 7936        'egress_filter',
 7937        'healthy',
 7938        'hostname',
 7939        'id',
 7940        'name',
 7941        'override_database',
 7942        'password',
 7943        'port',
 7944        'port_override',
 7945        'proxy_cluster_id',
 7946        'secret_store_id',
 7947        'subdomain',
 7948        'tags',
 7949        'username',
 7950    ]
 7951
 7952    def __init__(
 7953        self,
 7954        bind_interface=None,
 7955        database=None,
 7956        egress_filter=None,
 7957        healthy=None,
 7958        hostname=None,
 7959        id=None,
 7960        name=None,
 7961        override_database=None,
 7962        password=None,
 7963        port=None,
 7964        port_override=None,
 7965        proxy_cluster_id=None,
 7966        secret_store_id=None,
 7967        subdomain=None,
 7968        tags=None,
 7969        username=None,
 7970    ):
 7971        self.bind_interface = bind_interface if bind_interface is not None else ''
 7972        '''
 7973         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7974        '''
 7975        self.database = database if database is not None else ''
 7976        '''
 7977         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7978        '''
 7979        self.egress_filter = egress_filter if egress_filter is not None else ''
 7980        '''
 7981         A filter applied to the routing logic to pin datasource to nodes.
 7982        '''
 7983        self.healthy = healthy if healthy is not None else False
 7984        '''
 7985         True if the datasource is reachable and the credentials are valid.
 7986        '''
 7987        self.hostname = hostname if hostname is not None else ''
 7988        '''
 7989         The host to dial to initiate a connection from the egress node to this resource.
 7990        '''
 7991        self.id = id if id is not None else ''
 7992        '''
 7993         Unique identifier of the Resource.
 7994        '''
 7995        self.name = name if name is not None else ''
 7996        '''
 7997         Unique human-readable name of the Resource.
 7998        '''
 7999        self.override_database = override_database if override_database is not None else False
 8000        '''
 8001         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8002        '''
 8003        self.password = password if password is not None else ''
 8004        '''
 8005         The password to authenticate with.
 8006        '''
 8007        self.port = port if port is not None else 0
 8008        '''
 8009         The port to dial to initiate a connection from the egress node to this resource.
 8010        '''
 8011        self.port_override = port_override if port_override is not None else 0
 8012        '''
 8013         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8014        '''
 8015        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8016        '''
 8017         ID of the proxy cluster for this resource, if any.
 8018        '''
 8019        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8020        '''
 8021         ID of the secret store containing credentials for this resource, if any.
 8022        '''
 8023        self.subdomain = subdomain if subdomain is not None else ''
 8024        '''
 8025         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8026        '''
 8027        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8028        '''
 8029         Tags is a map of key, value pairs.
 8030        '''
 8031        self.username = username if username is not None else ''
 8032        '''
 8033         The username to authenticate with.
 8034        '''
 8035
 8036    def __repr__(self):
 8037        return '<sdm.AuroraPostgres ' + \
 8038            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8039            'database: ' + repr(self.database) + ' ' +\
 8040            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8041            'healthy: ' + repr(self.healthy) + ' ' +\
 8042            'hostname: ' + repr(self.hostname) + ' ' +\
 8043            'id: ' + repr(self.id) + ' ' +\
 8044            'name: ' + repr(self.name) + ' ' +\
 8045            'override_database: ' + repr(self.override_database) + ' ' +\
 8046            'password: ' + repr(self.password) + ' ' +\
 8047            'port: ' + repr(self.port) + ' ' +\
 8048            'port_override: ' + repr(self.port_override) + ' ' +\
 8049            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8050            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8051            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8052            'tags: ' + repr(self.tags) + ' ' +\
 8053            'username: ' + repr(self.username) + ' ' +\
 8054            '>'
 8055
 8056    def to_dict(self):
 8057        return {
 8058            'bind_interface': self.bind_interface,
 8059            'database': self.database,
 8060            'egress_filter': self.egress_filter,
 8061            'healthy': self.healthy,
 8062            'hostname': self.hostname,
 8063            'id': self.id,
 8064            'name': self.name,
 8065            'override_database': self.override_database,
 8066            'password': self.password,
 8067            'port': self.port,
 8068            'port_override': self.port_override,
 8069            'proxy_cluster_id': self.proxy_cluster_id,
 8070            'secret_store_id': self.secret_store_id,
 8071            'subdomain': self.subdomain,
 8072            'tags': self.tags,
 8073            'username': self.username,
 8074        }
 8075
 8076    @classmethod
 8077    def from_dict(cls, d):
 8078        return cls(
 8079            bind_interface=d.get('bind_interface'),
 8080            database=d.get('database'),
 8081            egress_filter=d.get('egress_filter'),
 8082            healthy=d.get('healthy'),
 8083            hostname=d.get('hostname'),
 8084            id=d.get('id'),
 8085            name=d.get('name'),
 8086            override_database=d.get('override_database'),
 8087            password=d.get('password'),
 8088            port=d.get('port'),
 8089            port_override=d.get('port_override'),
 8090            proxy_cluster_id=d.get('proxy_cluster_id'),
 8091            secret_store_id=d.get('secret_store_id'),
 8092            subdomain=d.get('subdomain'),
 8093            tags=d.get('tags'),
 8094            username=d.get('username'),
 8095        )
 8096
 8097
 8098class AuroraPostgresIAM:
 8099    __slots__ = [
 8100        'bind_interface',
 8101        'database',
 8102        'egress_filter',
 8103        'healthy',
 8104        'hostname',
 8105        'id',
 8106        'name',
 8107        'override_database',
 8108        'port',
 8109        'port_override',
 8110        'proxy_cluster_id',
 8111        'region',
 8112        'role_assumption_arn',
 8113        'secret_store_id',
 8114        'subdomain',
 8115        'tags',
 8116        'username',
 8117    ]
 8118
 8119    def __init__(
 8120        self,
 8121        bind_interface=None,
 8122        database=None,
 8123        egress_filter=None,
 8124        healthy=None,
 8125        hostname=None,
 8126        id=None,
 8127        name=None,
 8128        override_database=None,
 8129        port=None,
 8130        port_override=None,
 8131        proxy_cluster_id=None,
 8132        region=None,
 8133        role_assumption_arn=None,
 8134        secret_store_id=None,
 8135        subdomain=None,
 8136        tags=None,
 8137        username=None,
 8138    ):
 8139        self.bind_interface = bind_interface if bind_interface is not None else ''
 8140        '''
 8141         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8142        '''
 8143        self.database = database if database is not None else ''
 8144        '''
 8145         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8146        '''
 8147        self.egress_filter = egress_filter if egress_filter is not None else ''
 8148        '''
 8149         A filter applied to the routing logic to pin datasource to nodes.
 8150        '''
 8151        self.healthy = healthy if healthy is not None else False
 8152        '''
 8153         True if the datasource is reachable and the credentials are valid.
 8154        '''
 8155        self.hostname = hostname if hostname is not None else ''
 8156        '''
 8157         The host to dial to initiate a connection from the egress node to this resource.
 8158        '''
 8159        self.id = id if id is not None else ''
 8160        '''
 8161         Unique identifier of the Resource.
 8162        '''
 8163        self.name = name if name is not None else ''
 8164        '''
 8165         Unique human-readable name of the Resource.
 8166        '''
 8167        self.override_database = override_database if override_database is not None else False
 8168        '''
 8169         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8170        '''
 8171        self.port = port if port is not None else 0
 8172        '''
 8173         The port to dial to initiate a connection from the egress node to this resource.
 8174        '''
 8175        self.port_override = port_override if port_override is not None else 0
 8176        '''
 8177         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8178        '''
 8179        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8180        '''
 8181         ID of the proxy cluster for this resource, if any.
 8182        '''
 8183        self.region = region if region is not None else ''
 8184        '''
 8185         The AWS region to connect to.
 8186        '''
 8187        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 8188        '''
 8189         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 8190        '''
 8191        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8192        '''
 8193         ID of the secret store containing credentials for this resource, if any.
 8194        '''
 8195        self.subdomain = subdomain if subdomain is not None else ''
 8196        '''
 8197         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8198        '''
 8199        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8200        '''
 8201         Tags is a map of key, value pairs.
 8202        '''
 8203        self.username = username if username is not None else ''
 8204        '''
 8205         The username to authenticate with.
 8206        '''
 8207
 8208    def __repr__(self):
 8209        return '<sdm.AuroraPostgresIAM ' + \
 8210            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8211            'database: ' + repr(self.database) + ' ' +\
 8212            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8213            'healthy: ' + repr(self.healthy) + ' ' +\
 8214            'hostname: ' + repr(self.hostname) + ' ' +\
 8215            'id: ' + repr(self.id) + ' ' +\
 8216            'name: ' + repr(self.name) + ' ' +\
 8217            'override_database: ' + repr(self.override_database) + ' ' +\
 8218            'port: ' + repr(self.port) + ' ' +\
 8219            'port_override: ' + repr(self.port_override) + ' ' +\
 8220            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8221            'region: ' + repr(self.region) + ' ' +\
 8222            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 8223            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8224            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8225            'tags: ' + repr(self.tags) + ' ' +\
 8226            'username: ' + repr(self.username) + ' ' +\
 8227            '>'
 8228
 8229    def to_dict(self):
 8230        return {
 8231            'bind_interface': self.bind_interface,
 8232            'database': self.database,
 8233            'egress_filter': self.egress_filter,
 8234            'healthy': self.healthy,
 8235            'hostname': self.hostname,
 8236            'id': self.id,
 8237            'name': self.name,
 8238            'override_database': self.override_database,
 8239            'port': self.port,
 8240            'port_override': self.port_override,
 8241            'proxy_cluster_id': self.proxy_cluster_id,
 8242            'region': self.region,
 8243            'role_assumption_arn': self.role_assumption_arn,
 8244            'secret_store_id': self.secret_store_id,
 8245            'subdomain': self.subdomain,
 8246            'tags': self.tags,
 8247            'username': self.username,
 8248        }
 8249
 8250    @classmethod
 8251    def from_dict(cls, d):
 8252        return cls(
 8253            bind_interface=d.get('bind_interface'),
 8254            database=d.get('database'),
 8255            egress_filter=d.get('egress_filter'),
 8256            healthy=d.get('healthy'),
 8257            hostname=d.get('hostname'),
 8258            id=d.get('id'),
 8259            name=d.get('name'),
 8260            override_database=d.get('override_database'),
 8261            port=d.get('port'),
 8262            port_override=d.get('port_override'),
 8263            proxy_cluster_id=d.get('proxy_cluster_id'),
 8264            region=d.get('region'),
 8265            role_assumption_arn=d.get('role_assumption_arn'),
 8266            secret_store_id=d.get('secret_store_id'),
 8267            subdomain=d.get('subdomain'),
 8268            tags=d.get('tags'),
 8269            username=d.get('username'),
 8270        )
 8271
 8272
 8273class Azure:
 8274    __slots__ = [
 8275        'app_id',
 8276        'bind_interface',
 8277        'egress_filter',
 8278        'healthy',
 8279        'id',
 8280        'name',
 8281        'password',
 8282        'port_override',
 8283        'proxy_cluster_id',
 8284        'secret_store_id',
 8285        'subdomain',
 8286        'tags',
 8287        'tenant_id',
 8288    ]
 8289
 8290    def __init__(
 8291        self,
 8292        app_id=None,
 8293        bind_interface=None,
 8294        egress_filter=None,
 8295        healthy=None,
 8296        id=None,
 8297        name=None,
 8298        password=None,
 8299        port_override=None,
 8300        proxy_cluster_id=None,
 8301        secret_store_id=None,
 8302        subdomain=None,
 8303        tags=None,
 8304        tenant_id=None,
 8305    ):
 8306        self.app_id = app_id if app_id is not None else ''
 8307        '''
 8308         The application ID to authenticate with.
 8309        '''
 8310        self.bind_interface = bind_interface if bind_interface is not None else ''
 8311        '''
 8312         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8313        '''
 8314        self.egress_filter = egress_filter if egress_filter is not None else ''
 8315        '''
 8316         A filter applied to the routing logic to pin datasource to nodes.
 8317        '''
 8318        self.healthy = healthy if healthy is not None else False
 8319        '''
 8320         True if the datasource is reachable and the credentials are valid.
 8321        '''
 8322        self.id = id if id is not None else ''
 8323        '''
 8324         Unique identifier of the Resource.
 8325        '''
 8326        self.name = name if name is not None else ''
 8327        '''
 8328         Unique human-readable name of the Resource.
 8329        '''
 8330        self.password = password if password is not None else ''
 8331        '''
 8332         The password to authenticate with.
 8333        '''
 8334        self.port_override = port_override if port_override is not None else 0
 8335        '''
 8336         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8337        '''
 8338        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8339        '''
 8340         ID of the proxy cluster for this resource, if any.
 8341        '''
 8342        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8343        '''
 8344         ID of the secret store containing credentials for this resource, if any.
 8345        '''
 8346        self.subdomain = subdomain if subdomain is not None else ''
 8347        '''
 8348         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8349        '''
 8350        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8351        '''
 8352         Tags is a map of key, value pairs.
 8353        '''
 8354        self.tenant_id = tenant_id if tenant_id is not None else ''
 8355        '''
 8356         The tenant ID to authenticate to.
 8357        '''
 8358
 8359    def __repr__(self):
 8360        return '<sdm.Azure ' + \
 8361            'app_id: ' + repr(self.app_id) + ' ' +\
 8362            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8363            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8364            'healthy: ' + repr(self.healthy) + ' ' +\
 8365            'id: ' + repr(self.id) + ' ' +\
 8366            'name: ' + repr(self.name) + ' ' +\
 8367            'password: ' + repr(self.password) + ' ' +\
 8368            'port_override: ' + repr(self.port_override) + ' ' +\
 8369            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8370            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8371            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8372            'tags: ' + repr(self.tags) + ' ' +\
 8373            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 8374            '>'
 8375
 8376    def to_dict(self):
 8377        return {
 8378            'app_id': self.app_id,
 8379            'bind_interface': self.bind_interface,
 8380            'egress_filter': self.egress_filter,
 8381            'healthy': self.healthy,
 8382            'id': self.id,
 8383            'name': self.name,
 8384            'password': self.password,
 8385            'port_override': self.port_override,
 8386            'proxy_cluster_id': self.proxy_cluster_id,
 8387            'secret_store_id': self.secret_store_id,
 8388            'subdomain': self.subdomain,
 8389            'tags': self.tags,
 8390            'tenant_id': self.tenant_id,
 8391        }
 8392
 8393    @classmethod
 8394    def from_dict(cls, d):
 8395        return cls(
 8396            app_id=d.get('app_id'),
 8397            bind_interface=d.get('bind_interface'),
 8398            egress_filter=d.get('egress_filter'),
 8399            healthy=d.get('healthy'),
 8400            id=d.get('id'),
 8401            name=d.get('name'),
 8402            password=d.get('password'),
 8403            port_override=d.get('port_override'),
 8404            proxy_cluster_id=d.get('proxy_cluster_id'),
 8405            secret_store_id=d.get('secret_store_id'),
 8406            subdomain=d.get('subdomain'),
 8407            tags=d.get('tags'),
 8408            tenant_id=d.get('tenant_id'),
 8409        )
 8410
 8411
 8412class AzureCertificate:
 8413    __slots__ = [
 8414        'app_id',
 8415        'bind_interface',
 8416        'client_certificate',
 8417        'egress_filter',
 8418        'healthy',
 8419        'id',
 8420        'name',
 8421        'port_override',
 8422        'proxy_cluster_id',
 8423        'secret_store_id',
 8424        'subdomain',
 8425        'tags',
 8426        'tenant_id',
 8427    ]
 8428
 8429    def __init__(
 8430        self,
 8431        app_id=None,
 8432        bind_interface=None,
 8433        client_certificate=None,
 8434        egress_filter=None,
 8435        healthy=None,
 8436        id=None,
 8437        name=None,
 8438        port_override=None,
 8439        proxy_cluster_id=None,
 8440        secret_store_id=None,
 8441        subdomain=None,
 8442        tags=None,
 8443        tenant_id=None,
 8444    ):
 8445        self.app_id = app_id if app_id is not None else ''
 8446        '''
 8447         The application ID to authenticate with.
 8448        '''
 8449        self.bind_interface = bind_interface if bind_interface is not None else ''
 8450        '''
 8451         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8452        '''
 8453        self.client_certificate = client_certificate if client_certificate is not None else ''
 8454        '''
 8455         The service Principal certificate file, both private and public key included.
 8456        '''
 8457        self.egress_filter = egress_filter if egress_filter is not None else ''
 8458        '''
 8459         A filter applied to the routing logic to pin datasource to nodes.
 8460        '''
 8461        self.healthy = healthy if healthy is not None else False
 8462        '''
 8463         True if the datasource is reachable and the credentials are valid.
 8464        '''
 8465        self.id = id if id is not None else ''
 8466        '''
 8467         Unique identifier of the Resource.
 8468        '''
 8469        self.name = name if name is not None else ''
 8470        '''
 8471         Unique human-readable name of the Resource.
 8472        '''
 8473        self.port_override = port_override if port_override is not None else 0
 8474        '''
 8475         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8476        '''
 8477        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8478        '''
 8479         ID of the proxy cluster for this resource, if any.
 8480        '''
 8481        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8482        '''
 8483         ID of the secret store containing credentials for this resource, if any.
 8484        '''
 8485        self.subdomain = subdomain if subdomain is not None else ''
 8486        '''
 8487         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8488        '''
 8489        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8490        '''
 8491         Tags is a map of key, value pairs.
 8492        '''
 8493        self.tenant_id = tenant_id if tenant_id is not None else ''
 8494        '''
 8495         The tenant ID to authenticate to.
 8496        '''
 8497
 8498    def __repr__(self):
 8499        return '<sdm.AzureCertificate ' + \
 8500            'app_id: ' + repr(self.app_id) + ' ' +\
 8501            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8502            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 8503            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8504            'healthy: ' + repr(self.healthy) + ' ' +\
 8505            'id: ' + repr(self.id) + ' ' +\
 8506            'name: ' + repr(self.name) + ' ' +\
 8507            'port_override: ' + repr(self.port_override) + ' ' +\
 8508            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8509            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8510            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8511            'tags: ' + repr(self.tags) + ' ' +\
 8512            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 8513            '>'
 8514
 8515    def to_dict(self):
 8516        return {
 8517            'app_id': self.app_id,
 8518            'bind_interface': self.bind_interface,
 8519            'client_certificate': self.client_certificate,
 8520            'egress_filter': self.egress_filter,
 8521            'healthy': self.healthy,
 8522            'id': self.id,
 8523            'name': self.name,
 8524            'port_override': self.port_override,
 8525            'proxy_cluster_id': self.proxy_cluster_id,
 8526            'secret_store_id': self.secret_store_id,
 8527            'subdomain': self.subdomain,
 8528            'tags': self.tags,
 8529            'tenant_id': self.tenant_id,
 8530        }
 8531
 8532    @classmethod
 8533    def from_dict(cls, d):
 8534        return cls(
 8535            app_id=d.get('app_id'),
 8536            bind_interface=d.get('bind_interface'),
 8537            client_certificate=d.get('client_certificate'),
 8538            egress_filter=d.get('egress_filter'),
 8539            healthy=d.get('healthy'),
 8540            id=d.get('id'),
 8541            name=d.get('name'),
 8542            port_override=d.get('port_override'),
 8543            proxy_cluster_id=d.get('proxy_cluster_id'),
 8544            secret_store_id=d.get('secret_store_id'),
 8545            subdomain=d.get('subdomain'),
 8546            tags=d.get('tags'),
 8547            tenant_id=d.get('tenant_id'),
 8548        )
 8549
 8550
 8551class AzureConnector:
 8552    __slots__ = [
 8553        'client_id',
 8554        'description',
 8555        'exclude_tags',
 8556        'id',
 8557        'include_tags',
 8558        'name',
 8559        'scan_period',
 8560        'services',
 8561        'subscription_ids',
 8562        'tenant_id',
 8563    ]
 8564
 8565    def __init__(
 8566        self,
 8567        client_id=None,
 8568        description=None,
 8569        exclude_tags=None,
 8570        id=None,
 8571        include_tags=None,
 8572        name=None,
 8573        scan_period=None,
 8574        services=None,
 8575        subscription_ids=None,
 8576        tenant_id=None,
 8577    ):
 8578        self.client_id = client_id if client_id is not None else ''
 8579        '''
 8580         ClientId is the ID of the Application / Service Account we're acting as
 8581        '''
 8582        self.description = description if description is not None else ''
 8583        '''
 8584         Description of the Connector.
 8585        '''
 8586        self.exclude_tags = exclude_tags if exclude_tags is not None else []
 8587        '''
 8588         ExcludeTags filters out discovered resources that have the tag and value.
 8589         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
 8590        '''
 8591        self.id = id if id is not None else ''
 8592        '''
 8593         Unique identifier of the Connector.
 8594        '''
 8595        self.include_tags = include_tags if include_tags is not None else []
 8596        '''
 8597         IncludeTags only discovers cloud resources that have one of the included tags.
 8598         We do not allow duplicate tag names for IncludeTags
 8599        '''
 8600        self.name = name if name is not None else ''
 8601        '''
 8602         Unique human-readable name of the Connector.
 8603        '''
 8604        self.scan_period = scan_period if scan_period is not None else ''
 8605        '''
 8606         ScanPeriod identifies which remote system this Connector discovers
 8607        '''
 8608        self.services = services if services is not None else []
 8609        '''
 8610         Services is a list of services this connector should scan.
 8611        '''
 8612        self.subscription_ids = subscription_ids if subscription_ids is not None else []
 8613        '''
 8614         SubscriptionIds are the targets of discovery.
 8615        '''
 8616        self.tenant_id = tenant_id if tenant_id is not None else ''
 8617        '''
 8618         TenantId is the Azure Tenant we're discovering in
 8619        '''
 8620
 8621    def __repr__(self):
 8622        return '<sdm.AzureConnector ' + \
 8623            'client_id: ' + repr(self.client_id) + ' ' +\
 8624            'description: ' + repr(self.description) + ' ' +\
 8625            'exclude_tags: ' + repr(self.exclude_tags) + ' ' +\
 8626            'id: ' + repr(self.id) + ' ' +\
 8627            'include_tags: ' + repr(self.include_tags) + ' ' +\
 8628            'name: ' + repr(self.name) + ' ' +\
 8629            'scan_period: ' + repr(self.scan_period) + ' ' +\
 8630            'services: ' + repr(self.services) + ' ' +\
 8631            'subscription_ids: ' + repr(self.subscription_ids) + ' ' +\
 8632            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 8633            '>'
 8634
 8635    def to_dict(self):
 8636        return {
 8637            'client_id': self.client_id,
 8638            'description': self.description,
 8639            'exclude_tags': self.exclude_tags,
 8640            'id': self.id,
 8641            'include_tags': self.include_tags,
 8642            'name': self.name,
 8643            'scan_period': self.scan_period,
 8644            'services': self.services,
 8645            'subscription_ids': self.subscription_ids,
 8646            'tenant_id': self.tenant_id,
 8647        }
 8648
 8649    @classmethod
 8650    def from_dict(cls, d):
 8651        return cls(
 8652            client_id=d.get('client_id'),
 8653            description=d.get('description'),
 8654            exclude_tags=d.get('exclude_tags'),
 8655            id=d.get('id'),
 8656            include_tags=d.get('include_tags'),
 8657            name=d.get('name'),
 8658            scan_period=d.get('scan_period'),
 8659            services=d.get('services'),
 8660            subscription_ids=d.get('subscription_ids'),
 8661            tenant_id=d.get('tenant_id'),
 8662        )
 8663
 8664
 8665class AzureMysql:
 8666    __slots__ = [
 8667        'bind_interface',
 8668        'database',
 8669        'egress_filter',
 8670        'healthy',
 8671        'hostname',
 8672        'id',
 8673        'name',
 8674        'password',
 8675        'port',
 8676        'port_override',
 8677        'proxy_cluster_id',
 8678        'require_native_auth',
 8679        'secret_store_id',
 8680        'subdomain',
 8681        'tags',
 8682        'use_azure_single_server_usernames',
 8683        'username',
 8684    ]
 8685
 8686    def __init__(
 8687        self,
 8688        bind_interface=None,
 8689        database=None,
 8690        egress_filter=None,
 8691        healthy=None,
 8692        hostname=None,
 8693        id=None,
 8694        name=None,
 8695        password=None,
 8696        port=None,
 8697        port_override=None,
 8698        proxy_cluster_id=None,
 8699        require_native_auth=None,
 8700        secret_store_id=None,
 8701        subdomain=None,
 8702        tags=None,
 8703        use_azure_single_server_usernames=None,
 8704        username=None,
 8705    ):
 8706        self.bind_interface = bind_interface if bind_interface is not None else ''
 8707        '''
 8708         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8709        '''
 8710        self.database = database if database is not None else ''
 8711        '''
 8712         The database for healthchecks. Does not affect client requests.
 8713        '''
 8714        self.egress_filter = egress_filter if egress_filter is not None else ''
 8715        '''
 8716         A filter applied to the routing logic to pin datasource to nodes.
 8717        '''
 8718        self.healthy = healthy if healthy is not None else False
 8719        '''
 8720         True if the datasource is reachable and the credentials are valid.
 8721        '''
 8722        self.hostname = hostname if hostname is not None else ''
 8723        '''
 8724         The host to dial to initiate a connection from the egress node to this resource.
 8725        '''
 8726        self.id = id if id is not None else ''
 8727        '''
 8728         Unique identifier of the Resource.
 8729        '''
 8730        self.name = name if name is not None else ''
 8731        '''
 8732         Unique human-readable name of the Resource.
 8733        '''
 8734        self.password = password if password is not None else ''
 8735        '''
 8736         The password to authenticate with.
 8737        '''
 8738        self.port = port if port is not None else 0
 8739        '''
 8740         The port to dial to initiate a connection from the egress node to this resource.
 8741        '''
 8742        self.port_override = port_override if port_override is not None else 0
 8743        '''
 8744         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8745        '''
 8746        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8747        '''
 8748         ID of the proxy cluster for this resource, if any.
 8749        '''
 8750        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 8751        '''
 8752         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 8753        '''
 8754        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8755        '''
 8756         ID of the secret store containing credentials for this resource, if any.
 8757        '''
 8758        self.subdomain = subdomain if subdomain is not None else ''
 8759        '''
 8760         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8761        '''
 8762        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8763        '''
 8764         Tags is a map of key, value pairs.
 8765        '''
 8766        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8767        '''
 8768         If true, appends the hostname to the username when hitting a database.azure.com address
 8769        '''
 8770        self.username = username if username is not None else ''
 8771        '''
 8772         The username to authenticate with.
 8773        '''
 8774
 8775    def __repr__(self):
 8776        return '<sdm.AzureMysql ' + \
 8777            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8778            'database: ' + repr(self.database) + ' ' +\
 8779            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8780            'healthy: ' + repr(self.healthy) + ' ' +\
 8781            'hostname: ' + repr(self.hostname) + ' ' +\
 8782            'id: ' + repr(self.id) + ' ' +\
 8783            'name: ' + repr(self.name) + ' ' +\
 8784            'password: ' + repr(self.password) + ' ' +\
 8785            'port: ' + repr(self.port) + ' ' +\
 8786            'port_override: ' + repr(self.port_override) + ' ' +\
 8787            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8788            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 8789            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8790            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8791            'tags: ' + repr(self.tags) + ' ' +\
 8792            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8793            'username: ' + repr(self.username) + ' ' +\
 8794            '>'
 8795
 8796    def to_dict(self):
 8797        return {
 8798            'bind_interface': self.bind_interface,
 8799            'database': self.database,
 8800            'egress_filter': self.egress_filter,
 8801            'healthy': self.healthy,
 8802            'hostname': self.hostname,
 8803            'id': self.id,
 8804            'name': self.name,
 8805            'password': self.password,
 8806            'port': self.port,
 8807            'port_override': self.port_override,
 8808            'proxy_cluster_id': self.proxy_cluster_id,
 8809            'require_native_auth': self.require_native_auth,
 8810            'secret_store_id': self.secret_store_id,
 8811            'subdomain': self.subdomain,
 8812            'tags': self.tags,
 8813            'use_azure_single_server_usernames':
 8814            self.use_azure_single_server_usernames,
 8815            'username': self.username,
 8816        }
 8817
 8818    @classmethod
 8819    def from_dict(cls, d):
 8820        return cls(
 8821            bind_interface=d.get('bind_interface'),
 8822            database=d.get('database'),
 8823            egress_filter=d.get('egress_filter'),
 8824            healthy=d.get('healthy'),
 8825            hostname=d.get('hostname'),
 8826            id=d.get('id'),
 8827            name=d.get('name'),
 8828            password=d.get('password'),
 8829            port=d.get('port'),
 8830            port_override=d.get('port_override'),
 8831            proxy_cluster_id=d.get('proxy_cluster_id'),
 8832            require_native_auth=d.get('require_native_auth'),
 8833            secret_store_id=d.get('secret_store_id'),
 8834            subdomain=d.get('subdomain'),
 8835            tags=d.get('tags'),
 8836            use_azure_single_server_usernames=d.get(
 8837                'use_azure_single_server_usernames'),
 8838            username=d.get('username'),
 8839        )
 8840
 8841
 8842class AzureMysqlManagedIdentity:
 8843    __slots__ = [
 8844        'bind_interface',
 8845        'database',
 8846        'egress_filter',
 8847        'healthy',
 8848        'hostname',
 8849        'id',
 8850        'name',
 8851        'password',
 8852        'port',
 8853        'port_override',
 8854        'proxy_cluster_id',
 8855        'secret_store_id',
 8856        'subdomain',
 8857        'tags',
 8858        'use_azure_single_server_usernames',
 8859        'username',
 8860    ]
 8861
 8862    def __init__(
 8863        self,
 8864        bind_interface=None,
 8865        database=None,
 8866        egress_filter=None,
 8867        healthy=None,
 8868        hostname=None,
 8869        id=None,
 8870        name=None,
 8871        password=None,
 8872        port=None,
 8873        port_override=None,
 8874        proxy_cluster_id=None,
 8875        secret_store_id=None,
 8876        subdomain=None,
 8877        tags=None,
 8878        use_azure_single_server_usernames=None,
 8879        username=None,
 8880    ):
 8881        self.bind_interface = bind_interface if bind_interface is not None else ''
 8882        '''
 8883         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8884        '''
 8885        self.database = database if database is not None else ''
 8886        '''
 8887         The database for healthchecks. Does not affect client requests.
 8888        '''
 8889        self.egress_filter = egress_filter if egress_filter is not None else ''
 8890        '''
 8891         A filter applied to the routing logic to pin datasource to nodes.
 8892        '''
 8893        self.healthy = healthy if healthy is not None else False
 8894        '''
 8895         True if the datasource is reachable and the credentials are valid.
 8896        '''
 8897        self.hostname = hostname if hostname is not None else ''
 8898        '''
 8899         The host to dial to initiate a connection from the egress node to this resource.
 8900        '''
 8901        self.id = id if id is not None else ''
 8902        '''
 8903         Unique identifier of the Resource.
 8904        '''
 8905        self.name = name if name is not None else ''
 8906        '''
 8907         Unique human-readable name of the Resource.
 8908        '''
 8909        self.password = password if password is not None else ''
 8910        '''
 8911         The password to authenticate with.
 8912        '''
 8913        self.port = port if port is not None else 0
 8914        '''
 8915         The port to dial to initiate a connection from the egress node to this resource.
 8916        '''
 8917        self.port_override = port_override if port_override is not None else 0
 8918        '''
 8919         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8920        '''
 8921        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8922        '''
 8923         ID of the proxy cluster for this resource, if any.
 8924        '''
 8925        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8926        '''
 8927         ID of the secret store containing credentials for this resource, if any.
 8928        '''
 8929        self.subdomain = subdomain if subdomain is not None else ''
 8930        '''
 8931         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8932        '''
 8933        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8934        '''
 8935         Tags is a map of key, value pairs.
 8936        '''
 8937        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8938        '''
 8939         If true, appends the hostname to the username when hitting a database.azure.com address
 8940        '''
 8941        self.username = username if username is not None else ''
 8942        '''
 8943         The username to authenticate with.
 8944        '''
 8945
 8946    def __repr__(self):
 8947        return '<sdm.AzureMysqlManagedIdentity ' + \
 8948            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8949            'database: ' + repr(self.database) + ' ' +\
 8950            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8951            'healthy: ' + repr(self.healthy) + ' ' +\
 8952            'hostname: ' + repr(self.hostname) + ' ' +\
 8953            'id: ' + repr(self.id) + ' ' +\
 8954            'name: ' + repr(self.name) + ' ' +\
 8955            'password: ' + repr(self.password) + ' ' +\
 8956            'port: ' + repr(self.port) + ' ' +\
 8957            'port_override: ' + repr(self.port_override) + ' ' +\
 8958            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8959            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8960            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8961            'tags: ' + repr(self.tags) + ' ' +\
 8962            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8963            'username: ' + repr(self.username) + ' ' +\
 8964            '>'
 8965
 8966    def to_dict(self):
 8967        return {
 8968            'bind_interface': self.bind_interface,
 8969            'database': self.database,
 8970            'egress_filter': self.egress_filter,
 8971            'healthy': self.healthy,
 8972            'hostname': self.hostname,
 8973            'id': self.id,
 8974            'name': self.name,
 8975            'password': self.password,
 8976            'port': self.port,
 8977            'port_override': self.port_override,
 8978            'proxy_cluster_id': self.proxy_cluster_id,
 8979            'secret_store_id': self.secret_store_id,
 8980            'subdomain': self.subdomain,
 8981            'tags': self.tags,
 8982            'use_azure_single_server_usernames':
 8983            self.use_azure_single_server_usernames,
 8984            'username': self.username,
 8985        }
 8986
 8987    @classmethod
 8988    def from_dict(cls, d):
 8989        return cls(
 8990            bind_interface=d.get('bind_interface'),
 8991            database=d.get('database'),
 8992            egress_filter=d.get('egress_filter'),
 8993            healthy=d.get('healthy'),
 8994            hostname=d.get('hostname'),
 8995            id=d.get('id'),
 8996            name=d.get('name'),
 8997            password=d.get('password'),
 8998            port=d.get('port'),
 8999            port_override=d.get('port_override'),
 9000            proxy_cluster_id=d.get('proxy_cluster_id'),
 9001            secret_store_id=d.get('secret_store_id'),
 9002            subdomain=d.get('subdomain'),
 9003            tags=d.get('tags'),
 9004            use_azure_single_server_usernames=d.get(
 9005                'use_azure_single_server_usernames'),
 9006            username=d.get('username'),
 9007        )
 9008
 9009
 9010class AzurePostgres:
 9011    __slots__ = [
 9012        'bind_interface',
 9013        'database',
 9014        'egress_filter',
 9015        'healthy',
 9016        'hostname',
 9017        'id',
 9018        'name',
 9019        'override_database',
 9020        'password',
 9021        'port',
 9022        'port_override',
 9023        'proxy_cluster_id',
 9024        'secret_store_id',
 9025        'subdomain',
 9026        'tags',
 9027        'username',
 9028    ]
 9029
 9030    def __init__(
 9031        self,
 9032        bind_interface=None,
 9033        database=None,
 9034        egress_filter=None,
 9035        healthy=None,
 9036        hostname=None,
 9037        id=None,
 9038        name=None,
 9039        override_database=None,
 9040        password=None,
 9041        port=None,
 9042        port_override=None,
 9043        proxy_cluster_id=None,
 9044        secret_store_id=None,
 9045        subdomain=None,
 9046        tags=None,
 9047        username=None,
 9048    ):
 9049        self.bind_interface = bind_interface if bind_interface is not None else ''
 9050        '''
 9051         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9052        '''
 9053        self.database = database if database is not None else ''
 9054        '''
 9055         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9056        '''
 9057        self.egress_filter = egress_filter if egress_filter is not None else ''
 9058        '''
 9059         A filter applied to the routing logic to pin datasource to nodes.
 9060        '''
 9061        self.healthy = healthy if healthy is not None else False
 9062        '''
 9063         True if the datasource is reachable and the credentials are valid.
 9064        '''
 9065        self.hostname = hostname if hostname is not None else ''
 9066        '''
 9067         The host to dial to initiate a connection from the egress node to this resource.
 9068        '''
 9069        self.id = id if id is not None else ''
 9070        '''
 9071         Unique identifier of the Resource.
 9072        '''
 9073        self.name = name if name is not None else ''
 9074        '''
 9075         Unique human-readable name of the Resource.
 9076        '''
 9077        self.override_database = override_database if override_database is not None else False
 9078        '''
 9079         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 9080        '''
 9081        self.password = password if password is not None else ''
 9082        '''
 9083         The password to authenticate with.
 9084        '''
 9085        self.port = port if port is not None else 0
 9086        '''
 9087         The port to dial to initiate a connection from the egress node to this resource.
 9088        '''
 9089        self.port_override = port_override if port_override is not None else 0
 9090        '''
 9091         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9092        '''
 9093        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9094        '''
 9095         ID of the proxy cluster for this resource, if any.
 9096        '''
 9097        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9098        '''
 9099         ID of the secret store containing credentials for this resource, if any.
 9100        '''
 9101        self.subdomain = subdomain if subdomain is not None else ''
 9102        '''
 9103         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9104        '''
 9105        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9106        '''
 9107         Tags is a map of key, value pairs.
 9108        '''
 9109        self.username = username if username is not None else ''
 9110        '''
 9111         The username to authenticate with. For Azure Postgres, this also will include the hostname of the target server for Azure Single Server compatibility. For Flexible servers, use the normal Postgres type.
 9112        '''
 9113
 9114    def __repr__(self):
 9115        return '<sdm.AzurePostgres ' + \
 9116            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9117            'database: ' + repr(self.database) + ' ' +\
 9118            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9119            'healthy: ' + repr(self.healthy) + ' ' +\
 9120            'hostname: ' + repr(self.hostname) + ' ' +\
 9121            'id: ' + repr(self.id) + ' ' +\
 9122            'name: ' + repr(self.name) + ' ' +\
 9123            'override_database: ' + repr(self.override_database) + ' ' +\
 9124            'password: ' + repr(self.password) + ' ' +\
 9125            'port: ' + repr(self.port) + ' ' +\
 9126            'port_override: ' + repr(self.port_override) + ' ' +\
 9127            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9128            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9129            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9130            'tags: ' + repr(self.tags) + ' ' +\
 9131            'username: ' + repr(self.username) + ' ' +\
 9132            '>'
 9133
 9134    def to_dict(self):
 9135        return {
 9136            'bind_interface': self.bind_interface,
 9137            'database': self.database,
 9138            'egress_filter': self.egress_filter,
 9139            'healthy': self.healthy,
 9140            'hostname': self.hostname,
 9141            'id': self.id,
 9142            'name': self.name,
 9143            'override_database': self.override_database,
 9144            'password': self.password,
 9145            'port': self.port,
 9146            'port_override': self.port_override,
 9147            'proxy_cluster_id': self.proxy_cluster_id,
 9148            'secret_store_id': self.secret_store_id,
 9149            'subdomain': self.subdomain,
 9150            'tags': self.tags,
 9151            'username': self.username,
 9152        }
 9153
 9154    @classmethod
 9155    def from_dict(cls, d):
 9156        return cls(
 9157            bind_interface=d.get('bind_interface'),
 9158            database=d.get('database'),
 9159            egress_filter=d.get('egress_filter'),
 9160            healthy=d.get('healthy'),
 9161            hostname=d.get('hostname'),
 9162            id=d.get('id'),
 9163            name=d.get('name'),
 9164            override_database=d.get('override_database'),
 9165            password=d.get('password'),
 9166            port=d.get('port'),
 9167            port_override=d.get('port_override'),
 9168            proxy_cluster_id=d.get('proxy_cluster_id'),
 9169            secret_store_id=d.get('secret_store_id'),
 9170            subdomain=d.get('subdomain'),
 9171            tags=d.get('tags'),
 9172            username=d.get('username'),
 9173        )
 9174
 9175
 9176class AzurePostgresManagedIdentity:
 9177    __slots__ = [
 9178        'bind_interface',
 9179        'database',
 9180        'egress_filter',
 9181        'healthy',
 9182        'hostname',
 9183        'id',
 9184        'name',
 9185        'override_database',
 9186        'password',
 9187        'port',
 9188        'port_override',
 9189        'proxy_cluster_id',
 9190        'secret_store_id',
 9191        'subdomain',
 9192        'tags',
 9193        'use_azure_single_server_usernames',
 9194        'username',
 9195    ]
 9196
 9197    def __init__(
 9198        self,
 9199        bind_interface=None,
 9200        database=None,
 9201        egress_filter=None,
 9202        healthy=None,
 9203        hostname=None,
 9204        id=None,
 9205        name=None,
 9206        override_database=None,
 9207        password=None,
 9208        port=None,
 9209        port_override=None,
 9210        proxy_cluster_id=None,
 9211        secret_store_id=None,
 9212        subdomain=None,
 9213        tags=None,
 9214        use_azure_single_server_usernames=None,
 9215        username=None,
 9216    ):
 9217        self.bind_interface = bind_interface if bind_interface is not None else ''
 9218        '''
 9219         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9220        '''
 9221        self.database = database if database is not None else ''
 9222        '''
 9223         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9224        '''
 9225        self.egress_filter = egress_filter if egress_filter is not None else ''
 9226        '''
 9227         A filter applied to the routing logic to pin datasource to nodes.
 9228        '''
 9229        self.healthy = healthy if healthy is not None else False
 9230        '''
 9231         True if the datasource is reachable and the credentials are valid.
 9232        '''
 9233        self.hostname = hostname if hostname is not None else ''
 9234        '''
 9235         The host to dial to initiate a connection from the egress node to this resource.
 9236        '''
 9237        self.id = id if id is not None else ''
 9238        '''
 9239         Unique identifier of the Resource.
 9240        '''
 9241        self.name = name if name is not None else ''
 9242        '''
 9243         Unique human-readable name of the Resource.
 9244        '''
 9245        self.override_database = override_database if override_database is not None else False
 9246        '''
 9247         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 9248        '''
 9249        self.password = password if password is not None else ''
 9250        '''
 9251         The password to authenticate with.
 9252        '''
 9253        self.port = port if port is not None else 0
 9254        '''
 9255         The port to dial to initiate a connection from the egress node to this resource.
 9256        '''
 9257        self.port_override = port_override if port_override is not None else 0
 9258        '''
 9259         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9260        '''
 9261        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9262        '''
 9263         ID of the proxy cluster for this resource, if any.
 9264        '''
 9265        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9266        '''
 9267         ID of the secret store containing credentials for this resource, if any.
 9268        '''
 9269        self.subdomain = subdomain if subdomain is not None else ''
 9270        '''
 9271         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9272        '''
 9273        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9274        '''
 9275         Tags is a map of key, value pairs.
 9276        '''
 9277        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 9278        '''
 9279         If true, appends the hostname to the username when hitting a database.azure.com address
 9280        '''
 9281        self.username = username if username is not None else ''
 9282        '''
 9283         The username to authenticate with.
 9284        '''
 9285
 9286    def __repr__(self):
 9287        return '<sdm.AzurePostgresManagedIdentity ' + \
 9288            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9289            'database: ' + repr(self.database) + ' ' +\
 9290            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9291            'healthy: ' + repr(self.healthy) + ' ' +\
 9292            'hostname: ' + repr(self.hostname) + ' ' +\
 9293            'id: ' + repr(self.id) + ' ' +\
 9294            'name: ' + repr(self.name) + ' ' +\
 9295            'override_database: ' + repr(self.override_database) + ' ' +\
 9296            'password: ' + repr(self.password) + ' ' +\
 9297            'port: ' + repr(self.port) + ' ' +\
 9298            'port_override: ' + repr(self.port_override) + ' ' +\
 9299            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9300            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9301            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9302            'tags: ' + repr(self.tags) + ' ' +\
 9303            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 9304            'username: ' + repr(self.username) + ' ' +\
 9305            '>'
 9306
 9307    def to_dict(self):
 9308        return {
 9309            'bind_interface': self.bind_interface,
 9310            'database': self.database,
 9311            'egress_filter': self.egress_filter,
 9312            'healthy': self.healthy,
 9313            'hostname': self.hostname,
 9314            'id': self.id,
 9315            'name': self.name,
 9316            'override_database': self.override_database,
 9317            'password': self.password,
 9318            'port': self.port,
 9319            'port_override': self.port_override,
 9320            'proxy_cluster_id': self.proxy_cluster_id,
 9321            'secret_store_id': self.secret_store_id,
 9322            'subdomain': self.subdomain,
 9323            'tags': self.tags,
 9324            'use_azure_single_server_usernames':
 9325            self.use_azure_single_server_usernames,
 9326            'username': self.username,
 9327        }
 9328
 9329    @classmethod
 9330    def from_dict(cls, d):
 9331        return cls(
 9332            bind_interface=d.get('bind_interface'),
 9333            database=d.get('database'),
 9334            egress_filter=d.get('egress_filter'),
 9335            healthy=d.get('healthy'),
 9336            hostname=d.get('hostname'),
 9337            id=d.get('id'),
 9338            name=d.get('name'),
 9339            override_database=d.get('override_database'),
 9340            password=d.get('password'),
 9341            port=d.get('port'),
 9342            port_override=d.get('port_override'),
 9343            proxy_cluster_id=d.get('proxy_cluster_id'),
 9344            secret_store_id=d.get('secret_store_id'),
 9345            subdomain=d.get('subdomain'),
 9346            tags=d.get('tags'),
 9347            use_azure_single_server_usernames=d.get(
 9348                'use_azure_single_server_usernames'),
 9349            username=d.get('username'),
 9350        )
 9351
 9352
 9353class AzureStore:
 9354    __slots__ = [
 9355        'id',
 9356        'name',
 9357        'tags',
 9358        'vault_uri',
 9359    ]
 9360
 9361    def __init__(
 9362        self,
 9363        id=None,
 9364        name=None,
 9365        tags=None,
 9366        vault_uri=None,
 9367    ):
 9368        self.id = id if id is not None else ''
 9369        '''
 9370         Unique identifier of the SecretStore.
 9371        '''
 9372        self.name = name if name is not None else ''
 9373        '''
 9374         Unique human-readable name of the SecretStore.
 9375        '''
 9376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9377        '''
 9378         Tags is a map of key, value pairs.
 9379        '''
 9380        self.vault_uri = vault_uri if vault_uri is not None else ''
 9381        '''
 9382         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 9383        '''
 9384
 9385    def __repr__(self):
 9386        return '<sdm.AzureStore ' + \
 9387            'id: ' + repr(self.id) + ' ' +\
 9388            'name: ' + repr(self.name) + ' ' +\
 9389            'tags: ' + repr(self.tags) + ' ' +\
 9390            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 9391            '>'
 9392
 9393    def to_dict(self):
 9394        return {
 9395            'id': self.id,
 9396            'name': self.name,
 9397            'tags': self.tags,
 9398            'vault_uri': self.vault_uri,
 9399        }
 9400
 9401    @classmethod
 9402    def from_dict(cls, d):
 9403        return cls(
 9404            id=d.get('id'),
 9405            name=d.get('name'),
 9406            tags=d.get('tags'),
 9407            vault_uri=d.get('vault_uri'),
 9408        )
 9409
 9410
 9411class BigQuery:
 9412    __slots__ = [
 9413        'bind_interface',
 9414        'egress_filter',
 9415        'endpoint',
 9416        'healthy',
 9417        'id',
 9418        'name',
 9419        'port_override',
 9420        'private_key',
 9421        'project',
 9422        'proxy_cluster_id',
 9423        'secret_store_id',
 9424        'subdomain',
 9425        'tags',
 9426        'username',
 9427    ]
 9428
 9429    def __init__(
 9430        self,
 9431        bind_interface=None,
 9432        egress_filter=None,
 9433        endpoint=None,
 9434        healthy=None,
 9435        id=None,
 9436        name=None,
 9437        port_override=None,
 9438        private_key=None,
 9439        project=None,
 9440        proxy_cluster_id=None,
 9441        secret_store_id=None,
 9442        subdomain=None,
 9443        tags=None,
 9444        username=None,
 9445    ):
 9446        self.bind_interface = bind_interface if bind_interface is not None else ''
 9447        '''
 9448         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9449        '''
 9450        self.egress_filter = egress_filter if egress_filter is not None else ''
 9451        '''
 9452         A filter applied to the routing logic to pin datasource to nodes.
 9453        '''
 9454        self.endpoint = endpoint if endpoint is not None else ''
 9455        '''
 9456         The endpoint to dial.
 9457        '''
 9458        self.healthy = healthy if healthy is not None else False
 9459        '''
 9460         True if the datasource is reachable and the credentials are valid.
 9461        '''
 9462        self.id = id if id is not None else ''
 9463        '''
 9464         Unique identifier of the Resource.
 9465        '''
 9466        self.name = name if name is not None else ''
 9467        '''
 9468         Unique human-readable name of the Resource.
 9469        '''
 9470        self.port_override = port_override if port_override is not None else 0
 9471        '''
 9472         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9473        '''
 9474        self.private_key = private_key if private_key is not None else ''
 9475        '''
 9476         The JSON Private key to authenticate with.
 9477        '''
 9478        self.project = project if project is not None else ''
 9479        '''
 9480         The project to connect to.
 9481        '''
 9482        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9483        '''
 9484         ID of the proxy cluster for this resource, if any.
 9485        '''
 9486        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9487        '''
 9488         ID of the secret store containing credentials for this resource, if any.
 9489        '''
 9490        self.subdomain = subdomain if subdomain is not None else ''
 9491        '''
 9492         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9493        '''
 9494        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9495        '''
 9496         Tags is a map of key, value pairs.
 9497        '''
 9498        self.username = username if username is not None else ''
 9499        '''
 9500         The username to authenticate with.
 9501        '''
 9502
 9503    def __repr__(self):
 9504        return '<sdm.BigQuery ' + \
 9505            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9506            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9507            'endpoint: ' + repr(self.endpoint) + ' ' +\
 9508            'healthy: ' + repr(self.healthy) + ' ' +\
 9509            'id: ' + repr(self.id) + ' ' +\
 9510            'name: ' + repr(self.name) + ' ' +\
 9511            'port_override: ' + repr(self.port_override) + ' ' +\
 9512            'private_key: ' + repr(self.private_key) + ' ' +\
 9513            'project: ' + repr(self.project) + ' ' +\
 9514            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9515            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9516            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9517            'tags: ' + repr(self.tags) + ' ' +\
 9518            'username: ' + repr(self.username) + ' ' +\
 9519            '>'
 9520
 9521    def to_dict(self):
 9522        return {
 9523            'bind_interface': self.bind_interface,
 9524            'egress_filter': self.egress_filter,
 9525            'endpoint': self.endpoint,
 9526            'healthy': self.healthy,
 9527            'id': self.id,
 9528            'name': self.name,
 9529            'port_override': self.port_override,
 9530            'private_key': self.private_key,
 9531            'project': self.project,
 9532            'proxy_cluster_id': self.proxy_cluster_id,
 9533            'secret_store_id': self.secret_store_id,
 9534            'subdomain': self.subdomain,
 9535            'tags': self.tags,
 9536            'username': self.username,
 9537        }
 9538
 9539    @classmethod
 9540    def from_dict(cls, d):
 9541        return cls(
 9542            bind_interface=d.get('bind_interface'),
 9543            egress_filter=d.get('egress_filter'),
 9544            endpoint=d.get('endpoint'),
 9545            healthy=d.get('healthy'),
 9546            id=d.get('id'),
 9547            name=d.get('name'),
 9548            port_override=d.get('port_override'),
 9549            private_key=d.get('private_key'),
 9550            project=d.get('project'),
 9551            proxy_cluster_id=d.get('proxy_cluster_id'),
 9552            secret_store_id=d.get('secret_store_id'),
 9553            subdomain=d.get('subdomain'),
 9554            tags=d.get('tags'),
 9555            username=d.get('username'),
 9556        )
 9557
 9558
 9559class Cassandra:
 9560    __slots__ = [
 9561        'bind_interface',
 9562        'egress_filter',
 9563        'healthy',
 9564        'hostname',
 9565        'id',
 9566        'name',
 9567        'password',
 9568        'port',
 9569        'port_override',
 9570        'proxy_cluster_id',
 9571        'secret_store_id',
 9572        'subdomain',
 9573        'tags',
 9574        'tls_required',
 9575        'username',
 9576    ]
 9577
 9578    def __init__(
 9579        self,
 9580        bind_interface=None,
 9581        egress_filter=None,
 9582        healthy=None,
 9583        hostname=None,
 9584        id=None,
 9585        name=None,
 9586        password=None,
 9587        port=None,
 9588        port_override=None,
 9589        proxy_cluster_id=None,
 9590        secret_store_id=None,
 9591        subdomain=None,
 9592        tags=None,
 9593        tls_required=None,
 9594        username=None,
 9595    ):
 9596        self.bind_interface = bind_interface if bind_interface is not None else ''
 9597        '''
 9598         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9599        '''
 9600        self.egress_filter = egress_filter if egress_filter is not None else ''
 9601        '''
 9602         A filter applied to the routing logic to pin datasource to nodes.
 9603        '''
 9604        self.healthy = healthy if healthy is not None else False
 9605        '''
 9606         True if the datasource is reachable and the credentials are valid.
 9607        '''
 9608        self.hostname = hostname if hostname is not None else ''
 9609        '''
 9610         The host to dial to initiate a connection from the egress node to this resource.
 9611        '''
 9612        self.id = id if id is not None else ''
 9613        '''
 9614         Unique identifier of the Resource.
 9615        '''
 9616        self.name = name if name is not None else ''
 9617        '''
 9618         Unique human-readable name of the Resource.
 9619        '''
 9620        self.password = password if password is not None else ''
 9621        '''
 9622         The password to authenticate with.
 9623        '''
 9624        self.port = port if port is not None else 0
 9625        '''
 9626         The port to dial to initiate a connection from the egress node to this resource.
 9627        '''
 9628        self.port_override = port_override if port_override is not None else 0
 9629        '''
 9630         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9631        '''
 9632        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9633        '''
 9634         ID of the proxy cluster for this resource, if any.
 9635        '''
 9636        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9637        '''
 9638         ID of the secret store containing credentials for this resource, if any.
 9639        '''
 9640        self.subdomain = subdomain if subdomain is not None else ''
 9641        '''
 9642         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9643        '''
 9644        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9645        '''
 9646         Tags is a map of key, value pairs.
 9647        '''
 9648        self.tls_required = tls_required if tls_required is not None else False
 9649        '''
 9650         If set, TLS must be used to connect to this resource.
 9651        '''
 9652        self.username = username if username is not None else ''
 9653        '''
 9654         The username to authenticate with.
 9655        '''
 9656
 9657    def __repr__(self):
 9658        return '<sdm.Cassandra ' + \
 9659            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9660            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9661            'healthy: ' + repr(self.healthy) + ' ' +\
 9662            'hostname: ' + repr(self.hostname) + ' ' +\
 9663            'id: ' + repr(self.id) + ' ' +\
 9664            'name: ' + repr(self.name) + ' ' +\
 9665            'password: ' + repr(self.password) + ' ' +\
 9666            'port: ' + repr(self.port) + ' ' +\
 9667            'port_override: ' + repr(self.port_override) + ' ' +\
 9668            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9669            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9670            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9671            'tags: ' + repr(self.tags) + ' ' +\
 9672            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9673            'username: ' + repr(self.username) + ' ' +\
 9674            '>'
 9675
 9676    def to_dict(self):
 9677        return {
 9678            'bind_interface': self.bind_interface,
 9679            'egress_filter': self.egress_filter,
 9680            'healthy': self.healthy,
 9681            'hostname': self.hostname,
 9682            'id': self.id,
 9683            'name': self.name,
 9684            'password': self.password,
 9685            'port': self.port,
 9686            'port_override': self.port_override,
 9687            'proxy_cluster_id': self.proxy_cluster_id,
 9688            'secret_store_id': self.secret_store_id,
 9689            'subdomain': self.subdomain,
 9690            'tags': self.tags,
 9691            'tls_required': self.tls_required,
 9692            'username': self.username,
 9693        }
 9694
 9695    @classmethod
 9696    def from_dict(cls, d):
 9697        return cls(
 9698            bind_interface=d.get('bind_interface'),
 9699            egress_filter=d.get('egress_filter'),
 9700            healthy=d.get('healthy'),
 9701            hostname=d.get('hostname'),
 9702            id=d.get('id'),
 9703            name=d.get('name'),
 9704            password=d.get('password'),
 9705            port=d.get('port'),
 9706            port_override=d.get('port_override'),
 9707            proxy_cluster_id=d.get('proxy_cluster_id'),
 9708            secret_store_id=d.get('secret_store_id'),
 9709            subdomain=d.get('subdomain'),
 9710            tags=d.get('tags'),
 9711            tls_required=d.get('tls_required'),
 9712            username=d.get('username'),
 9713        )
 9714
 9715
 9716class Citus:
 9717    __slots__ = [
 9718        'bind_interface',
 9719        'database',
 9720        'egress_filter',
 9721        'healthy',
 9722        'hostname',
 9723        'id',
 9724        'name',
 9725        'override_database',
 9726        'password',
 9727        'port',
 9728        'port_override',
 9729        'proxy_cluster_id',
 9730        'secret_store_id',
 9731        'subdomain',
 9732        'tags',
 9733        'username',
 9734    ]
 9735
 9736    def __init__(
 9737        self,
 9738        bind_interface=None,
 9739        database=None,
 9740        egress_filter=None,
 9741        healthy=None,
 9742        hostname=None,
 9743        id=None,
 9744        name=None,
 9745        override_database=None,
 9746        password=None,
 9747        port=None,
 9748        port_override=None,
 9749        proxy_cluster_id=None,
 9750        secret_store_id=None,
 9751        subdomain=None,
 9752        tags=None,
 9753        username=None,
 9754    ):
 9755        self.bind_interface = bind_interface if bind_interface is not None else ''
 9756        '''
 9757         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9758        '''
 9759        self.database = database if database is not None else ''
 9760        '''
 9761         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9762        '''
 9763        self.egress_filter = egress_filter if egress_filter is not None else ''
 9764        '''
 9765         A filter applied to the routing logic to pin datasource to nodes.
 9766        '''
 9767        self.healthy = healthy if healthy is not None else False
 9768        '''
 9769         True if the datasource is reachable and the credentials are valid.
 9770        '''
 9771        self.hostname = hostname if hostname is not None else ''
 9772        '''
 9773         The host to dial to initiate a connection from the egress node to this resource.
 9774        '''
 9775        self.id = id if id is not None else ''
 9776        '''
 9777         Unique identifier of the Resource.
 9778        '''
 9779        self.name = name if name is not None else ''
 9780        '''
 9781         Unique human-readable name of the Resource.
 9782        '''
 9783        self.override_database = override_database if override_database is not None else False
 9784        '''
 9785         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 9786        '''
 9787        self.password = password if password is not None else ''
 9788        '''
 9789         The password to authenticate with.
 9790        '''
 9791        self.port = port if port is not None else 0
 9792        '''
 9793         The port to dial to initiate a connection from the egress node to this resource.
 9794        '''
 9795        self.port_override = port_override if port_override is not None else 0
 9796        '''
 9797         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9798        '''
 9799        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9800        '''
 9801         ID of the proxy cluster for this resource, if any.
 9802        '''
 9803        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9804        '''
 9805         ID of the secret store containing credentials for this resource, if any.
 9806        '''
 9807        self.subdomain = subdomain if subdomain is not None else ''
 9808        '''
 9809         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9810        '''
 9811        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9812        '''
 9813         Tags is a map of key, value pairs.
 9814        '''
 9815        self.username = username if username is not None else ''
 9816        '''
 9817         The username to authenticate with.
 9818        '''
 9819
 9820    def __repr__(self):
 9821        return '<sdm.Citus ' + \
 9822            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9823            'database: ' + repr(self.database) + ' ' +\
 9824            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9825            'healthy: ' + repr(self.healthy) + ' ' +\
 9826            'hostname: ' + repr(self.hostname) + ' ' +\
 9827            'id: ' + repr(self.id) + ' ' +\
 9828            'name: ' + repr(self.name) + ' ' +\
 9829            'override_database: ' + repr(self.override_database) + ' ' +\
 9830            'password: ' + repr(self.password) + ' ' +\
 9831            'port: ' + repr(self.port) + ' ' +\
 9832            'port_override: ' + repr(self.port_override) + ' ' +\
 9833            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9834            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9835            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9836            'tags: ' + repr(self.tags) + ' ' +\
 9837            'username: ' + repr(self.username) + ' ' +\
 9838            '>'
 9839
 9840    def to_dict(self):
 9841        return {
 9842            'bind_interface': self.bind_interface,
 9843            'database': self.database,
 9844            'egress_filter': self.egress_filter,
 9845            'healthy': self.healthy,
 9846            'hostname': self.hostname,
 9847            'id': self.id,
 9848            'name': self.name,
 9849            'override_database': self.override_database,
 9850            'password': self.password,
 9851            'port': self.port,
 9852            'port_override': self.port_override,
 9853            'proxy_cluster_id': self.proxy_cluster_id,
 9854            'secret_store_id': self.secret_store_id,
 9855            'subdomain': self.subdomain,
 9856            'tags': self.tags,
 9857            'username': self.username,
 9858        }
 9859
 9860    @classmethod
 9861    def from_dict(cls, d):
 9862        return cls(
 9863            bind_interface=d.get('bind_interface'),
 9864            database=d.get('database'),
 9865            egress_filter=d.get('egress_filter'),
 9866            healthy=d.get('healthy'),
 9867            hostname=d.get('hostname'),
 9868            id=d.get('id'),
 9869            name=d.get('name'),
 9870            override_database=d.get('override_database'),
 9871            password=d.get('password'),
 9872            port=d.get('port'),
 9873            port_override=d.get('port_override'),
 9874            proxy_cluster_id=d.get('proxy_cluster_id'),
 9875            secret_store_id=d.get('secret_store_id'),
 9876            subdomain=d.get('subdomain'),
 9877            tags=d.get('tags'),
 9878            username=d.get('username'),
 9879        )
 9880
 9881
 9882class ClickHouseHTTP:
 9883    __slots__ = [
 9884        'bind_interface',
 9885        'database',
 9886        'egress_filter',
 9887        'healthy',
 9888        'id',
 9889        'name',
 9890        'password',
 9891        'port_override',
 9892        'proxy_cluster_id',
 9893        'secret_store_id',
 9894        'tags',
 9895        'url',
 9896        'username',
 9897    ]
 9898
 9899    def __init__(
 9900        self,
 9901        bind_interface=None,
 9902        database=None,
 9903        egress_filter=None,
 9904        healthy=None,
 9905        id=None,
 9906        name=None,
 9907        password=None,
 9908        port_override=None,
 9909        proxy_cluster_id=None,
 9910        secret_store_id=None,
 9911        tags=None,
 9912        url=None,
 9913        username=None,
 9914    ):
 9915        self.bind_interface = bind_interface if bind_interface is not None else ''
 9916        '''
 9917         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9918        '''
 9919        self.database = database if database is not None else ''
 9920        '''
 9921         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9922        '''
 9923        self.egress_filter = egress_filter if egress_filter is not None else ''
 9924        '''
 9925         A filter applied to the routing logic to pin datasource to nodes.
 9926        '''
 9927        self.healthy = healthy if healthy is not None else False
 9928        '''
 9929         True if the datasource is reachable and the credentials are valid.
 9930        '''
 9931        self.id = id if id is not None else ''
 9932        '''
 9933         Unique identifier of the Resource.
 9934        '''
 9935        self.name = name if name is not None else ''
 9936        '''
 9937         Unique human-readable name of the Resource.
 9938        '''
 9939        self.password = password if password is not None else ''
 9940        '''
 9941         The password to authenticate with.
 9942        '''
 9943        self.port_override = port_override if port_override is not None else 0
 9944        '''
 9945         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9946        '''
 9947        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9948        '''
 9949         ID of the proxy cluster for this resource, if any.
 9950        '''
 9951        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9952        '''
 9953         ID of the secret store containing credentials for this resource, if any.
 9954        '''
 9955        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9956        '''
 9957         Tags is a map of key, value pairs.
 9958        '''
 9959        self.url = url if url is not None else ''
 9960        '''
 9961         The URL to dial to initiate a connection from the egress node to this resource.
 9962        '''
 9963        self.username = username if username is not None else ''
 9964        '''
 9965         The username to authenticate with.
 9966        '''
 9967
 9968    def __repr__(self):
 9969        return '<sdm.ClickHouseHTTP ' + \
 9970            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9971            'database: ' + repr(self.database) + ' ' +\
 9972            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9973            'healthy: ' + repr(self.healthy) + ' ' +\
 9974            'id: ' + repr(self.id) + ' ' +\
 9975            'name: ' + repr(self.name) + ' ' +\
 9976            'password: ' + repr(self.password) + ' ' +\
 9977            'port_override: ' + repr(self.port_override) + ' ' +\
 9978            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9979            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9980            'tags: ' + repr(self.tags) + ' ' +\
 9981            'url: ' + repr(self.url) + ' ' +\
 9982            'username: ' + repr(self.username) + ' ' +\
 9983            '>'
 9984
 9985    def to_dict(self):
 9986        return {
 9987            'bind_interface': self.bind_interface,
 9988            'database': self.database,
 9989            'egress_filter': self.egress_filter,
 9990            'healthy': self.healthy,
 9991            'id': self.id,
 9992            'name': self.name,
 9993            'password': self.password,
 9994            'port_override': self.port_override,
 9995            'proxy_cluster_id': self.proxy_cluster_id,
 9996            'secret_store_id': self.secret_store_id,
 9997            'tags': self.tags,
 9998            'url': self.url,
 9999            'username': self.username,
10000        }
10001
10002    @classmethod
10003    def from_dict(cls, d):
10004        return cls(
10005            bind_interface=d.get('bind_interface'),
10006            database=d.get('database'),
10007            egress_filter=d.get('egress_filter'),
10008            healthy=d.get('healthy'),
10009            id=d.get('id'),
10010            name=d.get('name'),
10011            password=d.get('password'),
10012            port_override=d.get('port_override'),
10013            proxy_cluster_id=d.get('proxy_cluster_id'),
10014            secret_store_id=d.get('secret_store_id'),
10015            tags=d.get('tags'),
10016            url=d.get('url'),
10017            username=d.get('username'),
10018        )
10019
10020
10021class ClickHouseMySQL:
10022    __slots__ = [
10023        'bind_interface',
10024        'database',
10025        'egress_filter',
10026        'healthy',
10027        'hostname',
10028        'id',
10029        'name',
10030        'password',
10031        'port',
10032        'port_override',
10033        'proxy_cluster_id',
10034        'require_native_auth',
10035        'secret_store_id',
10036        'subdomain',
10037        'tags',
10038        'username',
10039    ]
10040
10041    def __init__(
10042        self,
10043        bind_interface=None,
10044        database=None,
10045        egress_filter=None,
10046        healthy=None,
10047        hostname=None,
10048        id=None,
10049        name=None,
10050        password=None,
10051        port=None,
10052        port_override=None,
10053        proxy_cluster_id=None,
10054        require_native_auth=None,
10055        secret_store_id=None,
10056        subdomain=None,
10057        tags=None,
10058        username=None,
10059    ):
10060        self.bind_interface = bind_interface if bind_interface is not None else ''
10061        '''
10062         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10063        '''
10064        self.database = database if database is not None else ''
10065        '''
10066         The database for healthchecks. Does not affect client requests.
10067        '''
10068        self.egress_filter = egress_filter if egress_filter is not None else ''
10069        '''
10070         A filter applied to the routing logic to pin datasource to nodes.
10071        '''
10072        self.healthy = healthy if healthy is not None else False
10073        '''
10074         True if the datasource is reachable and the credentials are valid.
10075        '''
10076        self.hostname = hostname if hostname is not None else ''
10077        '''
10078         The host to dial to initiate a connection from the egress node to this resource.
10079        '''
10080        self.id = id if id is not None else ''
10081        '''
10082         Unique identifier of the Resource.
10083        '''
10084        self.name = name if name is not None else ''
10085        '''
10086         Unique human-readable name of the Resource.
10087        '''
10088        self.password = password if password is not None else ''
10089        '''
10090         The password to authenticate with.
10091        '''
10092        self.port = port if port is not None else 0
10093        '''
10094         The port to dial to initiate a connection from the egress node to this resource.
10095        '''
10096        self.port_override = port_override if port_override is not None else 0
10097        '''
10098         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10099        '''
10100        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10101        '''
10102         ID of the proxy cluster for this resource, if any.
10103        '''
10104        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10105        '''
10106         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10107        '''
10108        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10109        '''
10110         ID of the secret store containing credentials for this resource, if any.
10111        '''
10112        self.subdomain = subdomain if subdomain is not None else ''
10113        '''
10114         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10115        '''
10116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10117        '''
10118         Tags is a map of key, value pairs.
10119        '''
10120        self.username = username if username is not None else ''
10121        '''
10122         The username to authenticate with.
10123        '''
10124
10125    def __repr__(self):
10126        return '<sdm.ClickHouseMySQL ' + \
10127            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10128            'database: ' + repr(self.database) + ' ' +\
10129            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10130            'healthy: ' + repr(self.healthy) + ' ' +\
10131            'hostname: ' + repr(self.hostname) + ' ' +\
10132            'id: ' + repr(self.id) + ' ' +\
10133            'name: ' + repr(self.name) + ' ' +\
10134            'password: ' + repr(self.password) + ' ' +\
10135            'port: ' + repr(self.port) + ' ' +\
10136            'port_override: ' + repr(self.port_override) + ' ' +\
10137            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10138            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
10139            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10140            'subdomain: ' + repr(self.subdomain) + ' ' +\
10141            'tags: ' + repr(self.tags) + ' ' +\
10142            'username: ' + repr(self.username) + ' ' +\
10143            '>'
10144
10145    def to_dict(self):
10146        return {
10147            'bind_interface': self.bind_interface,
10148            'database': self.database,
10149            'egress_filter': self.egress_filter,
10150            'healthy': self.healthy,
10151            'hostname': self.hostname,
10152            'id': self.id,
10153            'name': self.name,
10154            'password': self.password,
10155            'port': self.port,
10156            'port_override': self.port_override,
10157            'proxy_cluster_id': self.proxy_cluster_id,
10158            'require_native_auth': self.require_native_auth,
10159            'secret_store_id': self.secret_store_id,
10160            'subdomain': self.subdomain,
10161            'tags': self.tags,
10162            'username': self.username,
10163        }
10164
10165    @classmethod
10166    def from_dict(cls, d):
10167        return cls(
10168            bind_interface=d.get('bind_interface'),
10169            database=d.get('database'),
10170            egress_filter=d.get('egress_filter'),
10171            healthy=d.get('healthy'),
10172            hostname=d.get('hostname'),
10173            id=d.get('id'),
10174            name=d.get('name'),
10175            password=d.get('password'),
10176            port=d.get('port'),
10177            port_override=d.get('port_override'),
10178            proxy_cluster_id=d.get('proxy_cluster_id'),
10179            require_native_auth=d.get('require_native_auth'),
10180            secret_store_id=d.get('secret_store_id'),
10181            subdomain=d.get('subdomain'),
10182            tags=d.get('tags'),
10183            username=d.get('username'),
10184        )
10185
10186
10187class ClickHouseTCP:
10188    __slots__ = [
10189        'bind_interface',
10190        'database',
10191        'egress_filter',
10192        'healthy',
10193        'hostname',
10194        'id',
10195        'name',
10196        'password',
10197        'port',
10198        'port_override',
10199        'proxy_cluster_id',
10200        'secret_store_id',
10201        'subdomain',
10202        'tags',
10203        'tls_required',
10204        'username',
10205    ]
10206
10207    def __init__(
10208        self,
10209        bind_interface=None,
10210        database=None,
10211        egress_filter=None,
10212        healthy=None,
10213        hostname=None,
10214        id=None,
10215        name=None,
10216        password=None,
10217        port=None,
10218        port_override=None,
10219        proxy_cluster_id=None,
10220        secret_store_id=None,
10221        subdomain=None,
10222        tags=None,
10223        tls_required=None,
10224        username=None,
10225    ):
10226        self.bind_interface = bind_interface if bind_interface is not None else ''
10227        '''
10228         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10229        '''
10230        self.database = database if database is not None else ''
10231        '''
10232         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10233        '''
10234        self.egress_filter = egress_filter if egress_filter is not None else ''
10235        '''
10236         A filter applied to the routing logic to pin datasource to nodes.
10237        '''
10238        self.healthy = healthy if healthy is not None else False
10239        '''
10240         True if the datasource is reachable and the credentials are valid.
10241        '''
10242        self.hostname = hostname if hostname is not None else ''
10243        '''
10244         The host to dial to initiate a connection from the egress node to this resource.
10245        '''
10246        self.id = id if id is not None else ''
10247        '''
10248         Unique identifier of the Resource.
10249        '''
10250        self.name = name if name is not None else ''
10251        '''
10252         Unique human-readable name of the Resource.
10253        '''
10254        self.password = password if password is not None else ''
10255        '''
10256         The password to authenticate with.
10257        '''
10258        self.port = port if port is not None else 0
10259        '''
10260         The port to dial to initiate a connection from the egress node to this resource.
10261        '''
10262        self.port_override = port_override if port_override is not None else 0
10263        '''
10264         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10265        '''
10266        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10267        '''
10268         ID of the proxy cluster for this resource, if any.
10269        '''
10270        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10271        '''
10272         ID of the secret store containing credentials for this resource, if any.
10273        '''
10274        self.subdomain = subdomain if subdomain is not None else ''
10275        '''
10276         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10277        '''
10278        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10279        '''
10280         Tags is a map of key, value pairs.
10281        '''
10282        self.tls_required = tls_required if tls_required is not None else False
10283        '''
10284         If set, TLS must be used to connect to this resource.
10285        '''
10286        self.username = username if username is not None else ''
10287        '''
10288         The username to authenticate with.
10289        '''
10290
10291    def __repr__(self):
10292        return '<sdm.ClickHouseTCP ' + \
10293            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10294            'database: ' + repr(self.database) + ' ' +\
10295            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10296            'healthy: ' + repr(self.healthy) + ' ' +\
10297            'hostname: ' + repr(self.hostname) + ' ' +\
10298            'id: ' + repr(self.id) + ' ' +\
10299            'name: ' + repr(self.name) + ' ' +\
10300            'password: ' + repr(self.password) + ' ' +\
10301            'port: ' + repr(self.port) + ' ' +\
10302            'port_override: ' + repr(self.port_override) + ' ' +\
10303            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10304            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10305            'subdomain: ' + repr(self.subdomain) + ' ' +\
10306            'tags: ' + repr(self.tags) + ' ' +\
10307            'tls_required: ' + repr(self.tls_required) + ' ' +\
10308            'username: ' + repr(self.username) + ' ' +\
10309            '>'
10310
10311    def to_dict(self):
10312        return {
10313            'bind_interface': self.bind_interface,
10314            'database': self.database,
10315            'egress_filter': self.egress_filter,
10316            'healthy': self.healthy,
10317            'hostname': self.hostname,
10318            'id': self.id,
10319            'name': self.name,
10320            'password': self.password,
10321            'port': self.port,
10322            'port_override': self.port_override,
10323            'proxy_cluster_id': self.proxy_cluster_id,
10324            'secret_store_id': self.secret_store_id,
10325            'subdomain': self.subdomain,
10326            'tags': self.tags,
10327            'tls_required': self.tls_required,
10328            'username': self.username,
10329        }
10330
10331    @classmethod
10332    def from_dict(cls, d):
10333        return cls(
10334            bind_interface=d.get('bind_interface'),
10335            database=d.get('database'),
10336            egress_filter=d.get('egress_filter'),
10337            healthy=d.get('healthy'),
10338            hostname=d.get('hostname'),
10339            id=d.get('id'),
10340            name=d.get('name'),
10341            password=d.get('password'),
10342            port=d.get('port'),
10343            port_override=d.get('port_override'),
10344            proxy_cluster_id=d.get('proxy_cluster_id'),
10345            secret_store_id=d.get('secret_store_id'),
10346            subdomain=d.get('subdomain'),
10347            tags=d.get('tags'),
10348            tls_required=d.get('tls_required'),
10349            username=d.get('username'),
10350        )
10351
10352
10353class Clustrix:
10354    __slots__ = [
10355        'bind_interface',
10356        'database',
10357        'egress_filter',
10358        'healthy',
10359        'hostname',
10360        'id',
10361        'name',
10362        'password',
10363        'port',
10364        'port_override',
10365        'proxy_cluster_id',
10366        'require_native_auth',
10367        'secret_store_id',
10368        'subdomain',
10369        'tags',
10370        'use_azure_single_server_usernames',
10371        'username',
10372    ]
10373
10374    def __init__(
10375        self,
10376        bind_interface=None,
10377        database=None,
10378        egress_filter=None,
10379        healthy=None,
10380        hostname=None,
10381        id=None,
10382        name=None,
10383        password=None,
10384        port=None,
10385        port_override=None,
10386        proxy_cluster_id=None,
10387        require_native_auth=None,
10388        secret_store_id=None,
10389        subdomain=None,
10390        tags=None,
10391        use_azure_single_server_usernames=None,
10392        username=None,
10393    ):
10394        self.bind_interface = bind_interface if bind_interface is not None else ''
10395        '''
10396         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10397        '''
10398        self.database = database if database is not None else ''
10399        '''
10400         The database for healthchecks. Does not affect client requests.
10401        '''
10402        self.egress_filter = egress_filter if egress_filter is not None else ''
10403        '''
10404         A filter applied to the routing logic to pin datasource to nodes.
10405        '''
10406        self.healthy = healthy if healthy is not None else False
10407        '''
10408         True if the datasource is reachable and the credentials are valid.
10409        '''
10410        self.hostname = hostname if hostname is not None else ''
10411        '''
10412         The host to dial to initiate a connection from the egress node to this resource.
10413        '''
10414        self.id = id if id is not None else ''
10415        '''
10416         Unique identifier of the Resource.
10417        '''
10418        self.name = name if name is not None else ''
10419        '''
10420         Unique human-readable name of the Resource.
10421        '''
10422        self.password = password if password is not None else ''
10423        '''
10424         The password to authenticate with.
10425        '''
10426        self.port = port if port is not None else 0
10427        '''
10428         The port to dial to initiate a connection from the egress node to this resource.
10429        '''
10430        self.port_override = port_override if port_override is not None else 0
10431        '''
10432         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10433        '''
10434        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10435        '''
10436         ID of the proxy cluster for this resource, if any.
10437        '''
10438        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10439        '''
10440         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10441        '''
10442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10443        '''
10444         ID of the secret store containing credentials for this resource, if any.
10445        '''
10446        self.subdomain = subdomain if subdomain is not None else ''
10447        '''
10448         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10449        '''
10450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10451        '''
10452         Tags is a map of key, value pairs.
10453        '''
10454        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
10455        '''
10456         If true, appends the hostname to the username when hitting a database.azure.com address
10457        '''
10458        self.username = username if username is not None else ''
10459        '''
10460         The username to authenticate with.
10461        '''
10462
10463    def __repr__(self):
10464        return '<sdm.Clustrix ' + \
10465            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10466            'database: ' + repr(self.database) + ' ' +\
10467            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10468            'healthy: ' + repr(self.healthy) + ' ' +\
10469            'hostname: ' + repr(self.hostname) + ' ' +\
10470            'id: ' + repr(self.id) + ' ' +\
10471            'name: ' + repr(self.name) + ' ' +\
10472            'password: ' + repr(self.password) + ' ' +\
10473            'port: ' + repr(self.port) + ' ' +\
10474            'port_override: ' + repr(self.port_override) + ' ' +\
10475            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10476            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
10477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10478            'subdomain: ' + repr(self.subdomain) + ' ' +\
10479            'tags: ' + repr(self.tags) + ' ' +\
10480            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
10481            'username: ' + repr(self.username) + ' ' +\
10482            '>'
10483
10484    def to_dict(self):
10485        return {
10486            'bind_interface': self.bind_interface,
10487            'database': self.database,
10488            'egress_filter': self.egress_filter,
10489            'healthy': self.healthy,
10490            'hostname': self.hostname,
10491            'id': self.id,
10492            'name': self.name,
10493            'password': self.password,
10494            'port': self.port,
10495            'port_override': self.port_override,
10496            'proxy_cluster_id': self.proxy_cluster_id,
10497            'require_native_auth': self.require_native_auth,
10498            'secret_store_id': self.secret_store_id,
10499            'subdomain': self.subdomain,
10500            'tags': self.tags,
10501            'use_azure_single_server_usernames':
10502            self.use_azure_single_server_usernames,
10503            'username': self.username,
10504        }
10505
10506    @classmethod
10507    def from_dict(cls, d):
10508        return cls(
10509            bind_interface=d.get('bind_interface'),
10510            database=d.get('database'),
10511            egress_filter=d.get('egress_filter'),
10512            healthy=d.get('healthy'),
10513            hostname=d.get('hostname'),
10514            id=d.get('id'),
10515            name=d.get('name'),
10516            password=d.get('password'),
10517            port=d.get('port'),
10518            port_override=d.get('port_override'),
10519            proxy_cluster_id=d.get('proxy_cluster_id'),
10520            require_native_auth=d.get('require_native_auth'),
10521            secret_store_id=d.get('secret_store_id'),
10522            subdomain=d.get('subdomain'),
10523            tags=d.get('tags'),
10524            use_azure_single_server_usernames=d.get(
10525                'use_azure_single_server_usernames'),
10526            username=d.get('username'),
10527        )
10528
10529
10530class Cockroach:
10531    __slots__ = [
10532        'bind_interface',
10533        'database',
10534        'egress_filter',
10535        'healthy',
10536        'hostname',
10537        'id',
10538        'name',
10539        'override_database',
10540        'password',
10541        'port',
10542        'port_override',
10543        'proxy_cluster_id',
10544        'secret_store_id',
10545        'subdomain',
10546        'tags',
10547        'username',
10548    ]
10549
10550    def __init__(
10551        self,
10552        bind_interface=None,
10553        database=None,
10554        egress_filter=None,
10555        healthy=None,
10556        hostname=None,
10557        id=None,
10558        name=None,
10559        override_database=None,
10560        password=None,
10561        port=None,
10562        port_override=None,
10563        proxy_cluster_id=None,
10564        secret_store_id=None,
10565        subdomain=None,
10566        tags=None,
10567        username=None,
10568    ):
10569        self.bind_interface = bind_interface if bind_interface is not None else ''
10570        '''
10571         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10572        '''
10573        self.database = database if database is not None else ''
10574        '''
10575         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10576        '''
10577        self.egress_filter = egress_filter if egress_filter is not None else ''
10578        '''
10579         A filter applied to the routing logic to pin datasource to nodes.
10580        '''
10581        self.healthy = healthy if healthy is not None else False
10582        '''
10583         True if the datasource is reachable and the credentials are valid.
10584        '''
10585        self.hostname = hostname if hostname is not None else ''
10586        '''
10587         The host to dial to initiate a connection from the egress node to this resource.
10588        '''
10589        self.id = id if id is not None else ''
10590        '''
10591         Unique identifier of the Resource.
10592        '''
10593        self.name = name if name is not None else ''
10594        '''
10595         Unique human-readable name of the Resource.
10596        '''
10597        self.override_database = override_database if override_database is not None else False
10598        '''
10599         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
10600        '''
10601        self.password = password if password is not None else ''
10602        '''
10603         The password to authenticate with.
10604        '''
10605        self.port = port if port is not None else 0
10606        '''
10607         The port to dial to initiate a connection from the egress node to this resource.
10608        '''
10609        self.port_override = port_override if port_override is not None else 0
10610        '''
10611         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10612        '''
10613        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10614        '''
10615         ID of the proxy cluster for this resource, if any.
10616        '''
10617        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10618        '''
10619         ID of the secret store containing credentials for this resource, if any.
10620        '''
10621        self.subdomain = subdomain if subdomain is not None else ''
10622        '''
10623         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10624        '''
10625        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10626        '''
10627         Tags is a map of key, value pairs.
10628        '''
10629        self.username = username if username is not None else ''
10630        '''
10631         The username to authenticate with.
10632        '''
10633
10634    def __repr__(self):
10635        return '<sdm.Cockroach ' + \
10636            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10637            'database: ' + repr(self.database) + ' ' +\
10638            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10639            'healthy: ' + repr(self.healthy) + ' ' +\
10640            'hostname: ' + repr(self.hostname) + ' ' +\
10641            'id: ' + repr(self.id) + ' ' +\
10642            'name: ' + repr(self.name) + ' ' +\
10643            'override_database: ' + repr(self.override_database) + ' ' +\
10644            'password: ' + repr(self.password) + ' ' +\
10645            'port: ' + repr(self.port) + ' ' +\
10646            'port_override: ' + repr(self.port_override) + ' ' +\
10647            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10648            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10649            'subdomain: ' + repr(self.subdomain) + ' ' +\
10650            'tags: ' + repr(self.tags) + ' ' +\
10651            'username: ' + repr(self.username) + ' ' +\
10652            '>'
10653
10654    def to_dict(self):
10655        return {
10656            'bind_interface': self.bind_interface,
10657            'database': self.database,
10658            'egress_filter': self.egress_filter,
10659            'healthy': self.healthy,
10660            'hostname': self.hostname,
10661            'id': self.id,
10662            'name': self.name,
10663            'override_database': self.override_database,
10664            'password': self.password,
10665            'port': self.port,
10666            'port_override': self.port_override,
10667            'proxy_cluster_id': self.proxy_cluster_id,
10668            'secret_store_id': self.secret_store_id,
10669            'subdomain': self.subdomain,
10670            'tags': self.tags,
10671            'username': self.username,
10672        }
10673
10674    @classmethod
10675    def from_dict(cls, d):
10676        return cls(
10677            bind_interface=d.get('bind_interface'),
10678            database=d.get('database'),
10679            egress_filter=d.get('egress_filter'),
10680            healthy=d.get('healthy'),
10681            hostname=d.get('hostname'),
10682            id=d.get('id'),
10683            name=d.get('name'),
10684            override_database=d.get('override_database'),
10685            password=d.get('password'),
10686            port=d.get('port'),
10687            port_override=d.get('port_override'),
10688            proxy_cluster_id=d.get('proxy_cluster_id'),
10689            secret_store_id=d.get('secret_store_id'),
10690            subdomain=d.get('subdomain'),
10691            tags=d.get('tags'),
10692            username=d.get('username'),
10693        )
10694
10695
10696class ConnectorCreateRequest:
10697    '''
10698         ConnectorCreateRequest specifies a connector to create.
10699    '''
10700    __slots__ = [
10701        'connector',
10702    ]
10703
10704    def __init__(
10705        self,
10706        connector=None,
10707    ):
10708        self.connector = connector if connector is not None else None
10709        '''
10710         Parameters to define the new Connector.
10711        '''
10712
10713    def __repr__(self):
10714        return '<sdm.ConnectorCreateRequest ' + \
10715            'connector: ' + repr(self.connector) + ' ' +\
10716            '>'
10717
10718    def to_dict(self):
10719        return {
10720            'connector': self.connector,
10721        }
10722
10723    @classmethod
10724    def from_dict(cls, d):
10725        return cls(connector=d.get('connector'), )
10726
10727
10728class ConnectorCreateResponse:
10729    '''
10730         ConnectorCreateResponse reports the result of a create.
10731    '''
10732    __slots__ = [
10733        'connector',
10734        'rate_limit',
10735    ]
10736
10737    def __init__(
10738        self,
10739        connector=None,
10740        rate_limit=None,
10741    ):
10742        self.connector = connector if connector is not None else None
10743        '''
10744         The created Connector.
10745        '''
10746        self.rate_limit = rate_limit if rate_limit is not None else None
10747        '''
10748         Rate limit information.
10749        '''
10750
10751    def __repr__(self):
10752        return '<sdm.ConnectorCreateResponse ' + \
10753            'connector: ' + repr(self.connector) + ' ' +\
10754            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10755            '>'
10756
10757    def to_dict(self):
10758        return {
10759            'connector': self.connector,
10760            'rate_limit': self.rate_limit,
10761        }
10762
10763    @classmethod
10764    def from_dict(cls, d):
10765        return cls(
10766            connector=d.get('connector'),
10767            rate_limit=d.get('rate_limit'),
10768        )
10769
10770
10771class ConnectorDeleteRequest:
10772    '''
10773         ConnectorDeleteRequest identifies a connector by ID to delete.
10774    '''
10775    __slots__ = [
10776        'id',
10777    ]
10778
10779    def __init__(
10780        self,
10781        id=None,
10782    ):
10783        self.id = id if id is not None else ''
10784        '''
10785         The unique identifier of the connector to delete.
10786        '''
10787
10788    def __repr__(self):
10789        return '<sdm.ConnectorDeleteRequest ' + \
10790            'id: ' + repr(self.id) + ' ' +\
10791            '>'
10792
10793    def to_dict(self):
10794        return {
10795            'id': self.id,
10796        }
10797
10798    @classmethod
10799    def from_dict(cls, d):
10800        return cls(id=d.get('id'), )
10801
10802
10803class ConnectorDeleteResponse:
10804    '''
10805         ConnectorDeleteResponse returns information about a connector that was deleted.
10806    '''
10807    __slots__ = [
10808        'meta',
10809        'rate_limit',
10810    ]
10811
10812    def __init__(
10813        self,
10814        meta=None,
10815        rate_limit=None,
10816    ):
10817        self.meta = meta if meta is not None else None
10818        '''
10819         Reserved for future use.
10820        '''
10821        self.rate_limit = rate_limit if rate_limit is not None else None
10822        '''
10823         Rate limit information.
10824        '''
10825
10826    def __repr__(self):
10827        return '<sdm.ConnectorDeleteResponse ' + \
10828            'meta: ' + repr(self.meta) + ' ' +\
10829            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10830            '>'
10831
10832    def to_dict(self):
10833        return {
10834            'meta': self.meta,
10835            'rate_limit': self.rate_limit,
10836        }
10837
10838    @classmethod
10839    def from_dict(cls, d):
10840        return cls(
10841            meta=d.get('meta'),
10842            rate_limit=d.get('rate_limit'),
10843        )
10844
10845
10846class ConnectorGetRequest:
10847    '''
10848         ConnectorGetRequest specifies which Connector to retrieve.
10849    '''
10850    __slots__ = [
10851        'id',
10852    ]
10853
10854    def __init__(
10855        self,
10856        id=None,
10857    ):
10858        self.id = id if id is not None else ''
10859        '''
10860         The unique identifier of the Connector to retrieve.
10861        '''
10862
10863    def __repr__(self):
10864        return '<sdm.ConnectorGetRequest ' + \
10865            'id: ' + repr(self.id) + ' ' +\
10866            '>'
10867
10868    def to_dict(self):
10869        return {
10870            'id': self.id,
10871        }
10872
10873    @classmethod
10874    def from_dict(cls, d):
10875        return cls(id=d.get('id'), )
10876
10877
10878class ConnectorGetResponse:
10879    '''
10880         ConnectorGetResponse returns a requested Connector.
10881    '''
10882    __slots__ = [
10883        'connector',
10884        'meta',
10885        'rate_limit',
10886    ]
10887
10888    def __init__(
10889        self,
10890        connector=None,
10891        meta=None,
10892        rate_limit=None,
10893    ):
10894        self.connector = connector if connector is not None else None
10895        '''
10896         The requested Connector.
10897        '''
10898        self.meta = meta if meta is not None else None
10899        '''
10900         Reserved for future use.
10901        '''
10902        self.rate_limit = rate_limit if rate_limit is not None else None
10903        '''
10904         Rate limit information.
10905        '''
10906
10907    def __repr__(self):
10908        return '<sdm.ConnectorGetResponse ' + \
10909            'connector: ' + repr(self.connector) + ' ' +\
10910            'meta: ' + repr(self.meta) + ' ' +\
10911            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10912            '>'
10913
10914    def to_dict(self):
10915        return {
10916            'connector': self.connector,
10917            'meta': self.meta,
10918            'rate_limit': self.rate_limit,
10919        }
10920
10921    @classmethod
10922    def from_dict(cls, d):
10923        return cls(
10924            connector=d.get('connector'),
10925            meta=d.get('meta'),
10926            rate_limit=d.get('rate_limit'),
10927        )
10928
10929
10930class ConnectorListRequest:
10931    '''
10932         ConnectorListRequest specifies criteria for retrieving a list of connectors.
10933    '''
10934    __slots__ = [
10935        'filter',
10936    ]
10937
10938    def __init__(
10939        self,
10940        filter=None,
10941    ):
10942        self.filter = filter if filter is not None else ''
10943        '''
10944         A human-readable filter query string.
10945        '''
10946
10947    def __repr__(self):
10948        return '<sdm.ConnectorListRequest ' + \
10949            'filter: ' + repr(self.filter) + ' ' +\
10950            '>'
10951
10952    def to_dict(self):
10953        return {
10954            'filter': self.filter,
10955        }
10956
10957    @classmethod
10958    def from_dict(cls, d):
10959        return cls(filter=d.get('filter'), )
10960
10961
10962class ConnectorListResponse:
10963    '''
10964         ConnectorListResponse returns a list of connectors that meet the criteria of a
10965     ConnectorListRequest.
10966    '''
10967    __slots__ = [
10968        'rate_limit',
10969    ]
10970
10971    def __init__(
10972        self,
10973        rate_limit=None,
10974    ):
10975        self.rate_limit = rate_limit if rate_limit is not None else None
10976        '''
10977         Rate limit information.
10978        '''
10979
10980    def __repr__(self):
10981        return '<sdm.ConnectorListResponse ' + \
10982            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10983            '>'
10984
10985    def to_dict(self):
10986        return {
10987            'rate_limit': self.rate_limit,
10988        }
10989
10990    @classmethod
10991    def from_dict(cls, d):
10992        return cls(rate_limit=d.get('rate_limit'), )
10993
10994
10995class ConnectorUpdateRequest:
10996    '''
10997         ConnectorUpdateRequest updates a connector.
10998    '''
10999    __slots__ = [
11000        'connector',
11001    ]
11002
11003    def __init__(
11004        self,
11005        connector=None,
11006    ):
11007        self.connector = connector if connector is not None else None
11008        '''
11009         Parameters to overwrite the specified connector.
11010        '''
11011
11012    def __repr__(self):
11013        return '<sdm.ConnectorUpdateRequest ' + \
11014            'connector: ' + repr(self.connector) + ' ' +\
11015            '>'
11016
11017    def to_dict(self):
11018        return {
11019            'connector': self.connector,
11020        }
11021
11022    @classmethod
11023    def from_dict(cls, d):
11024        return cls(connector=d.get('connector'), )
11025
11026
11027class ConnectorUpdateResponse:
11028    '''
11029         ConnectorUpdateResponse returns the fields of a connector after it has been updated by
11030     a connectorUpdateRequest.
11031    '''
11032    __slots__ = [
11033        'connector',
11034        'rate_limit',
11035    ]
11036
11037    def __init__(
11038        self,
11039        connector=None,
11040        rate_limit=None,
11041    ):
11042        self.connector = connector if connector is not None else None
11043        '''
11044         The updated connector.
11045        '''
11046        self.rate_limit = rate_limit if rate_limit is not None else None
11047        '''
11048         Rate limit information.
11049        '''
11050
11051    def __repr__(self):
11052        return '<sdm.ConnectorUpdateResponse ' + \
11053            'connector: ' + repr(self.connector) + ' ' +\
11054            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11055            '>'
11056
11057    def to_dict(self):
11058        return {
11059            'connector': self.connector,
11060            'rate_limit': self.rate_limit,
11061        }
11062
11063    @classmethod
11064    def from_dict(cls, d):
11065        return cls(
11066            connector=d.get('connector'),
11067            rate_limit=d.get('rate_limit'),
11068        )
11069
11070
11071class ControlPanelGetOrgURLInfoResponse:
11072    '''
11073         ControlPanelGetOrgURLInfoResponse represents the response containing
11074     organization URL configuration.
11075    '''
11076    __slots__ = [
11077        'base_url',
11078        'meta',
11079        'oidc_issuer_url',
11080        'rate_limit',
11081        'saml_metadata_url',
11082        'websites_subdomain',
11083    ]
11084
11085    def __init__(
11086        self,
11087        base_url=None,
11088        meta=None,
11089        oidc_issuer_url=None,
11090        rate_limit=None,
11091        saml_metadata_url=None,
11092        websites_subdomain=None,
11093    ):
11094        self.base_url = base_url if base_url is not None else ''
11095        '''
11096         The base URL of the organization, e.g. https://app.strongdm.com
11097        '''
11098        self.meta = meta if meta is not None else None
11099        '''
11100         Reserved for future use.
11101        '''
11102        self.oidc_issuer_url = oidc_issuer_url if oidc_issuer_url is not None else ''
11103        '''
11104         The OIDC issuer URL for the organization, used for OIDC federation
11105         with cloud providers
11106        '''
11107        self.rate_limit = rate_limit if rate_limit is not None else None
11108        '''
11109         Rate limit information.
11110        '''
11111        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
11112        '''
11113         The SAML metadata URL for the organization, used for SAML SSO configuration.
11114        '''
11115        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
11116        '''
11117         The organization's website subdomain, used to construct URLs.
11118        '''
11119
11120    def __repr__(self):
11121        return '<sdm.ControlPanelGetOrgURLInfoResponse ' + \
11122            'base_url: ' + repr(self.base_url) + ' ' +\
11123            'meta: ' + repr(self.meta) + ' ' +\
11124            'oidc_issuer_url: ' + repr(self.oidc_issuer_url) + ' ' +\
11125            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11126            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
11127            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
11128            '>'
11129
11130    def to_dict(self):
11131        return {
11132            'base_url': self.base_url,
11133            'meta': self.meta,
11134            'oidc_issuer_url': self.oidc_issuer_url,
11135            'rate_limit': self.rate_limit,
11136            'saml_metadata_url': self.saml_metadata_url,
11137            'websites_subdomain': self.websites_subdomain,
11138        }
11139
11140    @classmethod
11141    def from_dict(cls, d):
11142        return cls(
11143            base_url=d.get('base_url'),
11144            meta=d.get('meta'),
11145            oidc_issuer_url=d.get('oidc_issuer_url'),
11146            rate_limit=d.get('rate_limit'),
11147            saml_metadata_url=d.get('saml_metadata_url'),
11148            websites_subdomain=d.get('websites_subdomain'),
11149        )
11150
11151
11152class ControlPanelGetRDPCAPublicKeyResponse:
11153    '''
11154         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
11155     organization's RDP Certificate Authority public key.
11156    '''
11157    __slots__ = [
11158        'meta',
11159        'public_key',
11160        'rate_limit',
11161    ]
11162
11163    def __init__(
11164        self,
11165        meta=None,
11166        public_key=None,
11167        rate_limit=None,
11168    ):
11169        self.meta = meta if meta is not None else None
11170        '''
11171         Reserved for future use.
11172        '''
11173        self.public_key = public_key if public_key is not None else ''
11174        '''
11175         The public key of the SSH Certificate Authority, in OpenSSH RSA public
11176         key format.
11177        '''
11178        self.rate_limit = rate_limit if rate_limit is not None else None
11179        '''
11180         Rate limit information.
11181        '''
11182
11183    def __repr__(self):
11184        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
11185            'meta: ' + repr(self.meta) + ' ' +\
11186            'public_key: ' + repr(self.public_key) + ' ' +\
11187            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11188            '>'
11189
11190    def to_dict(self):
11191        return {
11192            'meta': self.meta,
11193            'public_key': self.public_key,
11194            'rate_limit': self.rate_limit,
11195        }
11196
11197    @classmethod
11198    def from_dict(cls, d):
11199        return cls(
11200            meta=d.get('meta'),
11201            public_key=d.get('public_key'),
11202            rate_limit=d.get('rate_limit'),
11203        )
11204
11205
11206class ControlPanelGetSSHCAPublicKeyResponse:
11207    '''
11208         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
11209     organization's SSH Certificate Authority public key.
11210    '''
11211    __slots__ = [
11212        'meta',
11213        'public_key',
11214        'rate_limit',
11215    ]
11216
11217    def __init__(
11218        self,
11219        meta=None,
11220        public_key=None,
11221        rate_limit=None,
11222    ):
11223        self.meta = meta if meta is not None else None
11224        '''
11225         Reserved for future use.
11226        '''
11227        self.public_key = public_key if public_key is not None else ''
11228        '''
11229         The public key of the SSH Certificate Authority, in OpenSSH RSA public
11230         key format.
11231        '''
11232        self.rate_limit = rate_limit if rate_limit is not None else None
11233        '''
11234         Rate limit information.
11235        '''
11236
11237    def __repr__(self):
11238        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
11239            'meta: ' + repr(self.meta) + ' ' +\
11240            'public_key: ' + repr(self.public_key) + ' ' +\
11241            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11242            '>'
11243
11244    def to_dict(self):
11245        return {
11246            'meta': self.meta,
11247            'public_key': self.public_key,
11248            'rate_limit': self.rate_limit,
11249        }
11250
11251    @classmethod
11252    def from_dict(cls, d):
11253        return cls(
11254            meta=d.get('meta'),
11255            public_key=d.get('public_key'),
11256            rate_limit=d.get('rate_limit'),
11257        )
11258
11259
11260class ControlPanelVerifyJWTResponse:
11261    '''
11262         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
11263    '''
11264    __slots__ = [
11265        'meta',
11266        'rate_limit',
11267        'valid',
11268    ]
11269
11270    def __init__(
11271        self,
11272        meta=None,
11273        rate_limit=None,
11274        valid=None,
11275    ):
11276        self.meta = meta if meta is not None else None
11277        '''
11278         Reserved for future use.
11279        '''
11280        self.rate_limit = rate_limit if rate_limit is not None else None
11281        '''
11282         Rate limit information.
11283        '''
11284        self.valid = valid if valid is not None else False
11285        '''
11286         Reports if the given token is valid.
11287        '''
11288
11289    def __repr__(self):
11290        return '<sdm.ControlPanelVerifyJWTResponse ' + \
11291            'meta: ' + repr(self.meta) + ' ' +\
11292            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11293            'valid: ' + repr(self.valid) + ' ' +\
11294            '>'
11295
11296    def to_dict(self):
11297        return {
11298            'meta': self.meta,
11299            'rate_limit': self.rate_limit,
11300            'valid': self.valid,
11301        }
11302
11303    @classmethod
11304    def from_dict(cls, d):
11305        return cls(
11306            meta=d.get('meta'),
11307            rate_limit=d.get('rate_limit'),
11308            valid=d.get('valid'),
11309        )
11310
11311
11312class CouchbaseDatabase:
11313    __slots__ = [
11314        'bind_interface',
11315        'egress_filter',
11316        'healthy',
11317        'hostname',
11318        'id',
11319        'n1ql_port',
11320        'name',
11321        'password',
11322        'port',
11323        'port_override',
11324        'proxy_cluster_id',
11325        'secret_store_id',
11326        'subdomain',
11327        'tags',
11328        'tls_required',
11329        'username',
11330    ]
11331
11332    def __init__(
11333        self,
11334        bind_interface=None,
11335        egress_filter=None,
11336        healthy=None,
11337        hostname=None,
11338        id=None,
11339        n1ql_port=None,
11340        name=None,
11341        password=None,
11342        port=None,
11343        port_override=None,
11344        proxy_cluster_id=None,
11345        secret_store_id=None,
11346        subdomain=None,
11347        tags=None,
11348        tls_required=None,
11349        username=None,
11350    ):
11351        self.bind_interface = bind_interface if bind_interface is not None else ''
11352        '''
11353         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11354        '''
11355        self.egress_filter = egress_filter if egress_filter is not None else ''
11356        '''
11357         A filter applied to the routing logic to pin datasource to nodes.
11358        '''
11359        self.healthy = healthy if healthy is not None else False
11360        '''
11361         True if the datasource is reachable and the credentials are valid.
11362        '''
11363        self.hostname = hostname if hostname is not None else ''
11364        '''
11365         The host to dial to initiate a connection from the egress node to this resource.
11366        '''
11367        self.id = id if id is not None else ''
11368        '''
11369         Unique identifier of the Resource.
11370        '''
11371        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
11372        '''
11373         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
11374        '''
11375        self.name = name if name is not None else ''
11376        '''
11377         Unique human-readable name of the Resource.
11378        '''
11379        self.password = password if password is not None else ''
11380        '''
11381         The password to authenticate with.
11382        '''
11383        self.port = port if port is not None else 0
11384        '''
11385         The port to dial to initiate a connection from the egress node to this resource.
11386        '''
11387        self.port_override = port_override if port_override is not None else 0
11388        '''
11389         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11390        '''
11391        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11392        '''
11393         ID of the proxy cluster for this resource, if any.
11394        '''
11395        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11396        '''
11397         ID of the secret store containing credentials for this resource, if any.
11398        '''
11399        self.subdomain = subdomain if subdomain is not None else ''
11400        '''
11401         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11402        '''
11403        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11404        '''
11405         Tags is a map of key, value pairs.
11406        '''
11407        self.tls_required = tls_required if tls_required is not None else False
11408        '''
11409         If set, TLS must be used to connect to this resource.
11410        '''
11411        self.username = username if username is not None else ''
11412        '''
11413         The username to authenticate with.
11414        '''
11415
11416    def __repr__(self):
11417        return '<sdm.CouchbaseDatabase ' + \
11418            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11419            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11420            'healthy: ' + repr(self.healthy) + ' ' +\
11421            'hostname: ' + repr(self.hostname) + ' ' +\
11422            'id: ' + repr(self.id) + ' ' +\
11423            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
11424            'name: ' + repr(self.name) + ' ' +\
11425            'password: ' + repr(self.password) + ' ' +\
11426            'port: ' + repr(self.port) + ' ' +\
11427            'port_override: ' + repr(self.port_override) + ' ' +\
11428            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11429            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11430            'subdomain: ' + repr(self.subdomain) + ' ' +\
11431            'tags: ' + repr(self.tags) + ' ' +\
11432            'tls_required: ' + repr(self.tls_required) + ' ' +\
11433            'username: ' + repr(self.username) + ' ' +\
11434            '>'
11435
11436    def to_dict(self):
11437        return {
11438            'bind_interface': self.bind_interface,
11439            'egress_filter': self.egress_filter,
11440            'healthy': self.healthy,
11441            'hostname': self.hostname,
11442            'id': self.id,
11443            'n1ql_port': self.n1ql_port,
11444            'name': self.name,
11445            'password': self.password,
11446            'port': self.port,
11447            'port_override': self.port_override,
11448            'proxy_cluster_id': self.proxy_cluster_id,
11449            'secret_store_id': self.secret_store_id,
11450            'subdomain': self.subdomain,
11451            'tags': self.tags,
11452            'tls_required': self.tls_required,
11453            'username': self.username,
11454        }
11455
11456    @classmethod
11457    def from_dict(cls, d):
11458        return cls(
11459            bind_interface=d.get('bind_interface'),
11460            egress_filter=d.get('egress_filter'),
11461            healthy=d.get('healthy'),
11462            hostname=d.get('hostname'),
11463            id=d.get('id'),
11464            n1ql_port=d.get('n1ql_port'),
11465            name=d.get('name'),
11466            password=d.get('password'),
11467            port=d.get('port'),
11468            port_override=d.get('port_override'),
11469            proxy_cluster_id=d.get('proxy_cluster_id'),
11470            secret_store_id=d.get('secret_store_id'),
11471            subdomain=d.get('subdomain'),
11472            tags=d.get('tags'),
11473            tls_required=d.get('tls_required'),
11474            username=d.get('username'),
11475        )
11476
11477
11478class CouchbaseWebUI:
11479    __slots__ = [
11480        'bind_interface',
11481        'egress_filter',
11482        'healthy',
11483        'id',
11484        'name',
11485        'password',
11486        'port_override',
11487        'proxy_cluster_id',
11488        'secret_store_id',
11489        'subdomain',
11490        'tags',
11491        'url',
11492        'username',
11493    ]
11494
11495    def __init__(
11496        self,
11497        bind_interface=None,
11498        egress_filter=None,
11499        healthy=None,
11500        id=None,
11501        name=None,
11502        password=None,
11503        port_override=None,
11504        proxy_cluster_id=None,
11505        secret_store_id=None,
11506        subdomain=None,
11507        tags=None,
11508        url=None,
11509        username=None,
11510    ):
11511        self.bind_interface = bind_interface if bind_interface is not None else ''
11512        '''
11513         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11514        '''
11515        self.egress_filter = egress_filter if egress_filter is not None else ''
11516        '''
11517         A filter applied to the routing logic to pin datasource to nodes.
11518        '''
11519        self.healthy = healthy if healthy is not None else False
11520        '''
11521         True if the datasource is reachable and the credentials are valid.
11522        '''
11523        self.id = id if id is not None else ''
11524        '''
11525         Unique identifier of the Resource.
11526        '''
11527        self.name = name if name is not None else ''
11528        '''
11529         Unique human-readable name of the Resource.
11530        '''
11531        self.password = password if password is not None else ''
11532        '''
11533         The password to authenticate with.
11534        '''
11535        self.port_override = port_override if port_override is not None else 0
11536        '''
11537         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11538        '''
11539        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11540        '''
11541         ID of the proxy cluster for this resource, if any.
11542        '''
11543        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11544        '''
11545         ID of the secret store containing credentials for this resource, if any.
11546        '''
11547        self.subdomain = subdomain if subdomain is not None else ''
11548        '''
11549         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11550        '''
11551        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11552        '''
11553         Tags is a map of key, value pairs.
11554        '''
11555        self.url = url if url is not None else ''
11556        '''
11557         The base address of your website without the path.
11558        '''
11559        self.username = username if username is not None else ''
11560        '''
11561         The username to authenticate with.
11562        '''
11563
11564    def __repr__(self):
11565        return '<sdm.CouchbaseWebUI ' + \
11566            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11567            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11568            'healthy: ' + repr(self.healthy) + ' ' +\
11569            'id: ' + repr(self.id) + ' ' +\
11570            'name: ' + repr(self.name) + ' ' +\
11571            'password: ' + repr(self.password) + ' ' +\
11572            'port_override: ' + repr(self.port_override) + ' ' +\
11573            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11574            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11575            'subdomain: ' + repr(self.subdomain) + ' ' +\
11576            'tags: ' + repr(self.tags) + ' ' +\
11577            'url: ' + repr(self.url) + ' ' +\
11578            'username: ' + repr(self.username) + ' ' +\
11579            '>'
11580
11581    def to_dict(self):
11582        return {
11583            'bind_interface': self.bind_interface,
11584            'egress_filter': self.egress_filter,
11585            'healthy': self.healthy,
11586            'id': self.id,
11587            'name': self.name,
11588            'password': self.password,
11589            'port_override': self.port_override,
11590            'proxy_cluster_id': self.proxy_cluster_id,
11591            'secret_store_id': self.secret_store_id,
11592            'subdomain': self.subdomain,
11593            'tags': self.tags,
11594            'url': self.url,
11595            'username': self.username,
11596        }
11597
11598    @classmethod
11599    def from_dict(cls, d):
11600        return cls(
11601            bind_interface=d.get('bind_interface'),
11602            egress_filter=d.get('egress_filter'),
11603            healthy=d.get('healthy'),
11604            id=d.get('id'),
11605            name=d.get('name'),
11606            password=d.get('password'),
11607            port_override=d.get('port_override'),
11608            proxy_cluster_id=d.get('proxy_cluster_id'),
11609            secret_store_id=d.get('secret_store_id'),
11610            subdomain=d.get('subdomain'),
11611            tags=d.get('tags'),
11612            url=d.get('url'),
11613            username=d.get('username'),
11614        )
11615
11616
11617class CreateResponseMetadata:
11618    '''
11619         CreateResponseMetadata is reserved for future use.
11620    '''
11621    __slots__ = []
11622
11623    def __init__(self, ):
11624        pass
11625
11626    def __repr__(self):
11627        return '<sdm.CreateResponseMetadata ' + \
11628            '>'
11629
11630    def to_dict(self):
11631        return {}
11632
11633    @classmethod
11634    def from_dict(cls, d):
11635        return cls()
11636
11637
11638class CustomHeader:
11639    '''
11640         CustomHeader describes a single HTTP header
11641    '''
11642    __slots__ = [
11643        'name',
11644        'secret',
11645        'value',
11646    ]
11647
11648    def __init__(
11649        self,
11650        name=None,
11651        secret=None,
11652        value=None,
11653    ):
11654        self.name = name if name is not None else ''
11655        '''
11656         The name of this header.
11657        '''
11658        self.secret = secret if secret is not None else False
11659        '''
11660         Headers containing sensitive values must be stored encrypted and redacted from logs.
11661        '''
11662        self.value = value if value is not None else ''
11663        '''
11664         The value of this header.
11665        '''
11666
11667    def __repr__(self):
11668        return '<sdm.CustomHeader ' + \
11669            'name: ' + repr(self.name) + ' ' +\
11670            'secret: ' + repr(self.secret) + ' ' +\
11671            'value: ' + repr(self.value) + ' ' +\
11672            '>'
11673
11674    def to_dict(self):
11675        return {
11676            'name': self.name,
11677            'secret': self.secret,
11678            'value': self.value,
11679        }
11680
11681    @classmethod
11682    def from_dict(cls, d):
11683        return cls(
11684            name=d.get('name'),
11685            secret=d.get('secret'),
11686            value=d.get('value'),
11687        )
11688
11689
11690class CustomHeaders:
11691    '''
11692         CustomHeaders holds an array of HTTP headers to be injected into requests by the driver
11693    '''
11694    __slots__ = [
11695        'custom_headers',
11696    ]
11697
11698    def __init__(
11699        self,
11700        custom_headers=None,
11701    ):
11702        self.custom_headers = custom_headers if custom_headers is not None else []
11703        '''
11704         Entries, each describing a single header
11705        '''
11706
11707    def __repr__(self):
11708        return '<sdm.CustomHeaders ' + \
11709            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
11710            '>'
11711
11712    def to_dict(self):
11713        return {
11714            'custom_headers': self.custom_headers,
11715        }
11716
11717    @classmethod
11718    def from_dict(cls, d):
11719        return cls(custom_headers=d.get('custom_headers'), )
11720
11721
11722class CyberarkConjurStore:
11723    __slots__ = [
11724        'appurl',
11725        'id',
11726        'name',
11727        'tags',
11728    ]
11729
11730    def __init__(
11731        self,
11732        appurl=None,
11733        id=None,
11734        name=None,
11735        tags=None,
11736    ):
11737        self.appurl = appurl if appurl is not None else ''
11738        '''
11739         The URL of the Cyberark instance
11740        '''
11741        self.id = id if id is not None else ''
11742        '''
11743         Unique identifier of the SecretStore.
11744        '''
11745        self.name = name if name is not None else ''
11746        '''
11747         Unique human-readable name of the SecretStore.
11748        '''
11749        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11750        '''
11751         Tags is a map of key, value pairs.
11752        '''
11753
11754    def __repr__(self):
11755        return '<sdm.CyberarkConjurStore ' + \
11756            'appurl: ' + repr(self.appurl) + ' ' +\
11757            'id: ' + repr(self.id) + ' ' +\
11758            'name: ' + repr(self.name) + ' ' +\
11759            'tags: ' + repr(self.tags) + ' ' +\
11760            '>'
11761
11762    def to_dict(self):
11763        return {
11764            'appurl': self.appurl,
11765            'id': self.id,
11766            'name': self.name,
11767            'tags': self.tags,
11768        }
11769
11770    @classmethod
11771    def from_dict(cls, d):
11772        return cls(
11773            appurl=d.get('appurl'),
11774            id=d.get('id'),
11775            name=d.get('name'),
11776            tags=d.get('tags'),
11777        )
11778
11779
11780class CyberarkPAMExperimentalStore:
11781    '''
11782    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
11783    without a major version bump.
11784    '''
11785    __slots__ = [
11786        'appurl',
11787        'id',
11788        'name',
11789        'tags',
11790    ]
11791
11792    def __init__(
11793        self,
11794        appurl=None,
11795        id=None,
11796        name=None,
11797        tags=None,
11798    ):
11799        self.appurl = appurl if appurl is not None else ''
11800        '''
11801         The URL of the Cyberark instance
11802        '''
11803        self.id = id if id is not None else ''
11804        '''
11805         Unique identifier of the SecretStore.
11806        '''
11807        self.name = name if name is not None else ''
11808        '''
11809         Unique human-readable name of the SecretStore.
11810        '''
11811        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11812        '''
11813         Tags is a map of key, value pairs.
11814        '''
11815
11816    def __repr__(self):
11817        return '<sdm.CyberarkPAMExperimentalStore ' + \
11818            'appurl: ' + repr(self.appurl) + ' ' +\
11819            'id: ' + repr(self.id) + ' ' +\
11820            'name: ' + repr(self.name) + ' ' +\
11821            'tags: ' + repr(self.tags) + ' ' +\
11822            '>'
11823
11824    def to_dict(self):
11825        return {
11826            'appurl': self.appurl,
11827            'id': self.id,
11828            'name': self.name,
11829            'tags': self.tags,
11830        }
11831
11832    @classmethod
11833    def from_dict(cls, d):
11834        return cls(
11835            appurl=d.get('appurl'),
11836            id=d.get('id'),
11837            name=d.get('name'),
11838            tags=d.get('tags'),
11839        )
11840
11841
11842class CyberarkPAMStore:
11843    __slots__ = [
11844        'appurl',
11845        'id',
11846        'name',
11847        'tags',
11848    ]
11849
11850    def __init__(
11851        self,
11852        appurl=None,
11853        id=None,
11854        name=None,
11855        tags=None,
11856    ):
11857        self.appurl = appurl if appurl is not None else ''
11858        '''
11859         The URL of the Cyberark instance
11860        '''
11861        self.id = id if id is not None else ''
11862        '''
11863         Unique identifier of the SecretStore.
11864        '''
11865        self.name = name if name is not None else ''
11866        '''
11867         Unique human-readable name of the SecretStore.
11868        '''
11869        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11870        '''
11871         Tags is a map of key, value pairs.
11872        '''
11873
11874    def __repr__(self):
11875        return '<sdm.CyberarkPAMStore ' + \
11876            'appurl: ' + repr(self.appurl) + ' ' +\
11877            'id: ' + repr(self.id) + ' ' +\
11878            'name: ' + repr(self.name) + ' ' +\
11879            'tags: ' + repr(self.tags) + ' ' +\
11880            '>'
11881
11882    def to_dict(self):
11883        return {
11884            'appurl': self.appurl,
11885            'id': self.id,
11886            'name': self.name,
11887            'tags': self.tags,
11888        }
11889
11890    @classmethod
11891    def from_dict(cls, d):
11892        return cls(
11893            appurl=d.get('appurl'),
11894            id=d.get('id'),
11895            name=d.get('name'),
11896            tags=d.get('tags'),
11897        )
11898
11899
11900class DB2I:
11901    __slots__ = [
11902        'bind_interface',
11903        'egress_filter',
11904        'healthy',
11905        'hostname',
11906        'id',
11907        'name',
11908        'password',
11909        'port',
11910        'port_override',
11911        'proxy_cluster_id',
11912        'secret_store_id',
11913        'subdomain',
11914        'tags',
11915        'tls_required',
11916        'username',
11917    ]
11918
11919    def __init__(
11920        self,
11921        bind_interface=None,
11922        egress_filter=None,
11923        healthy=None,
11924        hostname=None,
11925        id=None,
11926        name=None,
11927        password=None,
11928        port=None,
11929        port_override=None,
11930        proxy_cluster_id=None,
11931        secret_store_id=None,
11932        subdomain=None,
11933        tags=None,
11934        tls_required=None,
11935        username=None,
11936    ):
11937        self.bind_interface = bind_interface if bind_interface is not None else ''
11938        '''
11939         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11940        '''
11941        self.egress_filter = egress_filter if egress_filter is not None else ''
11942        '''
11943         A filter applied to the routing logic to pin datasource to nodes.
11944        '''
11945        self.healthy = healthy if healthy is not None else False
11946        '''
11947         True if the datasource is reachable and the credentials are valid.
11948        '''
11949        self.hostname = hostname if hostname is not None else ''
11950        '''
11951         The host to dial to initiate a connection from the egress node to this resource.
11952        '''
11953        self.id = id if id is not None else ''
11954        '''
11955         Unique identifier of the Resource.
11956        '''
11957        self.name = name if name is not None else ''
11958        '''
11959         Unique human-readable name of the Resource.
11960        '''
11961        self.password = password if password is not None else ''
11962        '''
11963         The password to authenticate with.
11964        '''
11965        self.port = port if port is not None else 0
11966        '''
11967         The port to dial to initiate a connection from the egress node to this resource.
11968        '''
11969        self.port_override = port_override if port_override is not None else 0
11970        '''
11971         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11972        '''
11973        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11974        '''
11975         ID of the proxy cluster for this resource, if any.
11976        '''
11977        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11978        '''
11979         ID of the secret store containing credentials for this resource, if any.
11980        '''
11981        self.subdomain = subdomain if subdomain is not None else ''
11982        '''
11983         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11984        '''
11985        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11986        '''
11987         Tags is a map of key, value pairs.
11988        '''
11989        self.tls_required = tls_required if tls_required is not None else False
11990        '''
11991         If set, TLS must be used to connect to this resource.
11992        '''
11993        self.username = username if username is not None else ''
11994        '''
11995         The username to authenticate with.
11996        '''
11997
11998    def __repr__(self):
11999        return '<sdm.DB2I ' + \
12000            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12001            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12002            'healthy: ' + repr(self.healthy) + ' ' +\
12003            'hostname: ' + repr(self.hostname) + ' ' +\
12004            'id: ' + repr(self.id) + ' ' +\
12005            'name: ' + repr(self.name) + ' ' +\
12006            'password: ' + repr(self.password) + ' ' +\
12007            'port: ' + repr(self.port) + ' ' +\
12008            'port_override: ' + repr(self.port_override) + ' ' +\
12009            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12010            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12011            'subdomain: ' + repr(self.subdomain) + ' ' +\
12012            'tags: ' + repr(self.tags) + ' ' +\
12013            'tls_required: ' + repr(self.tls_required) + ' ' +\
12014            'username: ' + repr(self.username) + ' ' +\
12015            '>'
12016
12017    def to_dict(self):
12018        return {
12019            'bind_interface': self.bind_interface,
12020            'egress_filter': self.egress_filter,
12021            'healthy': self.healthy,
12022            'hostname': self.hostname,
12023            'id': self.id,
12024            'name': self.name,
12025            'password': self.password,
12026            'port': self.port,
12027            'port_override': self.port_override,
12028            'proxy_cluster_id': self.proxy_cluster_id,
12029            'secret_store_id': self.secret_store_id,
12030            'subdomain': self.subdomain,
12031            'tags': self.tags,
12032            'tls_required': self.tls_required,
12033            'username': self.username,
12034        }
12035
12036    @classmethod
12037    def from_dict(cls, d):
12038        return cls(
12039            bind_interface=d.get('bind_interface'),
12040            egress_filter=d.get('egress_filter'),
12041            healthy=d.get('healthy'),
12042            hostname=d.get('hostname'),
12043            id=d.get('id'),
12044            name=d.get('name'),
12045            password=d.get('password'),
12046            port=d.get('port'),
12047            port_override=d.get('port_override'),
12048            proxy_cluster_id=d.get('proxy_cluster_id'),
12049            secret_store_id=d.get('secret_store_id'),
12050            subdomain=d.get('subdomain'),
12051            tags=d.get('tags'),
12052            tls_required=d.get('tls_required'),
12053            username=d.get('username'),
12054        )
12055
12056
12057class DB2LUW:
12058    __slots__ = [
12059        'bind_interface',
12060        'database',
12061        'egress_filter',
12062        'healthy',
12063        'hostname',
12064        'id',
12065        'name',
12066        'password',
12067        'port',
12068        'port_override',
12069        'proxy_cluster_id',
12070        'secret_store_id',
12071        'subdomain',
12072        'tags',
12073        'tls_required',
12074        'username',
12075    ]
12076
12077    def __init__(
12078        self,
12079        bind_interface=None,
12080        database=None,
12081        egress_filter=None,
12082        healthy=None,
12083        hostname=None,
12084        id=None,
12085        name=None,
12086        password=None,
12087        port=None,
12088        port_override=None,
12089        proxy_cluster_id=None,
12090        secret_store_id=None,
12091        subdomain=None,
12092        tags=None,
12093        tls_required=None,
12094        username=None,
12095    ):
12096        self.bind_interface = bind_interface if bind_interface is not None else ''
12097        '''
12098         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12099        '''
12100        self.database = database if database is not None else ''
12101        '''
12102         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
12103        '''
12104        self.egress_filter = egress_filter if egress_filter is not None else ''
12105        '''
12106         A filter applied to the routing logic to pin datasource to nodes.
12107        '''
12108        self.healthy = healthy if healthy is not None else False
12109        '''
12110         True if the datasource is reachable and the credentials are valid.
12111        '''
12112        self.hostname = hostname if hostname is not None else ''
12113        '''
12114         The host to dial to initiate a connection from the egress node to this resource.
12115        '''
12116        self.id = id if id is not None else ''
12117        '''
12118         Unique identifier of the Resource.
12119        '''
12120        self.name = name if name is not None else ''
12121        '''
12122         Unique human-readable name of the Resource.
12123        '''
12124        self.password = password if password is not None else ''
12125        '''
12126         The password to authenticate with.
12127        '''
12128        self.port = port if port is not None else 0
12129        '''
12130         The port to dial to initiate a connection from the egress node to this resource.
12131        '''
12132        self.port_override = port_override if port_override is not None else 0
12133        '''
12134         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12135        '''
12136        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12137        '''
12138         ID of the proxy cluster for this resource, if any.
12139        '''
12140        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12141        '''
12142         ID of the secret store containing credentials for this resource, if any.
12143        '''
12144        self.subdomain = subdomain if subdomain is not None else ''
12145        '''
12146         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12147        '''
12148        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12149        '''
12150         Tags is a map of key, value pairs.
12151        '''
12152        self.tls_required = tls_required if tls_required is not None else False
12153        '''
12154         If set, TLS must be used to connect to this resource.
12155        '''
12156        self.username = username if username is not None else ''
12157        '''
12158         The username to authenticate with.
12159        '''
12160
12161    def __repr__(self):
12162        return '<sdm.DB2LUW ' + \
12163            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12164            'database: ' + repr(self.database) + ' ' +\
12165            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12166            'healthy: ' + repr(self.healthy) + ' ' +\
12167            'hostname: ' + repr(self.hostname) + ' ' +\
12168            'id: ' + repr(self.id) + ' ' +\
12169            'name: ' + repr(self.name) + ' ' +\
12170            'password: ' + repr(self.password) + ' ' +\
12171            'port: ' + repr(self.port) + ' ' +\
12172            'port_override: ' + repr(self.port_override) + ' ' +\
12173            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12174            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12175            'subdomain: ' + repr(self.subdomain) + ' ' +\
12176            'tags: ' + repr(self.tags) + ' ' +\
12177            'tls_required: ' + repr(self.tls_required) + ' ' +\
12178            'username: ' + repr(self.username) + ' ' +\
12179            '>'
12180
12181    def to_dict(self):
12182        return {
12183            'bind_interface': self.bind_interface,
12184            'database': self.database,
12185            'egress_filter': self.egress_filter,
12186            'healthy': self.healthy,
12187            'hostname': self.hostname,
12188            'id': self.id,
12189            'name': self.name,
12190            'password': self.password,
12191            'port': self.port,
12192            'port_override': self.port_override,
12193            'proxy_cluster_id': self.proxy_cluster_id,
12194            'secret_store_id': self.secret_store_id,
12195            'subdomain': self.subdomain,
12196            'tags': self.tags,
12197            'tls_required': self.tls_required,
12198            'username': self.username,
12199        }
12200
12201    @classmethod
12202    def from_dict(cls, d):
12203        return cls(
12204            bind_interface=d.get('bind_interface'),
12205            database=d.get('database'),
12206            egress_filter=d.get('egress_filter'),
12207            healthy=d.get('healthy'),
12208            hostname=d.get('hostname'),
12209            id=d.get('id'),
12210            name=d.get('name'),
12211            password=d.get('password'),
12212            port=d.get('port'),
12213            port_override=d.get('port_override'),
12214            proxy_cluster_id=d.get('proxy_cluster_id'),
12215            secret_store_id=d.get('secret_store_id'),
12216            subdomain=d.get('subdomain'),
12217            tags=d.get('tags'),
12218            tls_required=d.get('tls_required'),
12219            username=d.get('username'),
12220        )
12221
12222
12223class Databricks:
12224    __slots__ = [
12225        'access_token',
12226        'bind_interface',
12227        'egress_filter',
12228        'healthy',
12229        'hostname',
12230        'http_path',
12231        'id',
12232        'name',
12233        'port_override',
12234        'proxy_cluster_id',
12235        'schema',
12236        'secret_store_id',
12237        'subdomain',
12238        'tags',
12239    ]
12240
12241    def __init__(
12242        self,
12243        access_token=None,
12244        bind_interface=None,
12245        egress_filter=None,
12246        healthy=None,
12247        hostname=None,
12248        http_path=None,
12249        id=None,
12250        name=None,
12251        port_override=None,
12252        proxy_cluster_id=None,
12253        schema=None,
12254        secret_store_id=None,
12255        subdomain=None,
12256        tags=None,
12257    ):
12258        self.access_token = access_token if access_token is not None else ''
12259        '''
12260         Databricks Personal Access Token (PAT)
12261        '''
12262        self.bind_interface = bind_interface if bind_interface is not None else ''
12263        '''
12264         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12265        '''
12266        self.egress_filter = egress_filter if egress_filter is not None else ''
12267        '''
12268         A filter applied to the routing logic to pin datasource to nodes.
12269        '''
12270        self.healthy = healthy if healthy is not None else False
12271        '''
12272         True if the datasource is reachable and the credentials are valid.
12273        '''
12274        self.hostname = hostname if hostname is not None else ''
12275        '''
12276         The Databricks workspace hostname (e.g., dbc-xxx.cloud.databricks.com)
12277        '''
12278        self.http_path = http_path if http_path is not None else ''
12279        '''
12280         The HTTP path to the SQL warehouse or cluster (e.g., /sql/1.0/warehouses/xxx)
12281        '''
12282        self.id = id if id is not None else ''
12283        '''
12284         Unique identifier of the Resource.
12285        '''
12286        self.name = name if name is not None else ''
12287        '''
12288         Unique human-readable name of the Resource.
12289        '''
12290        self.port_override = port_override if port_override is not None else 0
12291        '''
12292         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12293        '''
12294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12295        '''
12296         ID of the proxy cluster for this resource, if any.
12297        '''
12298        self.schema = schema if schema is not None else ''
12299        '''
12300         The Schema to use to direct initial requests.
12301        '''
12302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12303        '''
12304         ID of the secret store containing credentials for this resource, if any.
12305        '''
12306        self.subdomain = subdomain if subdomain is not None else ''
12307        '''
12308         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12309        '''
12310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12311        '''
12312         Tags is a map of key, value pairs.
12313        '''
12314
12315    def __repr__(self):
12316        return '<sdm.Databricks ' + \
12317            'access_token: ' + repr(self.access_token) + ' ' +\
12318            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12319            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12320            'healthy: ' + repr(self.healthy) + ' ' +\
12321            'hostname: ' + repr(self.hostname) + ' ' +\
12322            'http_path: ' + repr(self.http_path) + ' ' +\
12323            'id: ' + repr(self.id) + ' ' +\
12324            'name: ' + repr(self.name) + ' ' +\
12325            'port_override: ' + repr(self.port_override) + ' ' +\
12326            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12327            'schema: ' + repr(self.schema) + ' ' +\
12328            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12329            'subdomain: ' + repr(self.subdomain) + ' ' +\
12330            'tags: ' + repr(self.tags) + ' ' +\
12331            '>'
12332
12333    def to_dict(self):
12334        return {
12335            'access_token': self.access_token,
12336            'bind_interface': self.bind_interface,
12337            'egress_filter': self.egress_filter,
12338            'healthy': self.healthy,
12339            'hostname': self.hostname,
12340            'http_path': self.http_path,
12341            'id': self.id,
12342            'name': self.name,
12343            'port_override': self.port_override,
12344            'proxy_cluster_id': self.proxy_cluster_id,
12345            'schema': self.schema,
12346            'secret_store_id': self.secret_store_id,
12347            'subdomain': self.subdomain,
12348            'tags': self.tags,
12349        }
12350
12351    @classmethod
12352    def from_dict(cls, d):
12353        return cls(
12354            access_token=d.get('access_token'),
12355            bind_interface=d.get('bind_interface'),
12356            egress_filter=d.get('egress_filter'),
12357            healthy=d.get('healthy'),
12358            hostname=d.get('hostname'),
12359            http_path=d.get('http_path'),
12360            id=d.get('id'),
12361            name=d.get('name'),
12362            port_override=d.get('port_override'),
12363            proxy_cluster_id=d.get('proxy_cluster_id'),
12364            schema=d.get('schema'),
12365            secret_store_id=d.get('secret_store_id'),
12366            subdomain=d.get('subdomain'),
12367            tags=d.get('tags'),
12368        )
12369
12370
12371class DeleteResponseMetadata:
12372    '''
12373         DeleteResponseMetadata is reserved for future use.
12374    '''
12375    __slots__ = []
12376
12377    def __init__(self, ):
12378        pass
12379
12380    def __repr__(self):
12381        return '<sdm.DeleteResponseMetadata ' + \
12382            '>'
12383
12384    def to_dict(self):
12385        return {}
12386
12387    @classmethod
12388    def from_dict(cls, d):
12389        return cls()
12390
12391
12392class DelineaStore:
12393    __slots__ = [
12394        'id',
12395        'name',
12396        'server_url',
12397        'tags',
12398        'tenant_name',
12399    ]
12400
12401    def __init__(
12402        self,
12403        id=None,
12404        name=None,
12405        server_url=None,
12406        tags=None,
12407        tenant_name=None,
12408    ):
12409        self.id = id if id is not None else ''
12410        '''
12411         Unique identifier of the SecretStore.
12412        '''
12413        self.name = name if name is not None else ''
12414        '''
12415         Unique human-readable name of the SecretStore.
12416        '''
12417        self.server_url = server_url if server_url is not None else ''
12418        '''
12419         The URL of the Delinea instance
12420        '''
12421        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12422        '''
12423         Tags is a map of key, value pairs.
12424        '''
12425        self.tenant_name = tenant_name if tenant_name is not None else ''
12426        '''
12427         The tenant name to target
12428        '''
12429
12430    def __repr__(self):
12431        return '<sdm.DelineaStore ' + \
12432            'id: ' + repr(self.id) + ' ' +\
12433            'name: ' + repr(self.name) + ' ' +\
12434            'server_url: ' + repr(self.server_url) + ' ' +\
12435            'tags: ' + repr(self.tags) + ' ' +\
12436            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
12437            '>'
12438
12439    def to_dict(self):
12440        return {
12441            'id': self.id,
12442            'name': self.name,
12443            'server_url': self.server_url,
12444            'tags': self.tags,
12445            'tenant_name': self.tenant_name,
12446        }
12447
12448    @classmethod
12449    def from_dict(cls, d):
12450        return cls(
12451            id=d.get('id'),
12452            name=d.get('name'),
12453            server_url=d.get('server_url'),
12454            tags=d.get('tags'),
12455            tenant_name=d.get('tenant_name'),
12456        )
12457
12458
12459class DocumentDBHost:
12460    __slots__ = [
12461        'auth_database',
12462        'bind_interface',
12463        'egress_filter',
12464        'healthy',
12465        'hostname',
12466        'id',
12467        'name',
12468        'password',
12469        'port',
12470        'port_override',
12471        'proxy_cluster_id',
12472        'secret_store_id',
12473        'subdomain',
12474        'tags',
12475        'username',
12476    ]
12477
12478    def __init__(
12479        self,
12480        auth_database=None,
12481        bind_interface=None,
12482        egress_filter=None,
12483        healthy=None,
12484        hostname=None,
12485        id=None,
12486        name=None,
12487        password=None,
12488        port=None,
12489        port_override=None,
12490        proxy_cluster_id=None,
12491        secret_store_id=None,
12492        subdomain=None,
12493        tags=None,
12494        username=None,
12495    ):
12496        self.auth_database = auth_database if auth_database is not None else ''
12497        '''
12498         The authentication database to use.
12499        '''
12500        self.bind_interface = bind_interface if bind_interface is not None else ''
12501        '''
12502         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12503        '''
12504        self.egress_filter = egress_filter if egress_filter is not None else ''
12505        '''
12506         A filter applied to the routing logic to pin datasource to nodes.
12507        '''
12508        self.healthy = healthy if healthy is not None else False
12509        '''
12510         True if the datasource is reachable and the credentials are valid.
12511        '''
12512        self.hostname = hostname if hostname is not None else ''
12513        '''
12514         The host to dial to initiate a connection from the egress node to this resource.
12515        '''
12516        self.id = id if id is not None else ''
12517        '''
12518         Unique identifier of the Resource.
12519        '''
12520        self.name = name if name is not None else ''
12521        '''
12522         Unique human-readable name of the Resource.
12523        '''
12524        self.password = password if password is not None else ''
12525        '''
12526         The password to authenticate with.
12527        '''
12528        self.port = port if port is not None else 0
12529        '''
12530         The port to dial to initiate a connection from the egress node to this resource.
12531        '''
12532        self.port_override = port_override if port_override is not None else 0
12533        '''
12534         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12535        '''
12536        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12537        '''
12538         ID of the proxy cluster for this resource, if any.
12539        '''
12540        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12541        '''
12542         ID of the secret store containing credentials for this resource, if any.
12543        '''
12544        self.subdomain = subdomain if subdomain is not None else ''
12545        '''
12546         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12547        '''
12548        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12549        '''
12550         Tags is a map of key, value pairs.
12551        '''
12552        self.username = username if username is not None else ''
12553        '''
12554         The username to authenticate with.
12555        '''
12556
12557    def __repr__(self):
12558        return '<sdm.DocumentDBHost ' + \
12559            'auth_database: ' + repr(self.auth_database) + ' ' +\
12560            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12561            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12562            'healthy: ' + repr(self.healthy) + ' ' +\
12563            'hostname: ' + repr(self.hostname) + ' ' +\
12564            'id: ' + repr(self.id) + ' ' +\
12565            'name: ' + repr(self.name) + ' ' +\
12566            'password: ' + repr(self.password) + ' ' +\
12567            'port: ' + repr(self.port) + ' ' +\
12568            'port_override: ' + repr(self.port_override) + ' ' +\
12569            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12570            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12571            'subdomain: ' + repr(self.subdomain) + ' ' +\
12572            'tags: ' + repr(self.tags) + ' ' +\
12573            'username: ' + repr(self.username) + ' ' +\
12574            '>'
12575
12576    def to_dict(self):
12577        return {
12578            'auth_database': self.auth_database,
12579            'bind_interface': self.bind_interface,
12580            'egress_filter': self.egress_filter,
12581            'healthy': self.healthy,
12582            'hostname': self.hostname,
12583            'id': self.id,
12584            'name': self.name,
12585            'password': self.password,
12586            'port': self.port,
12587            'port_override': self.port_override,
12588            'proxy_cluster_id': self.proxy_cluster_id,
12589            'secret_store_id': self.secret_store_id,
12590            'subdomain': self.subdomain,
12591            'tags': self.tags,
12592            'username': self.username,
12593        }
12594
12595    @classmethod
12596    def from_dict(cls, d):
12597        return cls(
12598            auth_database=d.get('auth_database'),
12599            bind_interface=d.get('bind_interface'),
12600            egress_filter=d.get('egress_filter'),
12601            healthy=d.get('healthy'),
12602            hostname=d.get('hostname'),
12603            id=d.get('id'),
12604            name=d.get('name'),
12605            password=d.get('password'),
12606            port=d.get('port'),
12607            port_override=d.get('port_override'),
12608            proxy_cluster_id=d.get('proxy_cluster_id'),
12609            secret_store_id=d.get('secret_store_id'),
12610            subdomain=d.get('subdomain'),
12611            tags=d.get('tags'),
12612            username=d.get('username'),
12613        )
12614
12615
12616class DocumentDBHostIAM:
12617    __slots__ = [
12618        'bind_interface',
12619        'egress_filter',
12620        'healthy',
12621        'hostname',
12622        'id',
12623        'name',
12624        'port',
12625        'port_override',
12626        'proxy_cluster_id',
12627        'region',
12628        'secret_store_id',
12629        'subdomain',
12630        'tags',
12631    ]
12632
12633    def __init__(
12634        self,
12635        bind_interface=None,
12636        egress_filter=None,
12637        healthy=None,
12638        hostname=None,
12639        id=None,
12640        name=None,
12641        port=None,
12642        port_override=None,
12643        proxy_cluster_id=None,
12644        region=None,
12645        secret_store_id=None,
12646        subdomain=None,
12647        tags=None,
12648    ):
12649        self.bind_interface = bind_interface if bind_interface is not None else ''
12650        '''
12651         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12652        '''
12653        self.egress_filter = egress_filter if egress_filter is not None else ''
12654        '''
12655         A filter applied to the routing logic to pin datasource to nodes.
12656        '''
12657        self.healthy = healthy if healthy is not None else False
12658        '''
12659         True if the datasource is reachable and the credentials are valid.
12660        '''
12661        self.hostname = hostname if hostname is not None else ''
12662        '''
12663         The host to dial to initiate a connection from the egress node to this resource.
12664        '''
12665        self.id = id if id is not None else ''
12666        '''
12667         Unique identifier of the Resource.
12668        '''
12669        self.name = name if name is not None else ''
12670        '''
12671         Unique human-readable name of the Resource.
12672        '''
12673        self.port = port if port is not None else 0
12674        '''
12675         The port to dial to initiate a connection from the egress node to this resource.
12676        '''
12677        self.port_override = port_override if port_override is not None else 0
12678        '''
12679         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12680        '''
12681        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12682        '''
12683         ID of the proxy cluster for this resource, if any.
12684        '''
12685        self.region = region if region is not None else ''
12686        '''
12687         The AWS region to connect to.
12688        '''
12689        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12690        '''
12691         ID of the secret store containing credentials for this resource, if any.
12692        '''
12693        self.subdomain = subdomain if subdomain is not None else ''
12694        '''
12695         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12696        '''
12697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12698        '''
12699         Tags is a map of key, value pairs.
12700        '''
12701
12702    def __repr__(self):
12703        return '<sdm.DocumentDBHostIAM ' + \
12704            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12705            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12706            'healthy: ' + repr(self.healthy) + ' ' +\
12707            'hostname: ' + repr(self.hostname) + ' ' +\
12708            'id: ' + repr(self.id) + ' ' +\
12709            'name: ' + repr(self.name) + ' ' +\
12710            'port: ' + repr(self.port) + ' ' +\
12711            'port_override: ' + repr(self.port_override) + ' ' +\
12712            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12713            'region: ' + repr(self.region) + ' ' +\
12714            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12715            'subdomain: ' + repr(self.subdomain) + ' ' +\
12716            'tags: ' + repr(self.tags) + ' ' +\
12717            '>'
12718
12719    def to_dict(self):
12720        return {
12721            'bind_interface': self.bind_interface,
12722            'egress_filter': self.egress_filter,
12723            'healthy': self.healthy,
12724            'hostname': self.hostname,
12725            'id': self.id,
12726            'name': self.name,
12727            'port': self.port,
12728            'port_override': self.port_override,
12729            'proxy_cluster_id': self.proxy_cluster_id,
12730            'region': self.region,
12731            'secret_store_id': self.secret_store_id,
12732            'subdomain': self.subdomain,
12733            'tags': self.tags,
12734        }
12735
12736    @classmethod
12737    def from_dict(cls, d):
12738        return cls(
12739            bind_interface=d.get('bind_interface'),
12740            egress_filter=d.get('egress_filter'),
12741            healthy=d.get('healthy'),
12742            hostname=d.get('hostname'),
12743            id=d.get('id'),
12744            name=d.get('name'),
12745            port=d.get('port'),
12746            port_override=d.get('port_override'),
12747            proxy_cluster_id=d.get('proxy_cluster_id'),
12748            region=d.get('region'),
12749            secret_store_id=d.get('secret_store_id'),
12750            subdomain=d.get('subdomain'),
12751            tags=d.get('tags'),
12752        )
12753
12754
12755class DocumentDBReplicaSet:
12756    __slots__ = [
12757        'auth_database',
12758        'bind_interface',
12759        'connect_to_replica',
12760        'egress_filter',
12761        'healthy',
12762        'hostname',
12763        'id',
12764        'name',
12765        'password',
12766        'port_override',
12767        'proxy_cluster_id',
12768        'secret_store_id',
12769        'subdomain',
12770        'tags',
12771        'username',
12772    ]
12773
12774    def __init__(
12775        self,
12776        auth_database=None,
12777        bind_interface=None,
12778        connect_to_replica=None,
12779        egress_filter=None,
12780        healthy=None,
12781        hostname=None,
12782        id=None,
12783        name=None,
12784        password=None,
12785        port_override=None,
12786        proxy_cluster_id=None,
12787        secret_store_id=None,
12788        subdomain=None,
12789        tags=None,
12790        username=None,
12791    ):
12792        self.auth_database = auth_database if auth_database is not None else ''
12793        '''
12794         The authentication database to use.
12795        '''
12796        self.bind_interface = bind_interface if bind_interface is not None else ''
12797        '''
12798         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12799        '''
12800        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
12801        '''
12802         Set to connect to a replica instead of the primary node.
12803        '''
12804        self.egress_filter = egress_filter if egress_filter is not None else ''
12805        '''
12806         A filter applied to the routing logic to pin datasource to nodes.
12807        '''
12808        self.healthy = healthy if healthy is not None else False
12809        '''
12810         True if the datasource is reachable and the credentials are valid.
12811        '''
12812        self.hostname = hostname if hostname is not None else ''
12813        '''
12814         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
12815        '''
12816        self.id = id if id is not None else ''
12817        '''
12818         Unique identifier of the Resource.
12819        '''
12820        self.name = name if name is not None else ''
12821        '''
12822         Unique human-readable name of the Resource.
12823        '''
12824        self.password = password if password is not None else ''
12825        '''
12826         The password to authenticate with.
12827        '''
12828        self.port_override = port_override if port_override is not None else 0
12829        '''
12830         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12831        '''
12832        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12833        '''
12834         ID of the proxy cluster for this resource, if any.
12835        '''
12836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12837        '''
12838         ID of the secret store containing credentials for this resource, if any.
12839        '''
12840        self.subdomain = subdomain if subdomain is not None else ''
12841        '''
12842         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12843        '''
12844        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12845        '''
12846         Tags is a map of key, value pairs.
12847        '''
12848        self.username = username if username is not None else ''
12849        '''
12850         The username to authenticate with.
12851        '''
12852
12853    def __repr__(self):
12854        return '<sdm.DocumentDBReplicaSet ' + \
12855            'auth_database: ' + repr(self.auth_database) + ' ' +\
12856            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12857            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
12858            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12859            'healthy: ' + repr(self.healthy) + ' ' +\
12860            'hostname: ' + repr(self.hostname) + ' ' +\
12861            'id: ' + repr(self.id) + ' ' +\
12862            'name: ' + repr(self.name) + ' ' +\
12863            'password: ' + repr(self.password) + ' ' +\
12864            'port_override: ' + repr(self.port_override) + ' ' +\
12865            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12866            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12867            'subdomain: ' + repr(self.subdomain) + ' ' +\
12868            'tags: ' + repr(self.tags) + ' ' +\
12869            'username: ' + repr(self.username) + ' ' +\
12870            '>'
12871
12872    def to_dict(self):
12873        return {
12874            'auth_database': self.auth_database,
12875            'bind_interface': self.bind_interface,
12876            'connect_to_replica': self.connect_to_replica,
12877            'egress_filter': self.egress_filter,
12878            'healthy': self.healthy,
12879            'hostname': self.hostname,
12880            'id': self.id,
12881            'name': self.name,
12882            'password': self.password,
12883            'port_override': self.port_override,
12884            'proxy_cluster_id': self.proxy_cluster_id,
12885            'secret_store_id': self.secret_store_id,
12886            'subdomain': self.subdomain,
12887            'tags': self.tags,
12888            'username': self.username,
12889        }
12890
12891    @classmethod
12892    def from_dict(cls, d):
12893        return cls(
12894            auth_database=d.get('auth_database'),
12895            bind_interface=d.get('bind_interface'),
12896            connect_to_replica=d.get('connect_to_replica'),
12897            egress_filter=d.get('egress_filter'),
12898            healthy=d.get('healthy'),
12899            hostname=d.get('hostname'),
12900            id=d.get('id'),
12901            name=d.get('name'),
12902            password=d.get('password'),
12903            port_override=d.get('port_override'),
12904            proxy_cluster_id=d.get('proxy_cluster_id'),
12905            secret_store_id=d.get('secret_store_id'),
12906            subdomain=d.get('subdomain'),
12907            tags=d.get('tags'),
12908            username=d.get('username'),
12909        )
12910
12911
12912class DocumentDBReplicaSetIAM:
12913    '''
12914    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
12915    without a major version bump.
12916    '''
12917    __slots__ = [
12918        'bind_interface',
12919        'connect_to_replica',
12920        'egress_filter',
12921        'healthy',
12922        'hostname',
12923        'id',
12924        'name',
12925        'port_override',
12926        'proxy_cluster_id',
12927        'region',
12928        'secret_store_id',
12929        'subdomain',
12930        'tags',
12931    ]
12932
12933    def __init__(
12934        self,
12935        bind_interface=None,
12936        connect_to_replica=None,
12937        egress_filter=None,
12938        healthy=None,
12939        hostname=None,
12940        id=None,
12941        name=None,
12942        port_override=None,
12943        proxy_cluster_id=None,
12944        region=None,
12945        secret_store_id=None,
12946        subdomain=None,
12947        tags=None,
12948    ):
12949        self.bind_interface = bind_interface if bind_interface is not None else ''
12950        '''
12951         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12952        '''
12953        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
12954        '''
12955         Set to connect to a replica instead of the primary node.
12956        '''
12957        self.egress_filter = egress_filter if egress_filter is not None else ''
12958        '''
12959         A filter applied to the routing logic to pin datasource to nodes.
12960        '''
12961        self.healthy = healthy if healthy is not None else False
12962        '''
12963         True if the datasource is reachable and the credentials are valid.
12964        '''
12965        self.hostname = hostname if hostname is not None else ''
12966        '''
12967         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
12968        '''
12969        self.id = id if id is not None else ''
12970        '''
12971         Unique identifier of the Resource.
12972        '''
12973        self.name = name if name is not None else ''
12974        '''
12975         Unique human-readable name of the Resource.
12976        '''
12977        self.port_override = port_override if port_override is not None else 0
12978        '''
12979         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12980        '''
12981        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12982        '''
12983         ID of the proxy cluster for this resource, if any.
12984        '''
12985        self.region = region if region is not None else ''
12986        '''
12987         The region of the document db cluster
12988        '''
12989        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12990        '''
12991         ID of the secret store containing credentials for this resource, if any.
12992        '''
12993        self.subdomain = subdomain if subdomain is not None else ''
12994        '''
12995         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12996        '''
12997        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12998        '''
12999         Tags is a map of key, value pairs.
13000        '''
13001
13002    def __repr__(self):
13003        return '<sdm.DocumentDBReplicaSetIAM ' + \
13004            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13005            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
13006            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13007            'healthy: ' + repr(self.healthy) + ' ' +\
13008            'hostname: ' + repr(self.hostname) + ' ' +\
13009            'id: ' + repr(self.id) + ' ' +\
13010            'name: ' + repr(self.name) + ' ' +\
13011            'port_override: ' + repr(self.port_override) + ' ' +\
13012            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13013            'region: ' + repr(self.region) + ' ' +\
13014            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13015            'subdomain: ' + repr(self.subdomain) + ' ' +\
13016            'tags: ' + repr(self.tags) + ' ' +\
13017            '>'
13018
13019    def to_dict(self):
13020        return {
13021            'bind_interface': self.bind_interface,
13022            'connect_to_replica': self.connect_to_replica,
13023            'egress_filter': self.egress_filter,
13024            'healthy': self.healthy,
13025            'hostname': self.hostname,
13026            'id': self.id,
13027            'name': self.name,
13028            'port_override': self.port_override,
13029            'proxy_cluster_id': self.proxy_cluster_id,
13030            'region': self.region,
13031            'secret_store_id': self.secret_store_id,
13032            'subdomain': self.subdomain,
13033            'tags': self.tags,
13034        }
13035
13036    @classmethod
13037    def from_dict(cls, d):
13038        return cls(
13039            bind_interface=d.get('bind_interface'),
13040            connect_to_replica=d.get('connect_to_replica'),
13041            egress_filter=d.get('egress_filter'),
13042            healthy=d.get('healthy'),
13043            hostname=d.get('hostname'),
13044            id=d.get('id'),
13045            name=d.get('name'),
13046            port_override=d.get('port_override'),
13047            proxy_cluster_id=d.get('proxy_cluster_id'),
13048            region=d.get('region'),
13049            secret_store_id=d.get('secret_store_id'),
13050            subdomain=d.get('subdomain'),
13051            tags=d.get('tags'),
13052        )
13053
13054
13055class Druid:
13056    __slots__ = [
13057        'bind_interface',
13058        'egress_filter',
13059        'healthy',
13060        'hostname',
13061        'id',
13062        'name',
13063        'password',
13064        'port',
13065        'port_override',
13066        'proxy_cluster_id',
13067        'secret_store_id',
13068        'subdomain',
13069        'tags',
13070        'username',
13071    ]
13072
13073    def __init__(
13074        self,
13075        bind_interface=None,
13076        egress_filter=None,
13077        healthy=None,
13078        hostname=None,
13079        id=None,
13080        name=None,
13081        password=None,
13082        port=None,
13083        port_override=None,
13084        proxy_cluster_id=None,
13085        secret_store_id=None,
13086        subdomain=None,
13087        tags=None,
13088        username=None,
13089    ):
13090        self.bind_interface = bind_interface if bind_interface is not None else ''
13091        '''
13092         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13093        '''
13094        self.egress_filter = egress_filter if egress_filter is not None else ''
13095        '''
13096         A filter applied to the routing logic to pin datasource to nodes.
13097        '''
13098        self.healthy = healthy if healthy is not None else False
13099        '''
13100         True if the datasource is reachable and the credentials are valid.
13101        '''
13102        self.hostname = hostname if hostname is not None else ''
13103        '''
13104         The host to dial to initiate a connection from the egress node to this resource.
13105        '''
13106        self.id = id if id is not None else ''
13107        '''
13108         Unique identifier of the Resource.
13109        '''
13110        self.name = name if name is not None else ''
13111        '''
13112         Unique human-readable name of the Resource.
13113        '''
13114        self.password = password if password is not None else ''
13115        '''
13116         The password to authenticate with.
13117        '''
13118        self.port = port if port is not None else 0
13119        '''
13120         The port to dial to initiate a connection from the egress node to this resource.
13121        '''
13122        self.port_override = port_override if port_override is not None else 0
13123        '''
13124         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13125        '''
13126        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13127        '''
13128         ID of the proxy cluster for this resource, if any.
13129        '''
13130        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13131        '''
13132         ID of the secret store containing credentials for this resource, if any.
13133        '''
13134        self.subdomain = subdomain if subdomain is not None else ''
13135        '''
13136         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13137        '''
13138        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13139        '''
13140         Tags is a map of key, value pairs.
13141        '''
13142        self.username = username if username is not None else ''
13143        '''
13144         The username to authenticate with.
13145        '''
13146
13147    def __repr__(self):
13148        return '<sdm.Druid ' + \
13149            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13150            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13151            'healthy: ' + repr(self.healthy) + ' ' +\
13152            'hostname: ' + repr(self.hostname) + ' ' +\
13153            'id: ' + repr(self.id) + ' ' +\
13154            'name: ' + repr(self.name) + ' ' +\
13155            'password: ' + repr(self.password) + ' ' +\
13156            'port: ' + repr(self.port) + ' ' +\
13157            'port_override: ' + repr(self.port_override) + ' ' +\
13158            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13159            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13160            'subdomain: ' + repr(self.subdomain) + ' ' +\
13161            'tags: ' + repr(self.tags) + ' ' +\
13162            'username: ' + repr(self.username) + ' ' +\
13163            '>'
13164
13165    def to_dict(self):
13166        return {
13167            'bind_interface': self.bind_interface,
13168            'egress_filter': self.egress_filter,
13169            'healthy': self.healthy,
13170            'hostname': self.hostname,
13171            'id': self.id,
13172            'name': self.name,
13173            'password': self.password,
13174            'port': self.port,
13175            'port_override': self.port_override,
13176            'proxy_cluster_id': self.proxy_cluster_id,
13177            'secret_store_id': self.secret_store_id,
13178            'subdomain': self.subdomain,
13179            'tags': self.tags,
13180            'username': self.username,
13181        }
13182
13183    @classmethod
13184    def from_dict(cls, d):
13185        return cls(
13186            bind_interface=d.get('bind_interface'),
13187            egress_filter=d.get('egress_filter'),
13188            healthy=d.get('healthy'),
13189            hostname=d.get('hostname'),
13190            id=d.get('id'),
13191            name=d.get('name'),
13192            password=d.get('password'),
13193            port=d.get('port'),
13194            port_override=d.get('port_override'),
13195            proxy_cluster_id=d.get('proxy_cluster_id'),
13196            secret_store_id=d.get('secret_store_id'),
13197            subdomain=d.get('subdomain'),
13198            tags=d.get('tags'),
13199            username=d.get('username'),
13200        )
13201
13202
13203class DynamoDB:
13204    __slots__ = [
13205        'access_key',
13206        'bind_interface',
13207        'egress_filter',
13208        'endpoint',
13209        'healthy',
13210        'id',
13211        'name',
13212        'port_override',
13213        'proxy_cluster_id',
13214        'region',
13215        'role_arn',
13216        'role_external_id',
13217        'secret_access_key',
13218        'secret_store_id',
13219        'subdomain',
13220        'tags',
13221    ]
13222
13223    def __init__(
13224        self,
13225        access_key=None,
13226        bind_interface=None,
13227        egress_filter=None,
13228        endpoint=None,
13229        healthy=None,
13230        id=None,
13231        name=None,
13232        port_override=None,
13233        proxy_cluster_id=None,
13234        region=None,
13235        role_arn=None,
13236        role_external_id=None,
13237        secret_access_key=None,
13238        secret_store_id=None,
13239        subdomain=None,
13240        tags=None,
13241    ):
13242        self.access_key = access_key if access_key is not None else ''
13243        '''
13244         The Access Key ID to use to authenticate.
13245        '''
13246        self.bind_interface = bind_interface if bind_interface is not None else ''
13247        '''
13248         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13249        '''
13250        self.egress_filter = egress_filter if egress_filter is not None else ''
13251        '''
13252         A filter applied to the routing logic to pin datasource to nodes.
13253        '''
13254        self.endpoint = endpoint if endpoint is not None else ''
13255        '''
13256         The endpoint to dial e.g. dynamodb.region.amazonaws.com
13257        '''
13258        self.healthy = healthy if healthy is not None else False
13259        '''
13260         True if the datasource is reachable and the credentials are valid.
13261        '''
13262        self.id = id if id is not None else ''
13263        '''
13264         Unique identifier of the Resource.
13265        '''
13266        self.name = name if name is not None else ''
13267        '''
13268         Unique human-readable name of the Resource.
13269        '''
13270        self.port_override = port_override if port_override is not None else 0
13271        '''
13272         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13273        '''
13274        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13275        '''
13276         ID of the proxy cluster for this resource, if any.
13277        '''
13278        self.region = region if region is not None else ''
13279        '''
13280         The region to authenticate requests against e.g. us-east-1
13281        '''
13282        self.role_arn = role_arn if role_arn is not None else ''
13283        '''
13284         The role to assume after logging in.
13285        '''
13286        self.role_external_id = role_external_id if role_external_id is not None else ''
13287        '''
13288         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13289        '''
13290        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
13291        '''
13292         The Secret Access Key to use to authenticate.
13293        '''
13294        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13295        '''
13296         ID of the secret store containing credentials for this resource, if any.
13297        '''
13298        self.subdomain = subdomain if subdomain is not None else ''
13299        '''
13300         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13301        '''
13302        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13303        '''
13304         Tags is a map of key, value pairs.
13305        '''
13306
13307    def __repr__(self):
13308        return '<sdm.DynamoDB ' + \
13309            'access_key: ' + repr(self.access_key) + ' ' +\
13310            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13311            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13312            'endpoint: ' + repr(self.endpoint) + ' ' +\
13313            'healthy: ' + repr(self.healthy) + ' ' +\
13314            'id: ' + repr(self.id) + ' ' +\
13315            'name: ' + repr(self.name) + ' ' +\
13316            'port_override: ' + repr(self.port_override) + ' ' +\
13317            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13318            'region: ' + repr(self.region) + ' ' +\
13319            'role_arn: ' + repr(self.role_arn) + ' ' +\
13320            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
13321            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
13322            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13323            'subdomain: ' + repr(self.subdomain) + ' ' +\
13324            'tags: ' + repr(self.tags) + ' ' +\
13325            '>'
13326
13327    def to_dict(self):
13328        return {
13329            'access_key': self.access_key,
13330            'bind_interface': self.bind_interface,
13331            'egress_filter': self.egress_filter,
13332            'endpoint': self.endpoint,
13333            'healthy': self.healthy,
13334            'id': self.id,
13335            'name': self.name,
13336            'port_override': self.port_override,
13337            'proxy_cluster_id': self.proxy_cluster_id,
13338            'region': self.region,
13339            'role_arn': self.role_arn,
13340            'role_external_id': self.role_external_id,
13341            'secret_access_key': self.secret_access_key,
13342            'secret_store_id': self.secret_store_id,
13343            'subdomain': self.subdomain,
13344            'tags': self.tags,
13345        }
13346
13347    @classmethod
13348    def from_dict(cls, d):
13349        return cls(
13350            access_key=d.get('access_key'),
13351            bind_interface=d.get('bind_interface'),
13352            egress_filter=d.get('egress_filter'),
13353            endpoint=d.get('endpoint'),
13354            healthy=d.get('healthy'),
13355            id=d.get('id'),
13356            name=d.get('name'),
13357            port_override=d.get('port_override'),
13358            proxy_cluster_id=d.get('proxy_cluster_id'),
13359            region=d.get('region'),
13360            role_arn=d.get('role_arn'),
13361            role_external_id=d.get('role_external_id'),
13362            secret_access_key=d.get('secret_access_key'),
13363            secret_store_id=d.get('secret_store_id'),
13364            subdomain=d.get('subdomain'),
13365            tags=d.get('tags'),
13366        )
13367
13368
13369class DynamoDBIAM:
13370    __slots__ = [
13371        'bind_interface',
13372        'egress_filter',
13373        'endpoint',
13374        'healthy',
13375        'id',
13376        'name',
13377        'port_override',
13378        'proxy_cluster_id',
13379        'region',
13380        'role_arn',
13381        'role_external_id',
13382        'secret_store_id',
13383        'subdomain',
13384        'tags',
13385    ]
13386
13387    def __init__(
13388        self,
13389        bind_interface=None,
13390        egress_filter=None,
13391        endpoint=None,
13392        healthy=None,
13393        id=None,
13394        name=None,
13395        port_override=None,
13396        proxy_cluster_id=None,
13397        region=None,
13398        role_arn=None,
13399        role_external_id=None,
13400        secret_store_id=None,
13401        subdomain=None,
13402        tags=None,
13403    ):
13404        self.bind_interface = bind_interface if bind_interface is not None else ''
13405        '''
13406         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13407        '''
13408        self.egress_filter = egress_filter if egress_filter is not None else ''
13409        '''
13410         A filter applied to the routing logic to pin datasource to nodes.
13411        '''
13412        self.endpoint = endpoint if endpoint is not None else ''
13413        '''
13414         The endpoint to dial e.g. dynamodb.region.amazonaws.com
13415        '''
13416        self.healthy = healthy if healthy is not None else False
13417        '''
13418         True if the datasource is reachable and the credentials are valid.
13419        '''
13420        self.id = id if id is not None else ''
13421        '''
13422         Unique identifier of the Resource.
13423        '''
13424        self.name = name if name is not None else ''
13425        '''
13426         Unique human-readable name of the Resource.
13427        '''
13428        self.port_override = port_override if port_override is not None else 0
13429        '''
13430         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13431        '''
13432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13433        '''
13434         ID of the proxy cluster for this resource, if any.
13435        '''
13436        self.region = region if region is not None else ''
13437        '''
13438         The region to authenticate requests against e.g. us-east-1
13439        '''
13440        self.role_arn = role_arn if role_arn is not None else ''
13441        '''
13442         The role to assume after logging in.
13443        '''
13444        self.role_external_id = role_external_id if role_external_id is not None else ''
13445        '''
13446         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13447        '''
13448        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13449        '''
13450         ID of the secret store containing credentials for this resource, if any.
13451        '''
13452        self.subdomain = subdomain if subdomain is not None else ''
13453        '''
13454         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13455        '''
13456        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13457        '''
13458         Tags is a map of key, value pairs.
13459        '''
13460
13461    def __repr__(self):
13462        return '<sdm.DynamoDBIAM ' + \
13463            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13464            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13465            'endpoint: ' + repr(self.endpoint) + ' ' +\
13466            'healthy: ' + repr(self.healthy) + ' ' +\
13467            'id: ' + repr(self.id) + ' ' +\
13468            'name: ' + repr(self.name) + ' ' +\
13469            'port_override: ' + repr(self.port_override) + ' ' +\
13470            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13471            'region: ' + repr(self.region) + ' ' +\
13472            'role_arn: ' + repr(self.role_arn) + ' ' +\
13473            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
13474            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13475            'subdomain: ' + repr(self.subdomain) + ' ' +\
13476            'tags: ' + repr(self.tags) + ' ' +\
13477            '>'
13478
13479    def to_dict(self):
13480        return {
13481            'bind_interface': self.bind_interface,
13482            'egress_filter': self.egress_filter,
13483            'endpoint': self.endpoint,
13484            'healthy': self.healthy,
13485            'id': self.id,
13486            'name': self.name,
13487            'port_override': self.port_override,
13488            'proxy_cluster_id': self.proxy_cluster_id,
13489            'region': self.region,
13490            'role_arn': self.role_arn,
13491            'role_external_id': self.role_external_id,
13492            'secret_store_id': self.secret_store_id,
13493            'subdomain': self.subdomain,
13494            'tags': self.tags,
13495        }
13496
13497    @classmethod
13498    def from_dict(cls, d):
13499        return cls(
13500            bind_interface=d.get('bind_interface'),
13501            egress_filter=d.get('egress_filter'),
13502            endpoint=d.get('endpoint'),
13503            healthy=d.get('healthy'),
13504            id=d.get('id'),
13505            name=d.get('name'),
13506            port_override=d.get('port_override'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            region=d.get('region'),
13509            role_arn=d.get('role_arn'),
13510            role_external_id=d.get('role_external_id'),
13511            secret_store_id=d.get('secret_store_id'),
13512            subdomain=d.get('subdomain'),
13513            tags=d.get('tags'),
13514        )
13515
13516
13517class Elastic:
13518    __slots__ = [
13519        'bind_interface',
13520        'egress_filter',
13521        'healthy',
13522        'hostname',
13523        'id',
13524        'name',
13525        'password',
13526        'port',
13527        'port_override',
13528        'proxy_cluster_id',
13529        'secret_store_id',
13530        'subdomain',
13531        'tags',
13532        'tls_required',
13533        'username',
13534    ]
13535
13536    def __init__(
13537        self,
13538        bind_interface=None,
13539        egress_filter=None,
13540        healthy=None,
13541        hostname=None,
13542        id=None,
13543        name=None,
13544        password=None,
13545        port=None,
13546        port_override=None,
13547        proxy_cluster_id=None,
13548        secret_store_id=None,
13549        subdomain=None,
13550        tags=None,
13551        tls_required=None,
13552        username=None,
13553    ):
13554        self.bind_interface = bind_interface if bind_interface is not None else ''
13555        '''
13556         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13557        '''
13558        self.egress_filter = egress_filter if egress_filter is not None else ''
13559        '''
13560         A filter applied to the routing logic to pin datasource to nodes.
13561        '''
13562        self.healthy = healthy if healthy is not None else False
13563        '''
13564         True if the datasource is reachable and the credentials are valid.
13565        '''
13566        self.hostname = hostname if hostname is not None else ''
13567        '''
13568         The host to dial to initiate a connection from the egress node to this resource.
13569        '''
13570        self.id = id if id is not None else ''
13571        '''
13572         Unique identifier of the Resource.
13573        '''
13574        self.name = name if name is not None else ''
13575        '''
13576         Unique human-readable name of the Resource.
13577        '''
13578        self.password = password if password is not None else ''
13579        '''
13580         The password to authenticate with.
13581        '''
13582        self.port = port if port is not None else 0
13583        '''
13584         The port to dial to initiate a connection from the egress node to this resource.
13585        '''
13586        self.port_override = port_override if port_override is not None else 0
13587        '''
13588         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13589        '''
13590        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13591        '''
13592         ID of the proxy cluster for this resource, if any.
13593        '''
13594        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13595        '''
13596         ID of the secret store containing credentials for this resource, if any.
13597        '''
13598        self.subdomain = subdomain if subdomain is not None else ''
13599        '''
13600         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13601        '''
13602        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13603        '''
13604         Tags is a map of key, value pairs.
13605        '''
13606        self.tls_required = tls_required if tls_required is not None else False
13607        '''
13608         If set, TLS must be used to connect to this resource.
13609        '''
13610        self.username = username if username is not None else ''
13611        '''
13612         The username to authenticate with.
13613        '''
13614
13615    def __repr__(self):
13616        return '<sdm.Elastic ' + \
13617            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13618            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13619            'healthy: ' + repr(self.healthy) + ' ' +\
13620            'hostname: ' + repr(self.hostname) + ' ' +\
13621            'id: ' + repr(self.id) + ' ' +\
13622            'name: ' + repr(self.name) + ' ' +\
13623            'password: ' + repr(self.password) + ' ' +\
13624            'port: ' + repr(self.port) + ' ' +\
13625            'port_override: ' + repr(self.port_override) + ' ' +\
13626            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13627            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13628            'subdomain: ' + repr(self.subdomain) + ' ' +\
13629            'tags: ' + repr(self.tags) + ' ' +\
13630            'tls_required: ' + repr(self.tls_required) + ' ' +\
13631            'username: ' + repr(self.username) + ' ' +\
13632            '>'
13633
13634    def to_dict(self):
13635        return {
13636            'bind_interface': self.bind_interface,
13637            'egress_filter': self.egress_filter,
13638            'healthy': self.healthy,
13639            'hostname': self.hostname,
13640            'id': self.id,
13641            'name': self.name,
13642            'password': self.password,
13643            'port': self.port,
13644            'port_override': self.port_override,
13645            'proxy_cluster_id': self.proxy_cluster_id,
13646            'secret_store_id': self.secret_store_id,
13647            'subdomain': self.subdomain,
13648            'tags': self.tags,
13649            'tls_required': self.tls_required,
13650            'username': self.username,
13651        }
13652
13653    @classmethod
13654    def from_dict(cls, d):
13655        return cls(
13656            bind_interface=d.get('bind_interface'),
13657            egress_filter=d.get('egress_filter'),
13658            healthy=d.get('healthy'),
13659            hostname=d.get('hostname'),
13660            id=d.get('id'),
13661            name=d.get('name'),
13662            password=d.get('password'),
13663            port=d.get('port'),
13664            port_override=d.get('port_override'),
13665            proxy_cluster_id=d.get('proxy_cluster_id'),
13666            secret_store_id=d.get('secret_store_id'),
13667            subdomain=d.get('subdomain'),
13668            tags=d.get('tags'),
13669            tls_required=d.get('tls_required'),
13670            username=d.get('username'),
13671        )
13672
13673
13674class ElasticacheRedis:
13675    __slots__ = [
13676        'bind_interface',
13677        'egress_filter',
13678        'healthy',
13679        'hostname',
13680        'id',
13681        'name',
13682        'password',
13683        'port',
13684        'port_override',
13685        'proxy_cluster_id',
13686        'secret_store_id',
13687        'subdomain',
13688        'tags',
13689        'tls_required',
13690        'username',
13691    ]
13692
13693    def __init__(
13694        self,
13695        bind_interface=None,
13696        egress_filter=None,
13697        healthy=None,
13698        hostname=None,
13699        id=None,
13700        name=None,
13701        password=None,
13702        port=None,
13703        port_override=None,
13704        proxy_cluster_id=None,
13705        secret_store_id=None,
13706        subdomain=None,
13707        tags=None,
13708        tls_required=None,
13709        username=None,
13710    ):
13711        self.bind_interface = bind_interface if bind_interface is not None else ''
13712        '''
13713         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13714        '''
13715        self.egress_filter = egress_filter if egress_filter is not None else ''
13716        '''
13717         A filter applied to the routing logic to pin datasource to nodes.
13718        '''
13719        self.healthy = healthy if healthy is not None else False
13720        '''
13721         True if the datasource is reachable and the credentials are valid.
13722        '''
13723        self.hostname = hostname if hostname is not None else ''
13724        '''
13725         The host to dial to initiate a connection from the egress node to this resource.
13726        '''
13727        self.id = id if id is not None else ''
13728        '''
13729         Unique identifier of the Resource.
13730        '''
13731        self.name = name if name is not None else ''
13732        '''
13733         Unique human-readable name of the Resource.
13734        '''
13735        self.password = password if password is not None else ''
13736        '''
13737         The password to authenticate with.
13738        '''
13739        self.port = port if port is not None else 0
13740        '''
13741         The port to dial to initiate a connection from the egress node to this resource.
13742        '''
13743        self.port_override = port_override if port_override is not None else 0
13744        '''
13745         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13746        '''
13747        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13748        '''
13749         ID of the proxy cluster for this resource, if any.
13750        '''
13751        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13752        '''
13753         ID of the secret store containing credentials for this resource, if any.
13754        '''
13755        self.subdomain = subdomain if subdomain is not None else ''
13756        '''
13757         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13758        '''
13759        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13760        '''
13761         Tags is a map of key, value pairs.
13762        '''
13763        self.tls_required = tls_required if tls_required is not None else False
13764        '''
13765         If set, TLS must be used to connect to this resource.
13766        '''
13767        self.username = username if username is not None else ''
13768        '''
13769         The username to authenticate with.
13770        '''
13771
13772    def __repr__(self):
13773        return '<sdm.ElasticacheRedis ' + \
13774            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13775            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13776            'healthy: ' + repr(self.healthy) + ' ' +\
13777            'hostname: ' + repr(self.hostname) + ' ' +\
13778            'id: ' + repr(self.id) + ' ' +\
13779            'name: ' + repr(self.name) + ' ' +\
13780            'password: ' + repr(self.password) + ' ' +\
13781            'port: ' + repr(self.port) + ' ' +\
13782            'port_override: ' + repr(self.port_override) + ' ' +\
13783            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13784            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13785            'subdomain: ' + repr(self.subdomain) + ' ' +\
13786            'tags: ' + repr(self.tags) + ' ' +\
13787            'tls_required: ' + repr(self.tls_required) + ' ' +\
13788            'username: ' + repr(self.username) + ' ' +\
13789            '>'
13790
13791    def to_dict(self):
13792        return {
13793            'bind_interface': self.bind_interface,
13794            'egress_filter': self.egress_filter,
13795            'healthy': self.healthy,
13796            'hostname': self.hostname,
13797            'id': self.id,
13798            'name': self.name,
13799            'password': self.password,
13800            'port': self.port,
13801            'port_override': self.port_override,
13802            'proxy_cluster_id': self.proxy_cluster_id,
13803            'secret_store_id': self.secret_store_id,
13804            'subdomain': self.subdomain,
13805            'tags': self.tags,
13806            'tls_required': self.tls_required,
13807            'username': self.username,
13808        }
13809
13810    @classmethod
13811    def from_dict(cls, d):
13812        return cls(
13813            bind_interface=d.get('bind_interface'),
13814            egress_filter=d.get('egress_filter'),
13815            healthy=d.get('healthy'),
13816            hostname=d.get('hostname'),
13817            id=d.get('id'),
13818            name=d.get('name'),
13819            password=d.get('password'),
13820            port=d.get('port'),
13821            port_override=d.get('port_override'),
13822            proxy_cluster_id=d.get('proxy_cluster_id'),
13823            secret_store_id=d.get('secret_store_id'),
13824            subdomain=d.get('subdomain'),
13825            tags=d.get('tags'),
13826            tls_required=d.get('tls_required'),
13827            username=d.get('username'),
13828        )
13829
13830
13831class ElasticacheRedisIAM:
13832    '''
13833    ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed,
13834    without a major version bump.
13835    '''
13836    __slots__ = [
13837        'bind_interface',
13838        'egress_filter',
13839        'healthy',
13840        'hostname',
13841        'id',
13842        'name',
13843        'port',
13844        'port_override',
13845        'proxy_cluster_id',
13846        'region',
13847        'role_assumption_arn',
13848        'role_external_id',
13849        'secret_store_id',
13850        'subdomain',
13851        'tags',
13852        'tls_required',
13853        'username',
13854    ]
13855
13856    def __init__(
13857        self,
13858        bind_interface=None,
13859        egress_filter=None,
13860        healthy=None,
13861        hostname=None,
13862        id=None,
13863        name=None,
13864        port=None,
13865        port_override=None,
13866        proxy_cluster_id=None,
13867        region=None,
13868        role_assumption_arn=None,
13869        role_external_id=None,
13870        secret_store_id=None,
13871        subdomain=None,
13872        tags=None,
13873        tls_required=None,
13874        username=None,
13875    ):
13876        self.bind_interface = bind_interface if bind_interface is not None else ''
13877        '''
13878         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13879        '''
13880        self.egress_filter = egress_filter if egress_filter is not None else ''
13881        '''
13882         A filter applied to the routing logic to pin datasource to nodes.
13883        '''
13884        self.healthy = healthy if healthy is not None else False
13885        '''
13886         True if the datasource is reachable and the credentials are valid.
13887        '''
13888        self.hostname = hostname if hostname is not None else ''
13889        '''
13890         The host to dial to initiate a connection from the egress node to this resource.
13891        '''
13892        self.id = id if id is not None else ''
13893        '''
13894         Unique identifier of the Resource.
13895        '''
13896        self.name = name if name is not None else ''
13897        '''
13898         Unique human-readable name of the Resource.
13899        '''
13900        self.port = port if port is not None else 0
13901        '''
13902         The port to dial to initiate a connection from the egress node to this resource.
13903        '''
13904        self.port_override = port_override if port_override is not None else 0
13905        '''
13906         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13907        '''
13908        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13909        '''
13910         ID of the proxy cluster for this resource, if any.
13911        '''
13912        self.region = region if region is not None else ''
13913        '''
13914         AWS region is needed in addition to hostname to generate the IAM signature
13915        '''
13916        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
13917        '''
13918         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
13919        '''
13920        self.role_external_id = role_external_id if role_external_id is not None else ''
13921        '''
13922         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13923        '''
13924        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13925        '''
13926         ID of the secret store containing credentials for this resource, if any.
13927        '''
13928        self.subdomain = subdomain if subdomain is not None else ''
13929        '''
13930         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13931        '''
13932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13933        '''
13934         Tags is a map of key, value pairs.
13935        '''
13936        self.tls_required = tls_required if tls_required is not None else False
13937        '''
13938         If set, TLS must be used to connect to this resource.
13939        '''
13940        self.username = username if username is not None else ''
13941        '''
13942         The username to authenticate with.
13943        '''
13944
13945    def __repr__(self):
13946        return '<sdm.ElasticacheRedisIAM ' + \
13947            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13948            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13949            'healthy: ' + repr(self.healthy) + ' ' +\
13950            'hostname: ' + repr(self.hostname) + ' ' +\
13951            'id: ' + repr(self.id) + ' ' +\
13952            'name: ' + repr(self.name) + ' ' +\
13953            'port: ' + repr(self.port) + ' ' +\
13954            'port_override: ' + repr(self.port_override) + ' ' +\
13955            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13956            'region: ' + repr(self.region) + ' ' +\
13957            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
13958            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
13959            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13960            'subdomain: ' + repr(self.subdomain) + ' ' +\
13961            'tags: ' + repr(self.tags) + ' ' +\
13962            'tls_required: ' + repr(self.tls_required) + ' ' +\
13963            'username: ' + repr(self.username) + ' ' +\
13964            '>'
13965
13966    def to_dict(self):
13967        return {
13968            'bind_interface': self.bind_interface,
13969            'egress_filter': self.egress_filter,
13970            'healthy': self.healthy,
13971            'hostname': self.hostname,
13972            'id': self.id,
13973            'name': self.name,
13974            'port': self.port,
13975            'port_override': self.port_override,
13976            'proxy_cluster_id': self.proxy_cluster_id,
13977            'region': self.region,
13978            'role_assumption_arn': self.role_assumption_arn,
13979            'role_external_id': self.role_external_id,
13980            'secret_store_id': self.secret_store_id,
13981            'subdomain': self.subdomain,
13982            'tags': self.tags,
13983            'tls_required': self.tls_required,
13984            'username': self.username,
13985        }
13986
13987    @classmethod
13988    def from_dict(cls, d):
13989        return cls(
13990            bind_interface=d.get('bind_interface'),
13991            egress_filter=d.get('egress_filter'),
13992            healthy=d.get('healthy'),
13993            hostname=d.get('hostname'),
13994            id=d.get('id'),
13995            name=d.get('name'),
13996            port=d.get('port'),
13997            port_override=d.get('port_override'),
13998            proxy_cluster_id=d.get('proxy_cluster_id'),
13999            region=d.get('region'),
14000            role_assumption_arn=d.get('role_assumption_arn'),
14001            role_external_id=d.get('role_external_id'),
14002            secret_store_id=d.get('secret_store_id'),
14003            subdomain=d.get('subdomain'),
14004            tags=d.get('tags'),
14005            tls_required=d.get('tls_required'),
14006            username=d.get('username'),
14007        )
14008
14009
14010class EntraID:
14011    __slots__ = [
14012        'bind_interface',
14013        'discovery_enabled',
14014        'egress_filter',
14015        'group_names',
14016        'healthy',
14017        'id',
14018        'identity_set_id',
14019        'management_group_id',
14020        'name',
14021        'privilege_levels',
14022        'proxy_cluster_id',
14023        'resource_group_id',
14024        'secret_store_id',
14025        'subdomain',
14026        'subscription_id',
14027        'tags',
14028        'tenant_id',
14029    ]
14030
14031    def __init__(
14032        self,
14033        bind_interface=None,
14034        discovery_enabled=None,
14035        egress_filter=None,
14036        group_names=None,
14037        healthy=None,
14038        id=None,
14039        identity_set_id=None,
14040        management_group_id=None,
14041        name=None,
14042        privilege_levels=None,
14043        proxy_cluster_id=None,
14044        resource_group_id=None,
14045        secret_store_id=None,
14046        subdomain=None,
14047        subscription_id=None,
14048        tags=None,
14049        tenant_id=None,
14050    ):
14051        self.bind_interface = bind_interface if bind_interface is not None else ''
14052        '''
14053         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14054        '''
14055        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14056        '''
14057         If true, configures discovery of the tenant to be run from a node.
14058        '''
14059        self.egress_filter = egress_filter if egress_filter is not None else ''
14060        '''
14061         A filter applied to the routing logic to pin datasource to nodes.
14062        '''
14063        self.group_names = group_names if group_names is not None else ''
14064        '''
14065         comma separated list of group names to filter by. Supports wildcards (*)
14066        '''
14067        self.healthy = healthy if healthy is not None else False
14068        '''
14069         True if the datasource is reachable and the credentials are valid.
14070        '''
14071        self.id = id if id is not None else ''
14072        '''
14073         Unique identifier of the Resource.
14074        '''
14075        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14076        '''
14077         The ID of the identity set to use for identity connections.
14078        '''
14079        self.management_group_id = management_group_id if management_group_id is not None else ''
14080        '''
14081         The management group ID to authenticate scope Privileges to.
14082        '''
14083        self.name = name if name is not None else ''
14084        '''
14085         Unique human-readable name of the Resource.
14086        '''
14087        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
14088        '''
14089         The privilege levels specify which Groups are managed externally
14090        '''
14091        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14092        '''
14093         ID of the proxy cluster for this resource, if any.
14094        '''
14095        self.resource_group_id = resource_group_id if resource_group_id is not None else ''
14096        '''
14097         filters discovered groups to the specified Resource Group
14098        '''
14099        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14100        '''
14101         ID of the secret store containing credentials for this resource, if any.
14102        '''
14103        self.subdomain = subdomain if subdomain is not None else ''
14104        '''
14105         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14106        '''
14107        self.subscription_id = subscription_id if subscription_id is not None else ''
14108        '''
14109         The subscription ID to authenticate scope Privileges to.
14110        '''
14111        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14112        '''
14113         Tags is a map of key, value pairs.
14114        '''
14115        self.tenant_id = tenant_id if tenant_id is not None else ''
14116        '''
14117         The connector ID to authenticate through.
14118        '''
14119
14120    def __repr__(self):
14121        return '<sdm.EntraID ' + \
14122            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14123            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
14124            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14125            'group_names: ' + repr(self.group_names) + ' ' +\
14126            'healthy: ' + repr(self.healthy) + ' ' +\
14127            'id: ' + repr(self.id) + ' ' +\
14128            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14129            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
14130            'name: ' + repr(self.name) + ' ' +\
14131            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
14132            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14133            'resource_group_id: ' + repr(self.resource_group_id) + ' ' +\
14134            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14135            'subdomain: ' + repr(self.subdomain) + ' ' +\
14136            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
14137            'tags: ' + repr(self.tags) + ' ' +\
14138            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
14139            '>'
14140
14141    def to_dict(self):
14142        return {
14143            'bind_interface': self.bind_interface,
14144            'discovery_enabled': self.discovery_enabled,
14145            'egress_filter': self.egress_filter,
14146            'group_names': self.group_names,
14147            'healthy': self.healthy,
14148            'id': self.id,
14149            'identity_set_id': self.identity_set_id,
14150            'management_group_id': self.management_group_id,
14151            'name': self.name,
14152            'privilege_levels': self.privilege_levels,
14153            'proxy_cluster_id': self.proxy_cluster_id,
14154            'resource_group_id': self.resource_group_id,
14155            'secret_store_id': self.secret_store_id,
14156            'subdomain': self.subdomain,
14157            'subscription_id': self.subscription_id,
14158            'tags': self.tags,
14159            'tenant_id': self.tenant_id,
14160        }
14161
14162    @classmethod
14163    def from_dict(cls, d):
14164        return cls(
14165            bind_interface=d.get('bind_interface'),
14166            discovery_enabled=d.get('discovery_enabled'),
14167            egress_filter=d.get('egress_filter'),
14168            group_names=d.get('group_names'),
14169            healthy=d.get('healthy'),
14170            id=d.get('id'),
14171            identity_set_id=d.get('identity_set_id'),
14172            management_group_id=d.get('management_group_id'),
14173            name=d.get('name'),
14174            privilege_levels=d.get('privilege_levels'),
14175            proxy_cluster_id=d.get('proxy_cluster_id'),
14176            resource_group_id=d.get('resource_group_id'),
14177            secret_store_id=d.get('secret_store_id'),
14178            subdomain=d.get('subdomain'),
14179            subscription_id=d.get('subscription_id'),
14180            tags=d.get('tags'),
14181            tenant_id=d.get('tenant_id'),
14182        )
14183
14184
14185class GCP:
14186    __slots__ = [
14187        'bind_interface',
14188        'egress_filter',
14189        'healthy',
14190        'id',
14191        'keyfile',
14192        'name',
14193        'port_override',
14194        'proxy_cluster_id',
14195        'scopes',
14196        'secret_store_id',
14197        'subdomain',
14198        'tags',
14199    ]
14200
14201    def __init__(
14202        self,
14203        bind_interface=None,
14204        egress_filter=None,
14205        healthy=None,
14206        id=None,
14207        keyfile=None,
14208        name=None,
14209        port_override=None,
14210        proxy_cluster_id=None,
14211        scopes=None,
14212        secret_store_id=None,
14213        subdomain=None,
14214        tags=None,
14215    ):
14216        self.bind_interface = bind_interface if bind_interface is not None else ''
14217        '''
14218         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14219        '''
14220        self.egress_filter = egress_filter if egress_filter is not None else ''
14221        '''
14222         A filter applied to the routing logic to pin datasource to nodes.
14223        '''
14224        self.healthy = healthy if healthy is not None else False
14225        '''
14226         True if the datasource is reachable and the credentials are valid.
14227        '''
14228        self.id = id if id is not None else ''
14229        '''
14230         Unique identifier of the Resource.
14231        '''
14232        self.keyfile = keyfile if keyfile is not None else ''
14233        '''
14234         The service account keyfile to authenticate with.
14235        '''
14236        self.name = name if name is not None else ''
14237        '''
14238         Unique human-readable name of the Resource.
14239        '''
14240        self.port_override = port_override if port_override is not None else 0
14241        '''
14242         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14243        '''
14244        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14245        '''
14246         ID of the proxy cluster for this resource, if any.
14247        '''
14248        self.scopes = scopes if scopes is not None else ''
14249        '''
14250         Space separated scopes that this login should assume into when authenticating.
14251        '''
14252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14253        '''
14254         ID of the secret store containing credentials for this resource, if any.
14255        '''
14256        self.subdomain = subdomain if subdomain is not None else ''
14257        '''
14258         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14259        '''
14260        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14261        '''
14262         Tags is a map of key, value pairs.
14263        '''
14264
14265    def __repr__(self):
14266        return '<sdm.GCP ' + \
14267            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14268            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14269            'healthy: ' + repr(self.healthy) + ' ' +\
14270            'id: ' + repr(self.id) + ' ' +\
14271            'keyfile: ' + repr(self.keyfile) + ' ' +\
14272            'name: ' + repr(self.name) + ' ' +\
14273            'port_override: ' + repr(self.port_override) + ' ' +\
14274            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14275            'scopes: ' + repr(self.scopes) + ' ' +\
14276            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14277            'subdomain: ' + repr(self.subdomain) + ' ' +\
14278            'tags: ' + repr(self.tags) + ' ' +\
14279            '>'
14280
14281    def to_dict(self):
14282        return {
14283            'bind_interface': self.bind_interface,
14284            'egress_filter': self.egress_filter,
14285            'healthy': self.healthy,
14286            'id': self.id,
14287            'keyfile': self.keyfile,
14288            'name': self.name,
14289            'port_override': self.port_override,
14290            'proxy_cluster_id': self.proxy_cluster_id,
14291            'scopes': self.scopes,
14292            'secret_store_id': self.secret_store_id,
14293            'subdomain': self.subdomain,
14294            'tags': self.tags,
14295        }
14296
14297    @classmethod
14298    def from_dict(cls, d):
14299        return cls(
14300            bind_interface=d.get('bind_interface'),
14301            egress_filter=d.get('egress_filter'),
14302            healthy=d.get('healthy'),
14303            id=d.get('id'),
14304            keyfile=d.get('keyfile'),
14305            name=d.get('name'),
14306            port_override=d.get('port_override'),
14307            proxy_cluster_id=d.get('proxy_cluster_id'),
14308            scopes=d.get('scopes'),
14309            secret_store_id=d.get('secret_store_id'),
14310            subdomain=d.get('subdomain'),
14311            tags=d.get('tags'),
14312        )
14313
14314
14315class GCPCertX509Store:
14316    __slots__ = [
14317        'caid',
14318        'capoolid',
14319        'id',
14320        'issuedcertttlminutes',
14321        'location',
14322        'name',
14323        'projectid',
14324        'tags',
14325    ]
14326
14327    def __init__(
14328        self,
14329        caid=None,
14330        capoolid=None,
14331        id=None,
14332        issuedcertttlminutes=None,
14333        location=None,
14334        name=None,
14335        projectid=None,
14336        tags=None,
14337    ):
14338        self.caid = caid if caid is not None else ''
14339        '''
14340         The ID of the target CA
14341        '''
14342        self.capoolid = capoolid if capoolid is not None else ''
14343        '''
14344         The ID of the target CA pool
14345        '''
14346        self.id = id if id is not None else ''
14347        '''
14348         Unique identifier of the SecretStore.
14349        '''
14350        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
14351        '''
14352         The lifetime of certificates issued by this CA represented in minutes.
14353        '''
14354        self.location = location if location is not None else ''
14355        '''
14356         The Region for the CA in GCP format e.g. us-west1
14357        '''
14358        self.name = name if name is not None else ''
14359        '''
14360         Unique human-readable name of the SecretStore.
14361        '''
14362        self.projectid = projectid if projectid is not None else ''
14363        '''
14364         The GCP project ID to target.
14365        '''
14366        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14367        '''
14368         Tags is a map of key, value pairs.
14369        '''
14370
14371    def __repr__(self):
14372        return '<sdm.GCPCertX509Store ' + \
14373            'caid: ' + repr(self.caid) + ' ' +\
14374            'capoolid: ' + repr(self.capoolid) + ' ' +\
14375            'id: ' + repr(self.id) + ' ' +\
14376            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
14377            'location: ' + repr(self.location) + ' ' +\
14378            'name: ' + repr(self.name) + ' ' +\
14379            'projectid: ' + repr(self.projectid) + ' ' +\
14380            'tags: ' + repr(self.tags) + ' ' +\
14381            '>'
14382
14383    def to_dict(self):
14384        return {
14385            'caid': self.caid,
14386            'capoolid': self.capoolid,
14387            'id': self.id,
14388            'issuedcertttlminutes': self.issuedcertttlminutes,
14389            'location': self.location,
14390            'name': self.name,
14391            'projectid': self.projectid,
14392            'tags': self.tags,
14393        }
14394
14395    @classmethod
14396    def from_dict(cls, d):
14397        return cls(
14398            caid=d.get('caid'),
14399            capoolid=d.get('capoolid'),
14400            id=d.get('id'),
14401            issuedcertttlminutes=d.get('issuedcertttlminutes'),
14402            location=d.get('location'),
14403            name=d.get('name'),
14404            projectid=d.get('projectid'),
14405            tags=d.get('tags'),
14406        )
14407
14408
14409class GCPConnector:
14410    __slots__ = [
14411        'description',
14412        'exclude_tags',
14413        'id',
14414        'include_tags',
14415        'name',
14416        'project_ids',
14417        'scan_period',
14418        'services',
14419        'workload_pool_id',
14420        'workload_project_id',
14421        'workload_project_number',
14422        'workload_provider_id',
14423    ]
14424
14425    def __init__(
14426        self,
14427        description=None,
14428        exclude_tags=None,
14429        id=None,
14430        include_tags=None,
14431        name=None,
14432        project_ids=None,
14433        scan_period=None,
14434        services=None,
14435        workload_pool_id=None,
14436        workload_project_id=None,
14437        workload_project_number=None,
14438        workload_provider_id=None,
14439    ):
14440        self.description = description if description is not None else ''
14441        '''
14442         Description of the Connector.
14443        '''
14444        self.exclude_tags = exclude_tags if exclude_tags is not None else []
14445        '''
14446         ExcludeTags filters out discovered resources that have the tag and value.
14447         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
14448        '''
14449        self.id = id if id is not None else ''
14450        '''
14451         Unique identifier of the Connector.
14452        '''
14453        self.include_tags = include_tags if include_tags is not None else []
14454        '''
14455         IncludeTags only discovers cloud resources that have one of the included tags.
14456         We do not allow duplicate tag names for IncludeTags
14457        '''
14458        self.name = name if name is not None else ''
14459        '''
14460         Unique human-readable name of the Connector.
14461        '''
14462        self.project_ids = project_ids if project_ids is not None else []
14463        '''
14464         ProjectIds is the list of GCP Projects the connector will scan
14465        '''
14466        self.scan_period = scan_period if scan_period is not None else ''
14467        '''
14468         ScanPeriod identifies which remote system this Connector discovers
14469        '''
14470        self.services = services if services is not None else []
14471        '''
14472         Services is a list of services this connector should scan.
14473        '''
14474        self.workload_pool_id = workload_pool_id if workload_pool_id is not None else ''
14475        '''
14476         WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT
14477        '''
14478        self.workload_project_id = workload_project_id if workload_project_id is not None else ''
14479        '''
14480         WorkloadProjectId is the GCP Project ID where the Workload Pool is defined
14481        '''
14482        self.workload_project_number = workload_project_number if workload_project_number is not None else ''
14483        '''
14484         WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined
14485        '''
14486        self.workload_provider_id = workload_provider_id if workload_provider_id is not None else ''
14487        '''
14488         WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT
14489        '''
14490
14491    def __repr__(self):
14492        return '<sdm.GCPConnector ' + \
14493            'description: ' + repr(self.description) + ' ' +\
14494            'exclude_tags: ' + repr(self.exclude_tags) + ' ' +\
14495            'id: ' + repr(self.id) + ' ' +\
14496            'include_tags: ' + repr(self.include_tags) + ' ' +\
14497            'name: ' + repr(self.name) + ' ' +\
14498            'project_ids: ' + repr(self.project_ids) + ' ' +\
14499            'scan_period: ' + repr(self.scan_period) + ' ' +\
14500            'services: ' + repr(self.services) + ' ' +\
14501            'workload_pool_id: ' + repr(self.workload_pool_id) + ' ' +\
14502            'workload_project_id: ' + repr(self.workload_project_id) + ' ' +\
14503            'workload_project_number: ' + repr(self.workload_project_number) + ' ' +\
14504            'workload_provider_id: ' + repr(self.workload_provider_id) + ' ' +\
14505            '>'
14506
14507    def to_dict(self):
14508        return {
14509            'description': self.description,
14510            'exclude_tags': self.exclude_tags,
14511            'id': self.id,
14512            'include_tags': self.include_tags,
14513            'name': self.name,
14514            'project_ids': self.project_ids,
14515            'scan_period': self.scan_period,
14516            'services': self.services,
14517            'workload_pool_id': self.workload_pool_id,
14518            'workload_project_id': self.workload_project_id,
14519            'workload_project_number': self.workload_project_number,
14520            'workload_provider_id': self.workload_provider_id,
14521        }
14522
14523    @classmethod
14524    def from_dict(cls, d):
14525        return cls(
14526            description=d.get('description'),
14527            exclude_tags=d.get('exclude_tags'),
14528            id=d.get('id'),
14529            include_tags=d.get('include_tags'),
14530            name=d.get('name'),
14531            project_ids=d.get('project_ids'),
14532            scan_period=d.get('scan_period'),
14533            services=d.get('services'),
14534            workload_pool_id=d.get('workload_pool_id'),
14535            workload_project_id=d.get('workload_project_id'),
14536            workload_project_number=d.get('workload_project_number'),
14537            workload_provider_id=d.get('workload_provider_id'),
14538        )
14539
14540
14541class GCPConsole:
14542    __slots__ = [
14543        'bind_interface',
14544        'egress_filter',
14545        'healthy',
14546        'id',
14547        'identity_alias_healthcheck_username',
14548        'identity_set_id',
14549        'name',
14550        'port_override',
14551        'proxy_cluster_id',
14552        'secret_store_id',
14553        'session_expiry',
14554        'subdomain',
14555        'tags',
14556        'workforce_pool_id',
14557        'workforce_provider_id',
14558    ]
14559
14560    def __init__(
14561        self,
14562        bind_interface=None,
14563        egress_filter=None,
14564        healthy=None,
14565        id=None,
14566        identity_alias_healthcheck_username=None,
14567        identity_set_id=None,
14568        name=None,
14569        port_override=None,
14570        proxy_cluster_id=None,
14571        secret_store_id=None,
14572        session_expiry=None,
14573        subdomain=None,
14574        tags=None,
14575        workforce_pool_id=None,
14576        workforce_provider_id=None,
14577    ):
14578        self.bind_interface = bind_interface if bind_interface is not None else ''
14579        '''
14580         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14581        '''
14582        self.egress_filter = egress_filter if egress_filter is not None else ''
14583        '''
14584         A filter applied to the routing logic to pin datasource to nodes.
14585        '''
14586        self.healthy = healthy if healthy is not None else False
14587        '''
14588         True if the datasource is reachable and the credentials are valid.
14589        '''
14590        self.id = id if id is not None else ''
14591        '''
14592         Unique identifier of the Resource.
14593        '''
14594        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14595        '''
14596         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14597        '''
14598        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14599        '''
14600         The ID of the identity set to use for identity connections.
14601        '''
14602        self.name = name if name is not None else ''
14603        '''
14604         Unique human-readable name of the Resource.
14605        '''
14606        self.port_override = port_override if port_override is not None else 0
14607        '''
14608         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14609        '''
14610        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14611        '''
14612         ID of the proxy cluster for this resource, if any.
14613        '''
14614        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14615        '''
14616         ID of the secret store containing credentials for this resource, if any.
14617        '''
14618        self.session_expiry = session_expiry if session_expiry is not None else 0
14619        '''
14620         The length of time in seconds console sessions will live before needing to reauthenticate.
14621        '''
14622        self.subdomain = subdomain if subdomain is not None else ''
14623        '''
14624         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14625        '''
14626        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14627        '''
14628         Tags is a map of key, value pairs.
14629        '''
14630        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
14631        '''
14632         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
14633        '''
14634        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
14635        '''
14636         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
14637        '''
14638
14639    def __repr__(self):
14640        return '<sdm.GCPConsole ' + \
14641            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14642            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14643            'healthy: ' + repr(self.healthy) + ' ' +\
14644            'id: ' + repr(self.id) + ' ' +\
14645            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14646            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14647            'name: ' + repr(self.name) + ' ' +\
14648            'port_override: ' + repr(self.port_override) + ' ' +\
14649            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14650            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14651            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
14652            'subdomain: ' + repr(self.subdomain) + ' ' +\
14653            'tags: ' + repr(self.tags) + ' ' +\
14654            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
14655            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
14656            '>'
14657
14658    def to_dict(self):
14659        return {
14660            'bind_interface': self.bind_interface,
14661            'egress_filter': self.egress_filter,
14662            'healthy': self.healthy,
14663            'id': self.id,
14664            'identity_alias_healthcheck_username':
14665            self.identity_alias_healthcheck_username,
14666            'identity_set_id': self.identity_set_id,
14667            'name': self.name,
14668            'port_override': self.port_override,
14669            'proxy_cluster_id': self.proxy_cluster_id,
14670            'secret_store_id': self.secret_store_id,
14671            'session_expiry': self.session_expiry,
14672            'subdomain': self.subdomain,
14673            'tags': self.tags,
14674            'workforce_pool_id': self.workforce_pool_id,
14675            'workforce_provider_id': self.workforce_provider_id,
14676        }
14677
14678    @classmethod
14679    def from_dict(cls, d):
14680        return cls(
14681            bind_interface=d.get('bind_interface'),
14682            egress_filter=d.get('egress_filter'),
14683            healthy=d.get('healthy'),
14684            id=d.get('id'),
14685            identity_alias_healthcheck_username=d.get(
14686                'identity_alias_healthcheck_username'),
14687            identity_set_id=d.get('identity_set_id'),
14688            name=d.get('name'),
14689            port_override=d.get('port_override'),
14690            proxy_cluster_id=d.get('proxy_cluster_id'),
14691            secret_store_id=d.get('secret_store_id'),
14692            session_expiry=d.get('session_expiry'),
14693            subdomain=d.get('subdomain'),
14694            tags=d.get('tags'),
14695            workforce_pool_id=d.get('workforce_pool_id'),
14696            workforce_provider_id=d.get('workforce_provider_id'),
14697        )
14698
14699
14700class GCPStore:
14701    __slots__ = [
14702        'id',
14703        'name',
14704        'projectid',
14705        'tags',
14706    ]
14707
14708    def __init__(
14709        self,
14710        id=None,
14711        name=None,
14712        projectid=None,
14713        tags=None,
14714    ):
14715        self.id = id if id is not None else ''
14716        '''
14717         Unique identifier of the SecretStore.
14718        '''
14719        self.name = name if name is not None else ''
14720        '''
14721         Unique human-readable name of the SecretStore.
14722        '''
14723        self.projectid = projectid if projectid is not None else ''
14724        '''
14725         The GCP project ID to target.
14726        '''
14727        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14728        '''
14729         Tags is a map of key, value pairs.
14730        '''
14731
14732    def __repr__(self):
14733        return '<sdm.GCPStore ' + \
14734            'id: ' + repr(self.id) + ' ' +\
14735            'name: ' + repr(self.name) + ' ' +\
14736            'projectid: ' + repr(self.projectid) + ' ' +\
14737            'tags: ' + repr(self.tags) + ' ' +\
14738            '>'
14739
14740    def to_dict(self):
14741        return {
14742            'id': self.id,
14743            'name': self.name,
14744            'projectid': self.projectid,
14745            'tags': self.tags,
14746        }
14747
14748    @classmethod
14749    def from_dict(cls, d):
14750        return cls(
14751            id=d.get('id'),
14752            name=d.get('name'),
14753            projectid=d.get('projectid'),
14754            tags=d.get('tags'),
14755        )
14756
14757
14758class GCPWIF:
14759    __slots__ = [
14760        'bind_interface',
14761        'egress_filter',
14762        'healthy',
14763        'id',
14764        'identity_alias_healthcheck_username',
14765        'identity_set_id',
14766        'name',
14767        'port_override',
14768        'project_id',
14769        'proxy_cluster_id',
14770        'scopes',
14771        'secret_store_id',
14772        'session_expiry',
14773        'subdomain',
14774        'tags',
14775        'workforce_pool_id',
14776        'workforce_provider_id',
14777    ]
14778
14779    def __init__(
14780        self,
14781        bind_interface=None,
14782        egress_filter=None,
14783        healthy=None,
14784        id=None,
14785        identity_alias_healthcheck_username=None,
14786        identity_set_id=None,
14787        name=None,
14788        port_override=None,
14789        project_id=None,
14790        proxy_cluster_id=None,
14791        scopes=None,
14792        secret_store_id=None,
14793        session_expiry=None,
14794        subdomain=None,
14795        tags=None,
14796        workforce_pool_id=None,
14797        workforce_provider_id=None,
14798    ):
14799        self.bind_interface = bind_interface if bind_interface is not None else ''
14800        '''
14801         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14802        '''
14803        self.egress_filter = egress_filter if egress_filter is not None else ''
14804        '''
14805         A filter applied to the routing logic to pin datasource to nodes.
14806        '''
14807        self.healthy = healthy if healthy is not None else False
14808        '''
14809         True if the datasource is reachable and the credentials are valid.
14810        '''
14811        self.id = id if id is not None else ''
14812        '''
14813         Unique identifier of the Resource.
14814        '''
14815        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14816        '''
14817         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14818        '''
14819        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14820        '''
14821         The ID of the identity set to use for identity connections.
14822        '''
14823        self.name = name if name is not None else ''
14824        '''
14825         Unique human-readable name of the Resource.
14826        '''
14827        self.port_override = port_override if port_override is not None else 0
14828        '''
14829         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14830        '''
14831        self.project_id = project_id if project_id is not None else ''
14832        '''
14833         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
14834        '''
14835        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14836        '''
14837         ID of the proxy cluster for this resource, if any.
14838        '''
14839        self.scopes = scopes if scopes is not None else ''
14840        '''
14841         Space separated scopes that this login should assume into when authenticating.
14842        '''
14843        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14844        '''
14845         ID of the secret store containing credentials for this resource, if any.
14846        '''
14847        self.session_expiry = session_expiry if session_expiry is not None else 0
14848        '''
14849         The length of time in seconds console sessions will live before needing to reauthenticate.
14850        '''
14851        self.subdomain = subdomain if subdomain is not None else ''
14852        '''
14853         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14854        '''
14855        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14856        '''
14857         Tags is a map of key, value pairs.
14858        '''
14859        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
14860        '''
14861         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
14862        '''
14863        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
14864        '''
14865         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
14866        '''
14867
14868    def __repr__(self):
14869        return '<sdm.GCPWIF ' + \
14870            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14871            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14872            'healthy: ' + repr(self.healthy) + ' ' +\
14873            'id: ' + repr(self.id) + ' ' +\
14874            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14875            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14876            'name: ' + repr(self.name) + ' ' +\
14877            'port_override: ' + repr(self.port_override) + ' ' +\
14878            'project_id: ' + repr(self.project_id) + ' ' +\
14879            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14880            'scopes: ' + repr(self.scopes) + ' ' +\
14881            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14882            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
14883            'subdomain: ' + repr(self.subdomain) + ' ' +\
14884            'tags: ' + repr(self.tags) + ' ' +\
14885            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
14886            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
14887            '>'
14888
14889    def to_dict(self):
14890        return {
14891            'bind_interface': self.bind_interface,
14892            'egress_filter': self.egress_filter,
14893            'healthy': self.healthy,
14894            'id': self.id,
14895            'identity_alias_healthcheck_username':
14896            self.identity_alias_healthcheck_username,
14897            'identity_set_id': self.identity_set_id,
14898            'name': self.name,
14899            'port_override': self.port_override,
14900            'project_id': self.project_id,
14901            'proxy_cluster_id': self.proxy_cluster_id,
14902            'scopes': self.scopes,
14903            'secret_store_id': self.secret_store_id,
14904            'session_expiry': self.session_expiry,
14905            'subdomain': self.subdomain,
14906            'tags': self.tags,
14907            'workforce_pool_id': self.workforce_pool_id,
14908            'workforce_provider_id': self.workforce_provider_id,
14909        }
14910
14911    @classmethod
14912    def from_dict(cls, d):
14913        return cls(
14914            bind_interface=d.get('bind_interface'),
14915            egress_filter=d.get('egress_filter'),
14916            healthy=d.get('healthy'),
14917            id=d.get('id'),
14918            identity_alias_healthcheck_username=d.get(
14919                'identity_alias_healthcheck_username'),
14920            identity_set_id=d.get('identity_set_id'),
14921            name=d.get('name'),
14922            port_override=d.get('port_override'),
14923            project_id=d.get('project_id'),
14924            proxy_cluster_id=d.get('proxy_cluster_id'),
14925            scopes=d.get('scopes'),
14926            secret_store_id=d.get('secret_store_id'),
14927            session_expiry=d.get('session_expiry'),
14928            subdomain=d.get('subdomain'),
14929            tags=d.get('tags'),
14930            workforce_pool_id=d.get('workforce_pool_id'),
14931            workforce_provider_id=d.get('workforce_provider_id'),
14932        )
14933
14934
14935class Gateway:
14936    '''
14937         Gateway represents a StrongDM CLI installation running in gateway mode.
14938    '''
14939    __slots__ = [
14940        'bind_address',
14941        'device',
14942        'gateway_filter',
14943        'id',
14944        'listen_address',
14945        'location',
14946        'maintenance_windows',
14947        'name',
14948        'state',
14949        'tags',
14950        'version',
14951    ]
14952
14953    def __init__(
14954        self,
14955        bind_address=None,
14956        device=None,
14957        gateway_filter=None,
14958        id=None,
14959        listen_address=None,
14960        location=None,
14961        maintenance_windows=None,
14962        name=None,
14963        state=None,
14964        tags=None,
14965        version=None,
14966    ):
14967        self.bind_address = bind_address if bind_address is not None else ''
14968        '''
14969         The hostname/port tuple which the gateway daemon will bind to.
14970         If not provided on create, set to "0.0.0.0:listen_address_port".
14971        '''
14972        self.device = device if device is not None else ''
14973        '''
14974         Device is a read only device name uploaded by the gateway process when
14975         it comes online.
14976        '''
14977        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
14978        '''
14979         GatewayFilter can be used to restrict the peering between relays and
14980         gateways. Deprecated.
14981        '''
14982        self.id = id if id is not None else ''
14983        '''
14984         Unique identifier of the Gateway.
14985        '''
14986        self.listen_address = listen_address if listen_address is not None else ''
14987        '''
14988         The public hostname/port tuple at which the gateway will be accessible to clients.
14989        '''
14990        self.location = location if location is not None else ''
14991        '''
14992         Location is a read only network location uploaded by the gateway process
14993         when it comes online.
14994        '''
14995        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
14996        '''
14997         Maintenance Windows define when this node is allowed to restart. If a node
14998         is requested to restart, it will check each window to determine if any of
14999         them permit it to restart, and if any do, it will. This check is repeated
15000         per window until the restart is successfully completed.
15001         
15002         If not set here, may be set on the command line or via an environment variable
15003         on the process itself; any server setting will take precedence over local
15004         settings. This setting is ineffective for nodes below version 38.44.0.
15005         
15006         If this setting is not applied via this remote configuration or via local
15007         configuration, the default setting is used: always allow restarts if serving
15008         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
15009        '''
15010        self.name = name if name is not None else ''
15011        '''
15012         Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
15013        '''
15014        self.state = state if state is not None else ''
15015        '''
15016         The current state of the gateway. One of: "new", "verifying_restart",
15017         "restarting", "started", "stopped", "dead", "unknown"
15018        '''
15019        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15020        '''
15021         Tags is a map of key, value pairs.
15022        '''
15023        self.version = version if version is not None else ''
15024        '''
15025         Version is a read only sdm binary version uploaded by the gateway process
15026         when it comes online.
15027        '''
15028
15029    def __repr__(self):
15030        return '<sdm.Gateway ' + \
15031            'bind_address: ' + repr(self.bind_address) + ' ' +\
15032            'device: ' + repr(self.device) + ' ' +\
15033            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
15034            'id: ' + repr(self.id) + ' ' +\
15035            'listen_address: ' + repr(self.listen_address) + ' ' +\
15036            'location: ' + repr(self.location) + ' ' +\
15037            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
15038            'name: ' + repr(self.name) + ' ' +\
15039            'state: ' + repr(self.state) + ' ' +\
15040            'tags: ' + repr(self.tags) + ' ' +\
15041            'version: ' + repr(self.version) + ' ' +\
15042            '>'
15043
15044    def to_dict(self):
15045        return {
15046            'bind_address': self.bind_address,
15047            'device': self.device,
15048            'gateway_filter': self.gateway_filter,
15049            'id': self.id,
15050            'listen_address': self.listen_address,
15051            'location': self.location,
15052            'maintenance_windows': self.maintenance_windows,
15053            'name': self.name,
15054            'state': self.state,
15055            'tags': self.tags,
15056            'version': self.version,
15057        }
15058
15059    @classmethod
15060    def from_dict(cls, d):
15061        return cls(
15062            bind_address=d.get('bind_address'),
15063            device=d.get('device'),
15064            gateway_filter=d.get('gateway_filter'),
15065            id=d.get('id'),
15066            listen_address=d.get('listen_address'),
15067            location=d.get('location'),
15068            maintenance_windows=d.get('maintenance_windows'),
15069            name=d.get('name'),
15070            state=d.get('state'),
15071            tags=d.get('tags'),
15072            version=d.get('version'),
15073        )
15074
15075
15076class GenerateKeysRequest:
15077    __slots__ = [
15078        'secret_engine_id',
15079    ]
15080
15081    def __init__(
15082        self,
15083        secret_engine_id=None,
15084    ):
15085        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
15086        '''
15087         required
15088        '''
15089
15090    def __repr__(self):
15091        return '<sdm.GenerateKeysRequest ' + \
15092            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
15093            '>'
15094
15095    def to_dict(self):
15096        return {
15097            'secret_engine_id': self.secret_engine_id,
15098        }
15099
15100    @classmethod
15101    def from_dict(cls, d):
15102        return cls(secret_engine_id=d.get('secret_engine_id'), )
15103
15104
15105class GenerateKeysResponse:
15106    __slots__ = [
15107        'rate_limit',
15108    ]
15109
15110    def __init__(
15111        self,
15112        rate_limit=None,
15113    ):
15114        self.rate_limit = rate_limit if rate_limit is not None else None
15115        '''
15116         Rate limit information.
15117        '''
15118
15119    def __repr__(self):
15120        return '<sdm.GenerateKeysResponse ' + \
15121            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15122            '>'
15123
15124    def to_dict(self):
15125        return {
15126            'rate_limit': self.rate_limit,
15127        }
15128
15129    @classmethod
15130    def from_dict(cls, d):
15131        return cls(rate_limit=d.get('rate_limit'), )
15132
15133
15134class GenericResponseMetadata:
15135    '''
15136         GenericResponseMetadata contains common headers for generic request
15137     responses.
15138    '''
15139    __slots__ = []
15140
15141    def __init__(self, ):
15142        pass
15143
15144    def __repr__(self):
15145        return '<sdm.GenericResponseMetadata ' + \
15146            '>'
15147
15148    def to_dict(self):
15149        return {}
15150
15151    @classmethod
15152    def from_dict(cls, d):
15153        return cls()
15154
15155
15156class GetResponseMetadata:
15157    '''
15158         GetResponseMetadata is reserved for future use.
15159    '''
15160    __slots__ = []
15161
15162    def __init__(self, ):
15163        pass
15164
15165    def __repr__(self):
15166        return '<sdm.GetResponseMetadata ' + \
15167            '>'
15168
15169    def to_dict(self):
15170        return {}
15171
15172    @classmethod
15173    def from_dict(cls, d):
15174        return cls()
15175
15176
15177class GoogleGKE:
15178    __slots__ = [
15179        'allow_resource_role_bypass',
15180        'bind_interface',
15181        'certificate_authority',
15182        'discovery_enabled',
15183        'discovery_username',
15184        'egress_filter',
15185        'endpoint',
15186        'healthcheck_namespace',
15187        'healthy',
15188        'id',
15189        'identity_alias_healthcheck_username',
15190        'identity_set_id',
15191        'name',
15192        'port_override',
15193        'proxy_cluster_id',
15194        'secret_store_id',
15195        'service_account_key',
15196        'subdomain',
15197        'tags',
15198    ]
15199
15200    def __init__(
15201        self,
15202        allow_resource_role_bypass=None,
15203        bind_interface=None,
15204        certificate_authority=None,
15205        discovery_enabled=None,
15206        discovery_username=None,
15207        egress_filter=None,
15208        endpoint=None,
15209        healthcheck_namespace=None,
15210        healthy=None,
15211        id=None,
15212        identity_alias_healthcheck_username=None,
15213        identity_set_id=None,
15214        name=None,
15215        port_override=None,
15216        proxy_cluster_id=None,
15217        secret_store_id=None,
15218        service_account_key=None,
15219        subdomain=None,
15220        tags=None,
15221    ):
15222        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15223        '''
15224         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15225         when a resource role is not provided.
15226        '''
15227        self.bind_interface = bind_interface if bind_interface is not None else ''
15228        '''
15229         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15230        '''
15231        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15232        '''
15233         The CA to authenticate TLS connections with.
15234        '''
15235        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15236        '''
15237         If true, configures discovery of a cluster to be run from a node.
15238        '''
15239        self.discovery_username = discovery_username if discovery_username is not None else ''
15240        '''
15241         If a cluster is configured for user impersonation, this is the user to impersonate when
15242         running discovery.
15243        '''
15244        self.egress_filter = egress_filter if egress_filter is not None else ''
15245        '''
15246         A filter applied to the routing logic to pin datasource to nodes.
15247        '''
15248        self.endpoint = endpoint if endpoint is not None else ''
15249        '''
15250         The endpoint to dial.
15251        '''
15252        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15253        '''
15254         The path used to check the health of your connection.  Defaults to `default`.
15255        '''
15256        self.healthy = healthy if healthy is not None else False
15257        '''
15258         True if the datasource is reachable and the credentials are valid.
15259        '''
15260        self.id = id if id is not None else ''
15261        '''
15262         Unique identifier of the Resource.
15263        '''
15264        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15265        '''
15266         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15267        '''
15268        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15269        '''
15270         The ID of the identity set to use for identity connections.
15271        '''
15272        self.name = name if name is not None else ''
15273        '''
15274         Unique human-readable name of the Resource.
15275        '''
15276        self.port_override = port_override if port_override is not None else 0
15277        '''
15278         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15279        '''
15280        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15281        '''
15282         ID of the proxy cluster for this resource, if any.
15283        '''
15284        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15285        '''
15286         ID of the secret store containing credentials for this resource, if any.
15287        '''
15288        self.service_account_key = service_account_key if service_account_key is not None else ''
15289        '''
15290         The service account key to authenticate with.
15291        '''
15292        self.subdomain = subdomain if subdomain is not None else ''
15293        '''
15294         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15295        '''
15296        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15297        '''
15298         Tags is a map of key, value pairs.
15299        '''
15300
15301    def __repr__(self):
15302        return '<sdm.GoogleGKE ' + \
15303            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15304            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15305            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15306            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15307            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15308            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15309            'endpoint: ' + repr(self.endpoint) + ' ' +\
15310            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15311            'healthy: ' + repr(self.healthy) + ' ' +\
15312            'id: ' + repr(self.id) + ' ' +\
15313            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15314            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15315            'name: ' + repr(self.name) + ' ' +\
15316            'port_override: ' + repr(self.port_override) + ' ' +\
15317            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15318            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15319            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
15320            'subdomain: ' + repr(self.subdomain) + ' ' +\
15321            'tags: ' + repr(self.tags) + ' ' +\
15322            '>'
15323
15324    def to_dict(self):
15325        return {
15326            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15327            'bind_interface': self.bind_interface,
15328            'certificate_authority': self.certificate_authority,
15329            'discovery_enabled': self.discovery_enabled,
15330            'discovery_username': self.discovery_username,
15331            'egress_filter': self.egress_filter,
15332            'endpoint': self.endpoint,
15333            'healthcheck_namespace': self.healthcheck_namespace,
15334            'healthy': self.healthy,
15335            'id': self.id,
15336            'identity_alias_healthcheck_username':
15337            self.identity_alias_healthcheck_username,
15338            'identity_set_id': self.identity_set_id,
15339            'name': self.name,
15340            'port_override': self.port_override,
15341            'proxy_cluster_id': self.proxy_cluster_id,
15342            'secret_store_id': self.secret_store_id,
15343            'service_account_key': self.service_account_key,
15344            'subdomain': self.subdomain,
15345            'tags': self.tags,
15346        }
15347
15348    @classmethod
15349    def from_dict(cls, d):
15350        return cls(
15351            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15352            bind_interface=d.get('bind_interface'),
15353            certificate_authority=d.get('certificate_authority'),
15354            discovery_enabled=d.get('discovery_enabled'),
15355            discovery_username=d.get('discovery_username'),
15356            egress_filter=d.get('egress_filter'),
15357            endpoint=d.get('endpoint'),
15358            healthcheck_namespace=d.get('healthcheck_namespace'),
15359            healthy=d.get('healthy'),
15360            id=d.get('id'),
15361            identity_alias_healthcheck_username=d.get(
15362                'identity_alias_healthcheck_username'),
15363            identity_set_id=d.get('identity_set_id'),
15364            name=d.get('name'),
15365            port_override=d.get('port_override'),
15366            proxy_cluster_id=d.get('proxy_cluster_id'),
15367            secret_store_id=d.get('secret_store_id'),
15368            service_account_key=d.get('service_account_key'),
15369            subdomain=d.get('subdomain'),
15370            tags=d.get('tags'),
15371        )
15372
15373
15374class GoogleGKEUserImpersonation:
15375    '''
15376    GoogleGKEUserImpersonation is deprecated, see docs for more info.
15377    '''
15378    __slots__ = [
15379        'bind_interface',
15380        'certificate_authority',
15381        'egress_filter',
15382        'endpoint',
15383        'healthcheck_namespace',
15384        'healthy',
15385        'id',
15386        'name',
15387        'port_override',
15388        'proxy_cluster_id',
15389        'secret_store_id',
15390        'service_account_key',
15391        'subdomain',
15392        'tags',
15393    ]
15394
15395    def __init__(
15396        self,
15397        bind_interface=None,
15398        certificate_authority=None,
15399        egress_filter=None,
15400        endpoint=None,
15401        healthcheck_namespace=None,
15402        healthy=None,
15403        id=None,
15404        name=None,
15405        port_override=None,
15406        proxy_cluster_id=None,
15407        secret_store_id=None,
15408        service_account_key=None,
15409        subdomain=None,
15410        tags=None,
15411    ):
15412        self.bind_interface = bind_interface if bind_interface is not None else ''
15413        '''
15414         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15415        '''
15416        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15417        '''
15418         The CA to authenticate TLS connections with.
15419        '''
15420        self.egress_filter = egress_filter if egress_filter is not None else ''
15421        '''
15422         A filter applied to the routing logic to pin datasource to nodes.
15423        '''
15424        self.endpoint = endpoint if endpoint is not None else ''
15425        '''
15426         The endpoint to dial.
15427        '''
15428        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15429        '''
15430         The path used to check the health of your connection.  Defaults to `default`.
15431        '''
15432        self.healthy = healthy if healthy is not None else False
15433        '''
15434         True if the datasource is reachable and the credentials are valid.
15435        '''
15436        self.id = id if id is not None else ''
15437        '''
15438         Unique identifier of the Resource.
15439        '''
15440        self.name = name if name is not None else ''
15441        '''
15442         Unique human-readable name of the Resource.
15443        '''
15444        self.port_override = port_override if port_override is not None else 0
15445        '''
15446         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15447        '''
15448        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15449        '''
15450         ID of the proxy cluster for this resource, if any.
15451        '''
15452        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15453        '''
15454         ID of the secret store containing credentials for this resource, if any.
15455        '''
15456        self.service_account_key = service_account_key if service_account_key is not None else ''
15457        '''
15458         The service account key to authenticate with.
15459        '''
15460        self.subdomain = subdomain if subdomain is not None else ''
15461        '''
15462         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15463        '''
15464        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15465        '''
15466         Tags is a map of key, value pairs.
15467        '''
15468
15469    def __repr__(self):
15470        return '<sdm.GoogleGKEUserImpersonation ' + \
15471            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15472            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15473            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15474            'endpoint: ' + repr(self.endpoint) + ' ' +\
15475            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15476            'healthy: ' + repr(self.healthy) + ' ' +\
15477            'id: ' + repr(self.id) + ' ' +\
15478            'name: ' + repr(self.name) + ' ' +\
15479            'port_override: ' + repr(self.port_override) + ' ' +\
15480            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15481            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15482            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
15483            'subdomain: ' + repr(self.subdomain) + ' ' +\
15484            'tags: ' + repr(self.tags) + ' ' +\
15485            '>'
15486
15487    def to_dict(self):
15488        return {
15489            'bind_interface': self.bind_interface,
15490            'certificate_authority': self.certificate_authority,
15491            'egress_filter': self.egress_filter,
15492            'endpoint': self.endpoint,
15493            'healthcheck_namespace': self.healthcheck_namespace,
15494            'healthy': self.healthy,
15495            'id': self.id,
15496            'name': self.name,
15497            'port_override': self.port_override,
15498            'proxy_cluster_id': self.proxy_cluster_id,
15499            'secret_store_id': self.secret_store_id,
15500            'service_account_key': self.service_account_key,
15501            'subdomain': self.subdomain,
15502            'tags': self.tags,
15503        }
15504
15505    @classmethod
15506    def from_dict(cls, d):
15507        return cls(
15508            bind_interface=d.get('bind_interface'),
15509            certificate_authority=d.get('certificate_authority'),
15510            egress_filter=d.get('egress_filter'),
15511            endpoint=d.get('endpoint'),
15512            healthcheck_namespace=d.get('healthcheck_namespace'),
15513            healthy=d.get('healthy'),
15514            id=d.get('id'),
15515            name=d.get('name'),
15516            port_override=d.get('port_override'),
15517            proxy_cluster_id=d.get('proxy_cluster_id'),
15518            secret_store_id=d.get('secret_store_id'),
15519            service_account_key=d.get('service_account_key'),
15520            subdomain=d.get('subdomain'),
15521            tags=d.get('tags'),
15522        )
15523
15524
15525class GoogleSpanner:
15526    __slots__ = [
15527        'bind_interface',
15528        'database',
15529        'egress_filter',
15530        'endpoint',
15531        'healthy',
15532        'id',
15533        'instance',
15534        'name',
15535        'port',
15536        'port_override',
15537        'project',
15538        'proxy_cluster_id',
15539        'secret_store_id',
15540        'service_account_to_impersonate',
15541        'subdomain',
15542        'tags',
15543    ]
15544
15545    def __init__(
15546        self,
15547        bind_interface=None,
15548        database=None,
15549        egress_filter=None,
15550        endpoint=None,
15551        healthy=None,
15552        id=None,
15553        instance=None,
15554        name=None,
15555        port=None,
15556        port_override=None,
15557        project=None,
15558        proxy_cluster_id=None,
15559        secret_store_id=None,
15560        service_account_to_impersonate=None,
15561        subdomain=None,
15562        tags=None,
15563    ):
15564        self.bind_interface = bind_interface if bind_interface is not None else ''
15565        '''
15566         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15567        '''
15568        self.database = database if database is not None else ''
15569        '''
15570         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15571        '''
15572        self.egress_filter = egress_filter if egress_filter is not None else ''
15573        '''
15574         A filter applied to the routing logic to pin datasource to nodes.
15575        '''
15576        self.endpoint = endpoint if endpoint is not None else ''
15577        '''
15578         The endpoint to dial e.g. spanner.googleapis.com
15579        '''
15580        self.healthy = healthy if healthy is not None else False
15581        '''
15582         True if the datasource is reachable and the credentials are valid.
15583        '''
15584        self.id = id if id is not None else ''
15585        '''
15586         Unique identifier of the Resource.
15587        '''
15588        self.instance = instance if instance is not None else ''
15589        '''
15590         The Spanner instance ID within the GCP project.
15591        '''
15592        self.name = name if name is not None else ''
15593        '''
15594         Unique human-readable name of the Resource.
15595        '''
15596        self.port = port if port is not None else 0
15597        '''
15598         The port to dial to initiate a connection from the egress node to this resource.
15599        '''
15600        self.port_override = port_override if port_override is not None else 0
15601        '''
15602         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15603        '''
15604        self.project = project if project is not None else ''
15605        '''
15606         The GCP project ID containing the Spanner database.
15607        '''
15608        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15609        '''
15610         ID of the proxy cluster for this resource, if any.
15611        '''
15612        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15613        '''
15614         ID of the secret store containing credentials for this resource, if any.
15615        '''
15616        self.service_account_to_impersonate = service_account_to_impersonate if service_account_to_impersonate is not None else ''
15617        '''
15618         Optional service account email to impersonate. When set, the relay's
15619         Application Default Credentials will impersonate this service account
15620         to access Spanner. This allows role separation where the relay uses
15621         one service account but operates as another.
15622        '''
15623        self.subdomain = subdomain if subdomain is not None else ''
15624        '''
15625         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15626        '''
15627        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15628        '''
15629         Tags is a map of key, value pairs.
15630        '''
15631
15632    def __repr__(self):
15633        return '<sdm.GoogleSpanner ' + \
15634            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15635            'database: ' + repr(self.database) + ' ' +\
15636            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15637            'endpoint: ' + repr(self.endpoint) + ' ' +\
15638            'healthy: ' + repr(self.healthy) + ' ' +\
15639            'id: ' + repr(self.id) + ' ' +\
15640            'instance: ' + repr(self.instance) + ' ' +\
15641            'name: ' + repr(self.name) + ' ' +\
15642            'port: ' + repr(self.port) + ' ' +\
15643            'port_override: ' + repr(self.port_override) + ' ' +\
15644            'project: ' + repr(self.project) + ' ' +\
15645            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15646            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15647            'service_account_to_impersonate: ' + repr(self.service_account_to_impersonate) + ' ' +\
15648            'subdomain: ' + repr(self.subdomain) + ' ' +\
15649            'tags: ' + repr(self.tags) + ' ' +\
15650            '>'
15651
15652    def to_dict(self):
15653        return {
15654            'bind_interface': self.bind_interface,
15655            'database': self.database,
15656            'egress_filter': self.egress_filter,
15657            'endpoint': self.endpoint,
15658            'healthy': self.healthy,
15659            'id': self.id,
15660            'instance': self.instance,
15661            'name': self.name,
15662            'port': self.port,
15663            'port_override': self.port_override,
15664            'project': self.project,
15665            'proxy_cluster_id': self.proxy_cluster_id,
15666            'secret_store_id': self.secret_store_id,
15667            'service_account_to_impersonate':
15668            self.service_account_to_impersonate,
15669            'subdomain': self.subdomain,
15670            'tags': self.tags,
15671        }
15672
15673    @classmethod
15674    def from_dict(cls, d):
15675        return cls(
15676            bind_interface=d.get('bind_interface'),
15677            database=d.get('database'),
15678            egress_filter=d.get('egress_filter'),
15679            endpoint=d.get('endpoint'),
15680            healthy=d.get('healthy'),
15681            id=d.get('id'),
15682            instance=d.get('instance'),
15683            name=d.get('name'),
15684            port=d.get('port'),
15685            port_override=d.get('port_override'),
15686            project=d.get('project'),
15687            proxy_cluster_id=d.get('proxy_cluster_id'),
15688            secret_store_id=d.get('secret_store_id'),
15689            service_account_to_impersonate=d.get(
15690                'service_account_to_impersonate'),
15691            subdomain=d.get('subdomain'),
15692            tags=d.get('tags'),
15693        )
15694
15695
15696class GrantedAccountEntitlement:
15697    '''
15698         GrantedAccountEntitlement represents an individual entitlement of an Account to a Resource that has been granted.
15699    '''
15700    __slots__ = [
15701        'group_id',
15702        'last_accessed',
15703        'mapped_identities',
15704        'origin_id',
15705        'resource_id',
15706    ]
15707
15708    def __init__(
15709        self,
15710        group_id=None,
15711        last_accessed=None,
15712        mapped_identities=None,
15713        origin_id=None,
15714        resource_id=None,
15715    ):
15716        self.group_id = group_id if group_id is not None else ''
15717        '''
15718         The unique identifier of the group associated with this entitlement, if any.
15719        '''
15720        self.last_accessed = last_accessed if last_accessed is not None else None
15721        '''
15722         The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
15723        '''
15724        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15725        '''
15726         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15727        '''
15728        self.origin_id = origin_id if origin_id is not None else ''
15729        '''
15730         The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
15731        '''
15732        self.resource_id = resource_id if resource_id is not None else ''
15733        '''
15734         The unique identifier of the Resource to which access is granted.
15735        '''
15736
15737    def __repr__(self):
15738        return '<sdm.GrantedAccountEntitlement ' + \
15739            'group_id: ' + repr(self.group_id) + ' ' +\
15740            'last_accessed: ' + repr(self.last_accessed) + ' ' +\
15741            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
15742            'origin_id: ' + repr(self.origin_id) + ' ' +\
15743            'resource_id: ' + repr(self.resource_id) + ' ' +\
15744            '>'
15745
15746    def to_dict(self):
15747        return {
15748            'group_id': self.group_id,
15749            'last_accessed': self.last_accessed,
15750            'mapped_identities': self.mapped_identities,
15751            'origin_id': self.origin_id,
15752            'resource_id': self.resource_id,
15753        }
15754
15755    @classmethod
15756    def from_dict(cls, d):
15757        return cls(
15758            group_id=d.get('group_id'),
15759            last_accessed=d.get('last_accessed'),
15760            mapped_identities=d.get('mapped_identities'),
15761            origin_id=d.get('origin_id'),
15762            resource_id=d.get('resource_id'),
15763        )
15764
15765
15766class GrantedEntitlementKubernetesPrivileges:
15767    '''
15768         GrantedEntitlementKubernetesPrivileges holds Kubernetes group memberships for a granted entitlement.
15769    '''
15770    __slots__ = [
15771        'groups',
15772    ]
15773
15774    def __init__(
15775        self,
15776        groups=None,
15777    ):
15778        self.groups = groups if groups is not None else []
15779        '''
15780         The Kubernetes groups granted to this principal for this resource.
15781        '''
15782
15783    def __repr__(self):
15784        return '<sdm.GrantedEntitlementKubernetesPrivileges ' + \
15785            'groups: ' + repr(self.groups) + ' ' +\
15786            '>'
15787
15788    def to_dict(self):
15789        return {
15790            'groups': self.groups,
15791        }
15792
15793    @classmethod
15794    def from_dict(cls, d):
15795        return cls(groups=d.get('groups'), )
15796
15797
15798class GrantedResourceEntitlement:
15799    '''
15800         GrantedResourceEntitlement represents an individual entitlement of an Account to a Resource,
15801     viewed from the resource's perspective.
15802    '''
15803    __slots__ = [
15804        'account_id',
15805        'group_id',
15806        'last_accessed',
15807        'mapped_identities',
15808        'origin_id',
15809    ]
15810
15811    def __init__(
15812        self,
15813        account_id=None,
15814        group_id=None,
15815        last_accessed=None,
15816        mapped_identities=None,
15817        origin_id=None,
15818    ):
15819        self.account_id = account_id if account_id is not None else ''
15820        '''
15821         The unique identifier of the Account that has access to this resource.
15822        '''
15823        self.group_id = group_id if group_id is not None else ''
15824        '''
15825         The unique identifier of the group associated with this entitlement, if any.
15826        '''
15827        self.last_accessed = last_accessed if last_accessed is not None else None
15828        '''
15829         The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
15830        '''
15831        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15832        '''
15833         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15834        '''
15835        self.origin_id = origin_id if origin_id is not None else ''
15836        '''
15837         The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
15838        '''
15839
15840    def __repr__(self):
15841        return '<sdm.GrantedResourceEntitlement ' + \
15842            'account_id: ' + repr(self.account_id) + ' ' +\
15843            'group_id: ' + repr(self.group_id) + ' ' +\
15844            'last_accessed: ' + repr(self.last_accessed) + ' ' +\
15845            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
15846            'origin_id: ' + repr(self.origin_id) + ' ' +\
15847            '>'
15848
15849    def to_dict(self):
15850        return {
15851            'account_id': self.account_id,
15852            'group_id': self.group_id,
15853            'last_accessed': self.last_accessed,
15854            'mapped_identities': self.mapped_identities,
15855            'origin_id': self.origin_id,
15856        }
15857
15858    @classmethod
15859    def from_dict(cls, d):
15860        return cls(
15861            account_id=d.get('account_id'),
15862            group_id=d.get('group_id'),
15863            last_accessed=d.get('last_accessed'),
15864            mapped_identities=d.get('mapped_identities'),
15865            origin_id=d.get('origin_id'),
15866        )
15867
15868
15869class GrantedRoleEntitlement:
15870    '''
15871         GrantedRoleEntitlement represents an individual resource entitlement granted through a Role.
15872    '''
15873    __slots__ = [
15874        'group_id',
15875        'last_accessed',
15876        'mapped_identities',
15877        'resource_id',
15878    ]
15879
15880    def __init__(
15881        self,
15882        group_id=None,
15883        last_accessed=None,
15884        mapped_identities=None,
15885        resource_id=None,
15886    ):
15887        self.group_id = group_id if group_id is not None else ''
15888        '''
15889         The unique identifier of the group associated with this entitlement, if any.
15890        '''
15891        self.last_accessed = last_accessed if last_accessed is not None else None
15892        '''
15893         The most recent time at which any account in the organization accessed this resource.
15894         Empty if the resource has never been accessed.
15895        '''
15896        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15897        '''
15898         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15899        '''
15900        self.resource_id = resource_id if resource_id is not None else ''
15901        '''
15902         The unique identifier of the Resource to which the role grants access.
15903        '''
15904
15905    def __repr__(self):
15906        return '<sdm.GrantedRoleEntitlement ' + \
15907            'group_id: ' + repr(self.group_id) + ' ' +\
15908            'last_accessed: ' + repr(self.last_accessed) + ' ' +\
15909            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
15910            'resource_id: ' + repr(self.resource_id) + ' ' +\
15911            '>'
15912
15913    def to_dict(self):
15914        return {
15915            'group_id': self.group_id,
15916            'last_accessed': self.last_accessed,
15917            'mapped_identities': self.mapped_identities,
15918            'resource_id': self.resource_id,
15919        }
15920
15921    @classmethod
15922    def from_dict(cls, d):
15923        return cls(
15924            group_id=d.get('group_id'),
15925            last_accessed=d.get('last_accessed'),
15926            mapped_identities=d.get('mapped_identities'),
15927            resource_id=d.get('resource_id'),
15928        )
15929
15930
15931class Greenplum:
15932    __slots__ = [
15933        'bind_interface',
15934        'database',
15935        'egress_filter',
15936        'healthy',
15937        'hostname',
15938        'id',
15939        'name',
15940        'override_database',
15941        'password',
15942        'port',
15943        'port_override',
15944        'proxy_cluster_id',
15945        'secret_store_id',
15946        'subdomain',
15947        'tags',
15948        'username',
15949    ]
15950
15951    def __init__(
15952        self,
15953        bind_interface=None,
15954        database=None,
15955        egress_filter=None,
15956        healthy=None,
15957        hostname=None,
15958        id=None,
15959        name=None,
15960        override_database=None,
15961        password=None,
15962        port=None,
15963        port_override=None,
15964        proxy_cluster_id=None,
15965        secret_store_id=None,
15966        subdomain=None,
15967        tags=None,
15968        username=None,
15969    ):
15970        self.bind_interface = bind_interface if bind_interface is not None else ''
15971        '''
15972         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15973        '''
15974        self.database = database if database is not None else ''
15975        '''
15976         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15977        '''
15978        self.egress_filter = egress_filter if egress_filter is not None else ''
15979        '''
15980         A filter applied to the routing logic to pin datasource to nodes.
15981        '''
15982        self.healthy = healthy if healthy is not None else False
15983        '''
15984         True if the datasource is reachable and the credentials are valid.
15985        '''
15986        self.hostname = hostname if hostname is not None else ''
15987        '''
15988         The host to dial to initiate a connection from the egress node to this resource.
15989        '''
15990        self.id = id if id is not None else ''
15991        '''
15992         Unique identifier of the Resource.
15993        '''
15994        self.name = name if name is not None else ''
15995        '''
15996         Unique human-readable name of the Resource.
15997        '''
15998        self.override_database = override_database if override_database is not None else False
15999        '''
16000         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16001        '''
16002        self.password = password if password is not None else ''
16003        '''
16004         The password to authenticate with.
16005        '''
16006        self.port = port if port is not None else 0
16007        '''
16008         The port to dial to initiate a connection from the egress node to this resource.
16009        '''
16010        self.port_override = port_override if port_override is not None else 0
16011        '''
16012         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
16013        '''
16014        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16015        '''
16016         ID of the proxy cluster for this resource, if any.
16017        '''
16018        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16019        '''
16020         ID of the secret store containing credentials for this resource, if any.
16021        '''
16022        self.subdomain = subdomain if subdomain is not None else ''
16023        '''
16024         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
16025        '''
16026        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16027        '''
16028         Tags is a map of key, value pairs.
16029        '''
16030        self.username = username if username is not None else ''
16031        '''
16032         The username to authenticate with.
16033        '''
16034
16035    def __repr__(self):
16036        return '<sdm.Greenplum ' + \
16037            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16038            'database: ' + repr(self.database) + ' ' +\
16039            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16040            'healthy: ' + repr(self.healthy) + ' ' +\
16041            'hostname: ' + repr(self.hostname) + ' ' +\
16042            'id: ' + repr(self.id) + ' ' +\
16043            'name: ' + repr(self.name) + ' ' +\
16044            'override_database: ' + repr(self.override_database) + ' ' +\
16045            'password: ' + repr(self.password) + ' ' +\
16046            'port: ' + repr(self.port) + ' ' +\
16047            'port_override: ' + repr(self.port_override) + ' ' +\
16048            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16049            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16050            'subdomain: ' + repr(self.subdomain) + ' ' +\
16051            'tags: ' + repr(self.tags) + ' ' +\
16052            'username: ' + repr(self.username) + ' ' +\
16053            '>'
16054
16055    def to_dict(self):
16056        return {
16057            'bind_interface': self.bind_interface,
16058            'database': self.database,
16059            'egress_filter': self.egress_filter,
16060            'healthy': self.healthy,
16061            'hostname': self.hostname,
16062            'id': self.id,
16063            'name': self.name,
16064            'override_database': self.override_database,
16065            'password': self.password,
16066            'port': self.port,
16067            'port_override': self.port_override,
16068            'proxy_cluster_id': self.proxy_cluster_id,
16069            'secret_store_id': self.secret_store_id,
16070            'subdomain': self.subdomain,
16071            'tags': self.tags,
16072            'username': self.username,
16073        }
16074
16075    @classmethod
16076    def from_dict(cls, d):
16077        return cls(
16078            bind_interface=d.get('bind_interface'),
16079            database=d.get('database'),
16080            egress_filter=d.get('egress_filter'),
16081            healthy=d.get('healthy'),
16082            hostname=d.get('hostname'),
16083            id=d.get('id'),
16084            name=d.get('name'),
16085            override_database=d.get('override_database'),
16086            password=d.get('password'),
16087            port=d.get('port'),
16088            port_override=d.get('port_override'),
16089            proxy_cluster_id=d.get('proxy_cluster_id'),
16090            secret_store_id=d.get('secret_store_id'),
16091            subdomain=d.get('subdomain'),
16092            tags=d.get('tags'),
16093            username=d.get('username'),
16094        )
16095
16096
16097class Group:
16098    '''
16099         A Group is a named set of principals.
16100    '''
16101    __slots__ = [
16102        'description',
16103        'id',
16104        'name',
16105        'source',
16106        'tags',
16107    ]
16108
16109    def __init__(
16110        self,
16111        description=None,
16112        id=None,
16113        name=None,
16114        source=None,
16115        tags=None,
16116    ):
16117        self.description = description if description is not None else ''
16118        '''
16119         Description of the Group.
16120        '''
16121        self.id = id if id is not None else ''
16122        '''
16123         Unique identifier of the Group.
16124        '''
16125        self.name = name if name is not None else ''
16126        '''
16127         Unique human-readable name of the Group.
16128        '''
16129        self.source = source if source is not None else ''
16130        '''
16131         Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
16132        '''
16133        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16134        '''
16135         Tags is a map of key/value pairs that can be attached to a Group.
16136        '''
16137
16138    def __repr__(self):
16139        return '<sdm.Group ' + \
16140            'description: ' + repr(self.description) + ' ' +\
16141            'id: ' + repr(self.id) + ' ' +\
16142            'name: ' + repr(self.name) + ' ' +\
16143            'source: ' + repr(self.source) + ' ' +\
16144            'tags: ' + repr(self.tags) + ' ' +\
16145            '>'
16146
16147    def to_dict(self):
16148        return {
16149            'description': self.description,
16150            'id': self.id,
16151            'name': self.name,
16152            'source': self.source,
16153            'tags': self.tags,
16154        }
16155
16156    @classmethod
16157    def from_dict(cls, d):
16158        return cls(
16159            description=d.get('description'),
16160            id=d.get('id'),
16161            name=d.get('name'),
16162            source=d.get('source'),
16163            tags=d.get('tags'),
16164        )
16165
16166
16167class GroupCreateFromRolesRequest:
16168    __slots__ = [
16169        'commit',
16170        'role_ids',
16171    ]
16172
16173    def __init__(
16174        self,
16175        commit=None,
16176        role_ids=None,
16177    ):
16178        self.commit = commit if commit is not None else False
16179        '''
16180         Commit
16181        '''
16182        self.role_ids = role_ids if role_ids is not None else []
16183        '''
16184         The unique identifiers of the roles create groups from.
16185        '''
16186
16187    def __repr__(self):
16188        return '<sdm.GroupCreateFromRolesRequest ' + \
16189            'commit: ' + repr(self.commit) + ' ' +\
16190            'role_ids: ' + repr(self.role_ids) + ' ' +\
16191            '>'
16192
16193    def to_dict(self):
16194        return {
16195            'commit': self.commit,
16196            'role_ids': self.role_ids,
16197        }
16198
16199    @classmethod
16200    def from_dict(cls, d):
16201        return cls(
16202            commit=d.get('commit'),
16203            role_ids=d.get('role_ids'),
16204        )
16205
16206
16207class GroupCreateFromRolesResponse:
16208    __slots__ = [
16209        'group_from_role',
16210        'rate_limit',
16211    ]
16212
16213    def __init__(
16214        self,
16215        group_from_role=None,
16216        rate_limit=None,
16217    ):
16218        self.group_from_role = group_from_role if group_from_role is not None else []
16219        '''
16220         The created Group.
16221        '''
16222        self.rate_limit = rate_limit if rate_limit is not None else None
16223        '''
16224         Rate limit information.
16225        '''
16226
16227    def __repr__(self):
16228        return '<sdm.GroupCreateFromRolesResponse ' + \
16229            'group_from_role: ' + repr(self.group_from_role) + ' ' +\
16230            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16231            '>'
16232
16233    def to_dict(self):
16234        return {
16235            'group_from_role': self.group_from_role,
16236            'rate_limit': self.rate_limit,
16237        }
16238
16239    @classmethod
16240    def from_dict(cls, d):
16241        return cls(
16242            group_from_role=d.get('group_from_role'),
16243            rate_limit=d.get('rate_limit'),
16244        )
16245
16246
16247class GroupCreateRequest:
16248    '''
16249         GroupCreateRequest specifies a group to create.
16250    '''
16251    __slots__ = [
16252        'group',
16253    ]
16254
16255    def __init__(
16256        self,
16257        group=None,
16258    ):
16259        self.group = group if group is not None else None
16260        '''
16261         Parameters to define the new Group.
16262        '''
16263
16264    def __repr__(self):
16265        return '<sdm.GroupCreateRequest ' + \
16266            'group: ' + repr(self.group) + ' ' +\
16267            '>'
16268
16269    def to_dict(self):
16270        return {
16271            'group': self.group,
16272        }
16273
16274    @classmethod
16275    def from_dict(cls, d):
16276        return cls(group=d.get('group'), )
16277
16278
16279class GroupCreateResponse:
16280    '''
16281         GroupCreateResponse reports the result of a create.
16282    '''
16283    __slots__ = [
16284        'group',
16285        'rate_limit',
16286    ]
16287
16288    def __init__(
16289        self,
16290        group=None,
16291        rate_limit=None,
16292    ):
16293        self.group = group if group is not None else None
16294        '''
16295         The created Group.
16296        '''
16297        self.rate_limit = rate_limit if rate_limit is not None else None
16298        '''
16299         Rate limit information.
16300        '''
16301
16302    def __repr__(self):
16303        return '<sdm.GroupCreateResponse ' + \
16304            'group: ' + repr(self.group) + ' ' +\
16305            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16306            '>'
16307
16308    def to_dict(self):
16309        return {
16310            'group': self.group,
16311            'rate_limit': self.rate_limit,
16312        }
16313
16314    @classmethod
16315    def from_dict(cls, d):
16316        return cls(
16317            group=d.get('group'),
16318            rate_limit=d.get('rate_limit'),
16319        )
16320
16321
16322class GroupDeleteRequest:
16323    '''
16324         groupDeleteRequest identifies a group by ID to delete.
16325    '''
16326    __slots__ = [
16327        'id',
16328    ]
16329
16330    def __init__(
16331        self,
16332        id=None,
16333    ):
16334        self.id = id if id is not None else ''
16335        '''
16336         The unique identifier of the group to delete.
16337        '''
16338
16339    def __repr__(self):
16340        return '<sdm.GroupDeleteRequest ' + \
16341            'id: ' + repr(self.id) + ' ' +\
16342            '>'
16343
16344    def to_dict(self):
16345        return {
16346            'id': self.id,
16347        }
16348
16349    @classmethod
16350    def from_dict(cls, d):
16351        return cls(id=d.get('id'), )
16352
16353
16354class GroupDeleteResponse:
16355    '''
16356         groupDeleteResponse returns information about a group that was deleted.
16357    '''
16358    __slots__ = [
16359        'meta',
16360        'rate_limit',
16361    ]
16362
16363    def __init__(
16364        self,
16365        meta=None,
16366        rate_limit=None,
16367    ):
16368        self.meta = meta if meta is not None else None
16369        '''
16370         Reserved for future use.
16371        '''
16372        self.rate_limit = rate_limit if rate_limit is not None else None
16373        '''
16374         Rate limit information.
16375        '''
16376
16377    def __repr__(self):
16378        return '<sdm.GroupDeleteResponse ' + \
16379            'meta: ' + repr(self.meta) + ' ' +\
16380            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16381            '>'
16382
16383    def to_dict(self):
16384        return {
16385            'meta': self.meta,
16386            'rate_limit': self.rate_limit,
16387        }
16388
16389    @classmethod
16390    def from_dict(cls, d):
16391        return cls(
16392            meta=d.get('meta'),
16393            rate_limit=d.get('rate_limit'),
16394        )
16395
16396
16397class GroupFromRole:
16398    __slots__ = [
16399        'accounts',
16400        'approval_flows',
16401        'group',
16402        'rate_limit',
16403        'role',
16404    ]
16405
16406    def __init__(
16407        self,
16408        accounts=None,
16409        approval_flows=None,
16410        group=None,
16411        rate_limit=None,
16412        role=None,
16413    ):
16414        self.accounts = accounts if accounts is not None else []
16415        '''
16416         The migrated Accounts.
16417        '''
16418        self.approval_flows = approval_flows if approval_flows is not None else []
16419        '''
16420         The affected approval flows.
16421        '''
16422        self.group = group if group is not None else None
16423        '''
16424         The group created from the source role.
16425        '''
16426        self.rate_limit = rate_limit if rate_limit is not None else None
16427        '''
16428         Rate limit information.
16429        '''
16430        self.role = role if role is not None else None
16431        '''
16432         The source role.
16433        '''
16434
16435    def __repr__(self):
16436        return '<sdm.GroupFromRole ' + \
16437            'accounts: ' + repr(self.accounts) + ' ' +\
16438            'approval_flows: ' + repr(self.approval_flows) + ' ' +\
16439            'group: ' + repr(self.group) + ' ' +\
16440            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16441            'role: ' + repr(self.role) + ' ' +\
16442            '>'
16443
16444    def to_dict(self):
16445        return {
16446            'accounts': self.accounts,
16447            'approval_flows': self.approval_flows,
16448            'group': self.group,
16449            'rate_limit': self.rate_limit,
16450            'role': self.role,
16451        }
16452
16453    @classmethod
16454    def from_dict(cls, d):
16455        return cls(
16456            accounts=d.get('accounts'),
16457            approval_flows=d.get('approval_flows'),
16458            group=d.get('group'),
16459            rate_limit=d.get('rate_limit'),
16460            role=d.get('role'),
16461        )
16462
16463
16464class GroupGetRequest:
16465    '''
16466         GroupGetRequest specifies which Group to retrieve.
16467    '''
16468    __slots__ = [
16469        'id',
16470    ]
16471
16472    def __init__(
16473        self,
16474        id=None,
16475    ):
16476        self.id = id if id is not None else ''
16477        '''
16478         The unique identifier of the Group to retrieve.
16479        '''
16480
16481    def __repr__(self):
16482        return '<sdm.GroupGetRequest ' + \
16483            'id: ' + repr(self.id) + ' ' +\
16484            '>'
16485
16486    def to_dict(self):
16487        return {
16488            'id': self.id,
16489        }
16490
16491    @classmethod
16492    def from_dict(cls, d):
16493        return cls(id=d.get('id'), )
16494
16495
16496class GroupGetResponse:
16497    '''
16498         GroupGetResponse returns a requested Group.
16499    '''
16500    __slots__ = [
16501        'group',
16502        'meta',
16503        'rate_limit',
16504    ]
16505
16506    def __init__(
16507        self,
16508        group=None,
16509        meta=None,
16510        rate_limit=None,
16511    ):
16512        self.group = group if group is not None else None
16513        '''
16514         The requested Group.
16515        '''
16516        self.meta = meta if meta is not None else None
16517        '''
16518         Reserved for future use.
16519        '''
16520        self.rate_limit = rate_limit if rate_limit is not None else None
16521        '''
16522         Rate limit information.
16523        '''
16524
16525    def __repr__(self):
16526        return '<sdm.GroupGetResponse ' + \
16527            'group: ' + repr(self.group) + ' ' +\
16528            'meta: ' + repr(self.meta) + ' ' +\
16529            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16530            '>'
16531
16532    def to_dict(self):
16533        return {
16534            'group': self.group,
16535            'meta': self.meta,
16536            'rate_limit': self.rate_limit,
16537        }
16538
16539    @classmethod
16540    def from_dict(cls, d):
16541        return cls(
16542            group=d.get('group'),
16543            meta=d.get('meta'),
16544            rate_limit=d.get('rate_limit'),
16545        )
16546
16547
16548class GroupHistory:
16549    '''
16550         GroupHistory records the state of a Group at a given point in time,
16551     where every change (create, update and delete) to a Group produces a
16552     GroupHistory record.
16553    '''
16554    __slots__ = [
16555        'activity_id',
16556        'deleted_at',
16557        'group',
16558        'timestamp',
16559    ]
16560
16561    def __init__(
16562        self,
16563        activity_id=None,
16564        deleted_at=None,
16565        group=None,
16566        timestamp=None,
16567    ):
16568        self.activity_id = activity_id if activity_id is not None else ''
16569        '''
16570         The unique identifier of the Activity that produced this change to the Group.
16571         May be empty for some system-initiated updates.
16572        '''
16573        self.deleted_at = deleted_at if deleted_at is not None else None
16574        '''
16575         If this Group was deleted, the time it was deleted.
16576        '''
16577        self.group = group if group is not None else None
16578        '''
16579         The complete Group state at this time.
16580        '''
16581        self.timestamp = timestamp if timestamp is not None else None
16582        '''
16583         The time at which the Group state was recorded.
16584        '''
16585
16586    def __repr__(self):
16587        return '<sdm.GroupHistory ' + \
16588            'activity_id: ' + repr(self.activity_id) + ' ' +\
16589            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16590            'group: ' + repr(self.group) + ' ' +\
16591            'timestamp: ' + repr(self.timestamp) + ' ' +\
16592            '>'
16593
16594    def to_dict(self):
16595        return {
16596            'activity_id': self.activity_id,
16597            'deleted_at': self.deleted_at,
16598            'group': self.group,
16599            'timestamp': self.timestamp,
16600        }
16601
16602    @classmethod
16603    def from_dict(cls, d):
16604        return cls(
16605            activity_id=d.get('activity_id'),
16606            deleted_at=d.get('deleted_at'),
16607            group=d.get('group'),
16608            timestamp=d.get('timestamp'),
16609        )
16610
16611
16612class GroupListRequest:
16613    '''
16614         groupListRequest specifies criteria for retrieving a list of groups.
16615    '''
16616    __slots__ = [
16617        'filter',
16618    ]
16619
16620    def __init__(
16621        self,
16622        filter=None,
16623    ):
16624        self.filter = filter if filter is not None else ''
16625        '''
16626         A human-readable filter query string.
16627        '''
16628
16629    def __repr__(self):
16630        return '<sdm.GroupListRequest ' + \
16631            'filter: ' + repr(self.filter) + ' ' +\
16632            '>'
16633
16634    def to_dict(self):
16635        return {
16636            'filter': self.filter,
16637        }
16638
16639    @classmethod
16640    def from_dict(cls, d):
16641        return cls(filter=d.get('filter'), )
16642
16643
16644class GroupListResponse:
16645    '''
16646         groupListResponse returns a list of groups that meet the criteria of a
16647     groupListRequest.
16648    '''
16649    __slots__ = [
16650        'rate_limit',
16651    ]
16652
16653    def __init__(
16654        self,
16655        rate_limit=None,
16656    ):
16657        self.rate_limit = rate_limit if rate_limit is not None else None
16658        '''
16659         Rate limit information.
16660        '''
16661
16662    def __repr__(self):
16663        return '<sdm.GroupListResponse ' + \
16664            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16665            '>'
16666
16667    def to_dict(self):
16668        return {
16669            'rate_limit': self.rate_limit,
16670        }
16671
16672    @classmethod
16673    def from_dict(cls, d):
16674        return cls(rate_limit=d.get('rate_limit'), )
16675
16676
16677class GroupRole:
16678    '''
16679         A GroupRole assigns a Group to a Role.
16680    '''
16681    __slots__ = [
16682        'group_id',
16683        'id',
16684        'role_id',
16685    ]
16686
16687    def __init__(
16688        self,
16689        group_id=None,
16690        id=None,
16691        role_id=None,
16692    ):
16693        self.group_id = group_id if group_id is not None else ''
16694        '''
16695         The assigned Group ID.
16696        '''
16697        self.id = id if id is not None else ''
16698        '''
16699         Unique identifier of the GroupRole.
16700        '''
16701        self.role_id = role_id if role_id is not None else ''
16702        '''
16703         The assigned Role ID.
16704        '''
16705
16706    def __repr__(self):
16707        return '<sdm.GroupRole ' + \
16708            'group_id: ' + repr(self.group_id) + ' ' +\
16709            'id: ' + repr(self.id) + ' ' +\
16710            'role_id: ' + repr(self.role_id) + ' ' +\
16711            '>'
16712
16713    def to_dict(self):
16714        return {
16715            'group_id': self.group_id,
16716            'id': self.id,
16717            'role_id': self.role_id,
16718        }
16719
16720    @classmethod
16721    def from_dict(cls, d):
16722        return cls(
16723            group_id=d.get('group_id'),
16724            id=d.get('id'),
16725            role_id=d.get('role_id'),
16726        )
16727
16728
16729class GroupRoleCreateRequest:
16730    '''
16731         GroupRoleCreateRequest specifies a group role to create.
16732    '''
16733    __slots__ = [
16734        'group_role',
16735    ]
16736
16737    def __init__(
16738        self,
16739        group_role=None,
16740    ):
16741        self.group_role = group_role if group_role is not None else None
16742        '''
16743         Parameters to define the new GroupRole.
16744        '''
16745
16746    def __repr__(self):
16747        return '<sdm.GroupRoleCreateRequest ' + \
16748            'group_role: ' + repr(self.group_role) + ' ' +\
16749            '>'
16750
16751    def to_dict(self):
16752        return {
16753            'group_role': self.group_role,
16754        }
16755
16756    @classmethod
16757    def from_dict(cls, d):
16758        return cls(group_role=d.get('group_role'), )
16759
16760
16761class GroupRoleCreateResponse:
16762    '''
16763         GroupRoleCreateResponse reports the result of a create.
16764    '''
16765    __slots__ = [
16766        'group_role',
16767        'rate_limit',
16768    ]
16769
16770    def __init__(
16771        self,
16772        group_role=None,
16773        rate_limit=None,
16774    ):
16775        self.group_role = group_role if group_role is not None else None
16776        '''
16777         The created GroupRole.
16778        '''
16779        self.rate_limit = rate_limit if rate_limit is not None else None
16780        '''
16781         Rate limit information.
16782        '''
16783
16784    def __repr__(self):
16785        return '<sdm.GroupRoleCreateResponse ' + \
16786            'group_role: ' + repr(self.group_role) + ' ' +\
16787            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16788            '>'
16789
16790    def to_dict(self):
16791        return {
16792            'group_role': self.group_role,
16793            'rate_limit': self.rate_limit,
16794        }
16795
16796    @classmethod
16797    def from_dict(cls, d):
16798        return cls(
16799            group_role=d.get('group_role'),
16800            rate_limit=d.get('rate_limit'),
16801        )
16802
16803
16804class GroupRoleDeleteRequest:
16805    '''
16806         GroupRoleDeleteRequest identifies a group role by ID to delete.
16807    '''
16808    __slots__ = [
16809        'id',
16810    ]
16811
16812    def __init__(
16813        self,
16814        id=None,
16815    ):
16816        self.id = id if id is not None else ''
16817        '''
16818         The unique identifier of the group to delete.
16819        '''
16820
16821    def __repr__(self):
16822        return '<sdm.GroupRoleDeleteRequest ' + \
16823            'id: ' + repr(self.id) + ' ' +\
16824            '>'
16825
16826    def to_dict(self):
16827        return {
16828            'id': self.id,
16829        }
16830
16831    @classmethod
16832    def from_dict(cls, d):
16833        return cls(id=d.get('id'), )
16834
16835
16836class GroupRoleDeleteResponse:
16837    '''
16838         GroupRoleDeleteResponse returns information about a group that was deleted.
16839    '''
16840    __slots__ = [
16841        'group_role',
16842        'meta',
16843        'rate_limit',
16844    ]
16845
16846    def __init__(
16847        self,
16848        group_role=None,
16849        meta=None,
16850        rate_limit=None,
16851    ):
16852        self.group_role = group_role if group_role is not None else None
16853        '''
16854         The deleted GroupRole.
16855        '''
16856        self.meta = meta if meta is not None else None
16857        '''
16858         Reserved for future use.
16859        '''
16860        self.rate_limit = rate_limit if rate_limit is not None else None
16861        '''
16862         Rate limit information.
16863        '''
16864
16865    def __repr__(self):
16866        return '<sdm.GroupRoleDeleteResponse ' + \
16867            'group_role: ' + repr(self.group_role) + ' ' +\
16868            'meta: ' + repr(self.meta) + ' ' +\
16869            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16870            '>'
16871
16872    def to_dict(self):
16873        return {
16874            'group_role': self.group_role,
16875            'meta': self.meta,
16876            'rate_limit': self.rate_limit,
16877        }
16878
16879    @classmethod
16880    def from_dict(cls, d):
16881        return cls(
16882            group_role=d.get('group_role'),
16883            meta=d.get('meta'),
16884            rate_limit=d.get('rate_limit'),
16885        )
16886
16887
16888class GroupRoleGetRequest:
16889    '''
16890         GroupRoleGetRequest specifies which GroupRole to retrieve.
16891    '''
16892    __slots__ = [
16893        'id',
16894    ]
16895
16896    def __init__(
16897        self,
16898        id=None,
16899    ):
16900        self.id = id if id is not None else ''
16901        '''
16902         The unique identifier of the GroupRole to retrieve.
16903        '''
16904
16905    def __repr__(self):
16906        return '<sdm.GroupRoleGetRequest ' + \
16907            'id: ' + repr(self.id) + ' ' +\
16908            '>'
16909
16910    def to_dict(self):
16911        return {
16912            'id': self.id,
16913        }
16914
16915    @classmethod
16916    def from_dict(cls, d):
16917        return cls(id=d.get('id'), )
16918
16919
16920class GroupRoleGetResponse:
16921    '''
16922         GroupRoleGetResponse returns a requested GroupRole.
16923    '''
16924    __slots__ = [
16925        'group_role',
16926        'meta',
16927        'rate_limit',
16928    ]
16929
16930    def __init__(
16931        self,
16932        group_role=None,
16933        meta=None,
16934        rate_limit=None,
16935    ):
16936        self.group_role = group_role if group_role is not None else None
16937        '''
16938         The requested GroupRole.
16939        '''
16940        self.meta = meta if meta is not None else None
16941        '''
16942         Reserved for future use.
16943        '''
16944        self.rate_limit = rate_limit if rate_limit is not None else None
16945        '''
16946         Rate limit information.
16947        '''
16948
16949    def __repr__(self):
16950        return '<sdm.GroupRoleGetResponse ' + \
16951            'group_role: ' + repr(self.group_role) + ' ' +\
16952            'meta: ' + repr(self.meta) + ' ' +\
16953            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16954            '>'
16955
16956    def to_dict(self):
16957        return {
16958            'group_role': self.group_role,
16959            'meta': self.meta,
16960            'rate_limit': self.rate_limit,
16961        }
16962
16963    @classmethod
16964    def from_dict(cls, d):
16965        return cls(
16966            group_role=d.get('group_role'),
16967            meta=d.get('meta'),
16968            rate_limit=d.get('rate_limit'),
16969        )
16970
16971
16972class GroupRoleHistory:
16973    '''
16974         GroupRoleHistory records the state of a GroupRole at a given point in time,
16975     where every change (create, update and delete) to a GroupRole produces a
16976     GroupRoleHistory record.
16977    '''
16978    __slots__ = [
16979        'activity_id',
16980        'deleted_at',
16981        'group_role',
16982        'timestamp',
16983    ]
16984
16985    def __init__(
16986        self,
16987        activity_id=None,
16988        deleted_at=None,
16989        group_role=None,
16990        timestamp=None,
16991    ):
16992        self.activity_id = activity_id if activity_id is not None else ''
16993        '''
16994         The unique identifier of the Activity that produced this change to the GroupRole.
16995         May be empty for some system-initiated updates.
16996        '''
16997        self.deleted_at = deleted_at if deleted_at is not None else None
16998        '''
16999         If this GroupRole was deleted, the time it was deleted.
17000        '''
17001        self.group_role = group_role if group_role is not None else None
17002        '''
17003         The complete GroupRole state at this time.
17004        '''
17005        self.timestamp = timestamp if timestamp is not None else None
17006        '''
17007         The time at which the GroupRole state was recorded.
17008        '''
17009
17010    def __repr__(self):
17011        return '<sdm.GroupRoleHistory ' + \
17012            'activity_id: ' + repr(self.activity_id) + ' ' +\
17013            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
17014            'group_role: ' + repr(self.group_role) + ' ' +\
17015            'timestamp: ' + repr(self.timestamp) + ' ' +\
17016            '>'
17017
17018    def to_dict(self):
17019        return {
17020            'activity_id': self.activity_id,
17021            'deleted_at': self.deleted_at,
17022            'group_role': self.group_role,
17023            'timestamp': self.timestamp,
17024        }
17025
17026    @classmethod
17027    def from_dict(cls, d):
17028        return cls(
17029            activity_id=d.get('activity_id'),
17030            deleted_at=d.get('deleted_at'),
17031            group_role=d.get('group_role'),
17032            timestamp=d.get('timestamp'),
17033        )
17034
17035
17036class GroupRoleListRequest:
17037    '''
17038         GroupRoleListRequest specifies criteria for retrieving a list of groups.
17039    '''
17040    __slots__ = [
17041        'filter',
17042    ]
17043
17044    def __init__(
17045        self,
17046        filter=None,
17047    ):
17048        self.filter = filter if filter is not None else ''
17049        '''
17050         A human-readable filter query string.
17051        '''
17052
17053    def __repr__(self):
17054        return '<sdm.GroupRoleListRequest ' + \
17055            'filter: ' + repr(self.filter) + ' ' +\
17056            '>'
17057
17058    def to_dict(self):
17059        return {
17060            'filter': self.filter,
17061        }
17062
17063    @classmethod
17064    def from_dict(cls, d):
17065        return cls(filter=d.get('filter'), )
17066
17067
17068class GroupRoleListResponse:
17069    '''
17070         GroupRoleListResponse returns a list of group roles that meet the criteria of a
17071     GroupRoleListRequest.
17072    '''
17073    __slots__ = [
17074        'rate_limit',
17075    ]
17076
17077    def __init__(
17078        self,
17079        rate_limit=None,
17080    ):
17081        self.rate_limit = rate_limit if rate_limit is not None else None
17082        '''
17083         Rate limit information.
17084        '''
17085
17086    def __repr__(self):
17087        return '<sdm.GroupRoleListResponse ' + \
17088            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17089            '>'
17090
17091    def to_dict(self):
17092        return {
17093            'rate_limit': self.rate_limit,
17094        }
17095
17096    @classmethod
17097    def from_dict(cls, d):
17098        return cls(rate_limit=d.get('rate_limit'), )
17099
17100
17101class GroupUpdateRequest:
17102    '''
17103         GroupUpdateRequest updates a group.
17104    '''
17105    __slots__ = [
17106        'group',
17107    ]
17108
17109    def __init__(
17110        self,
17111        group=None,
17112    ):
17113        self.group = group if group is not None else None
17114        '''
17115         Parameters to overwrite the specified group.
17116        '''
17117
17118    def __repr__(self):
17119        return '<sdm.GroupUpdateRequest ' + \
17120            'group: ' + repr(self.group) + ' ' +\
17121            '>'
17122
17123    def to_dict(self):
17124        return {
17125            'group': self.group,
17126        }
17127
17128    @classmethod
17129    def from_dict(cls, d):
17130        return cls(group=d.get('group'), )
17131
17132
17133class GroupUpdateResponse:
17134    '''
17135         groupUpdateResponse returns the fields of a group after it has been updated by
17136     a groupUpdateRequest.
17137    '''
17138    __slots__ = [
17139        'group',
17140        'rate_limit',
17141    ]
17142
17143    def __init__(
17144        self,
17145        group=None,
17146        rate_limit=None,
17147    ):
17148        self.group = group if group is not None else None
17149        '''
17150         The updated group.
17151        '''
17152        self.rate_limit = rate_limit if rate_limit is not None else None
17153        '''
17154         Rate limit information.
17155        '''
17156
17157    def __repr__(self):
17158        return '<sdm.GroupUpdateResponse ' + \
17159            'group: ' + repr(self.group) + ' ' +\
17160            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17161            '>'
17162
17163    def to_dict(self):
17164        return {
17165            'group': self.group,
17166            'rate_limit': self.rate_limit,
17167        }
17168
17169    @classmethod
17170    def from_dict(cls, d):
17171        return cls(
17172            group=d.get('group'),
17173            rate_limit=d.get('rate_limit'),
17174        )
17175
17176
17177class HTTPAuth:
17178    __slots__ = [
17179        'auth_header',
17180        'bind_interface',
17181        'custom_headers',
17182        'default_path',
17183        'egress_filter',
17184        'headers_blacklist',
17185        'healthcheck_path',
17186        'healthy',
17187        'host_override',
17188        'id',
17189        'name',
17190        'port_override',
17191        'proxy_cluster_id',
17192        'secret_store_id',
17193        'subdomain',
17194        'tags',
17195        'tls_required',
17196        'url',
17197    ]
17198
17199    def __init__(
17200        self,
17201        auth_header=None,
17202        bind_interface=None,
17203        custom_headers=None,
17204        default_path=None,
17205        egress_filter=None,
17206        headers_blacklist=None,
17207        healthcheck_path=None,
17208        healthy=None,
17209        host_override=None,
17210        id=None,
17211        name=None,
17212        port_override=None,
17213        proxy_cluster_id=None,
17214        secret_store_id=None,
17215        subdomain=None,
17216        tags=None,
17217        tls_required=None,
17218        url=None,
17219    ):
17220        self.auth_header = auth_header if auth_header is not None else ''
17221        '''
17222         The content to set as the authorization header.
17223        '''
17224        self.bind_interface = bind_interface if bind_interface is not None else ''
17225        '''
17226         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17227        '''
17228        self.custom_headers = custom_headers if custom_headers is not None else None
17229        '''
17230         Additional HTTP headers to include in requests.
17231        '''
17232        self.default_path = default_path if default_path is not None else ''
17233        '''
17234         Automatically redirect to this path upon connecting.
17235        '''
17236        self.egress_filter = egress_filter if egress_filter is not None else ''
17237        '''
17238         A filter applied to the routing logic to pin datasource to nodes.
17239        '''
17240        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17241        '''
17242         Header names (e.g. Authorization), to omit from logs.
17243        '''
17244        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17245        '''
17246         This path will be used to check the health of your site.
17247        '''
17248        self.healthy = healthy if healthy is not None else False
17249        '''
17250         True if the datasource is reachable and the credentials are valid.
17251        '''
17252        self.host_override = host_override if host_override is not None else ''
17253        '''
17254         The host header will be overwritten with this field if provided.
17255        '''
17256        self.id = id if id is not None else ''
17257        '''
17258         Unique identifier of the Resource.
17259        '''
17260        self.name = name if name is not None else ''
17261        '''
17262         Unique human-readable name of the Resource.
17263        '''
17264        self.port_override = port_override if port_override is not None else 0
17265        '''
17266         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17267        '''
17268        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17269        '''
17270         ID of the proxy cluster for this resource, if any.
17271        '''
17272        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17273        '''
17274         ID of the secret store containing credentials for this resource, if any.
17275        '''
17276        self.subdomain = subdomain if subdomain is not None else ''
17277        '''
17278         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17279        '''
17280        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17281        '''
17282         Tags is a map of key, value pairs.
17283        '''
17284        self.tls_required = tls_required if tls_required is not None else False
17285        '''
17286         This option enforces HTTPS on the client, not resource connection.
17287        '''
17288        self.url = url if url is not None else ''
17289        '''
17290         The base address of your website without the path.
17291        '''
17292
17293    def __repr__(self):
17294        return '<sdm.HTTPAuth ' + \
17295            'auth_header: ' + repr(self.auth_header) + ' ' +\
17296            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17297            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
17298            'default_path: ' + repr(self.default_path) + ' ' +\
17299            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17300            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
17301            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
17302            'healthy: ' + repr(self.healthy) + ' ' +\
17303            'host_override: ' + repr(self.host_override) + ' ' +\
17304            'id: ' + repr(self.id) + ' ' +\
17305            'name: ' + repr(self.name) + ' ' +\
17306            'port_override: ' + repr(self.port_override) + ' ' +\
17307            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17308            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17309            'subdomain: ' + repr(self.subdomain) + ' ' +\
17310            'tags: ' + repr(self.tags) + ' ' +\
17311            'tls_required: ' + repr(self.tls_required) + ' ' +\
17312            'url: ' + repr(self.url) + ' ' +\
17313            '>'
17314
17315    def to_dict(self):
17316        return {
17317            'auth_header': self.auth_header,
17318            'bind_interface': self.bind_interface,
17319            'custom_headers': self.custom_headers,
17320            'default_path': self.default_path,
17321            'egress_filter': self.egress_filter,
17322            'headers_blacklist': self.headers_blacklist,
17323            'healthcheck_path': self.healthcheck_path,
17324            'healthy': self.healthy,
17325            'host_override': self.host_override,
17326            'id': self.id,
17327            'name': self.name,
17328            'port_override': self.port_override,
17329            'proxy_cluster_id': self.proxy_cluster_id,
17330            'secret_store_id': self.secret_store_id,
17331            'subdomain': self.subdomain,
17332            'tags': self.tags,
17333            'tls_required': self.tls_required,
17334            'url': self.url,
17335        }
17336
17337    @classmethod
17338    def from_dict(cls, d):
17339        return cls(
17340            auth_header=d.get('auth_header'),
17341            bind_interface=d.get('bind_interface'),
17342            custom_headers=d.get('custom_headers'),
17343            default_path=d.get('default_path'),
17344            egress_filter=d.get('egress_filter'),
17345            headers_blacklist=d.get('headers_blacklist'),
17346            healthcheck_path=d.get('healthcheck_path'),
17347            healthy=d.get('healthy'),
17348            host_override=d.get('host_override'),
17349            id=d.get('id'),
17350            name=d.get('name'),
17351            port_override=d.get('port_override'),
17352            proxy_cluster_id=d.get('proxy_cluster_id'),
17353            secret_store_id=d.get('secret_store_id'),
17354            subdomain=d.get('subdomain'),
17355            tags=d.get('tags'),
17356            tls_required=d.get('tls_required'),
17357            url=d.get('url'),
17358        )
17359
17360
17361class HTTPBasicAuth:
17362    __slots__ = [
17363        'bind_interface',
17364        'custom_headers',
17365        'default_path',
17366        'egress_filter',
17367        'headers_blacklist',
17368        'healthcheck_path',
17369        'healthy',
17370        'host_override',
17371        'id',
17372        'name',
17373        'password',
17374        'port_override',
17375        'proxy_cluster_id',
17376        'secret_store_id',
17377        'subdomain',
17378        'tags',
17379        'tls_required',
17380        'url',
17381        'username',
17382    ]
17383
17384    def __init__(
17385        self,
17386        bind_interface=None,
17387        custom_headers=None,
17388        default_path=None,
17389        egress_filter=None,
17390        headers_blacklist=None,
17391        healthcheck_path=None,
17392        healthy=None,
17393        host_override=None,
17394        id=None,
17395        name=None,
17396        password=None,
17397        port_override=None,
17398        proxy_cluster_id=None,
17399        secret_store_id=None,
17400        subdomain=None,
17401        tags=None,
17402        tls_required=None,
17403        url=None,
17404        username=None,
17405    ):
17406        self.bind_interface = bind_interface if bind_interface is not None else ''
17407        '''
17408         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17409        '''
17410        self.custom_headers = custom_headers if custom_headers is not None else None
17411        '''
17412         Additional HTTP headers to include in requests.
17413        '''
17414        self.default_path = default_path if default_path is not None else ''
17415        '''
17416         Automatically redirect to this path upon connecting.
17417        '''
17418        self.egress_filter = egress_filter if egress_filter is not None else ''
17419        '''
17420         A filter applied to the routing logic to pin datasource to nodes.
17421        '''
17422        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17423        '''
17424         Header names (e.g. Authorization), to omit from logs.
17425        '''
17426        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17427        '''
17428         This path will be used to check the health of your site.
17429        '''
17430        self.healthy = healthy if healthy is not None else False
17431        '''
17432         True if the datasource is reachable and the credentials are valid.
17433        '''
17434        self.host_override = host_override if host_override is not None else ''
17435        '''
17436         The host header will be overwritten with this field if provided.
17437        '''
17438        self.id = id if id is not None else ''
17439        '''
17440         Unique identifier of the Resource.
17441        '''
17442        self.name = name if name is not None else ''
17443        '''
17444         Unique human-readable name of the Resource.
17445        '''
17446        self.password = password if password is not None else ''
17447        '''
17448         The password to authenticate with.
17449        '''
17450        self.port_override = port_override if port_override is not None else 0
17451        '''
17452         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17453        '''
17454        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17455        '''
17456         ID of the proxy cluster for this resource, if any.
17457        '''
17458        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17459        '''
17460         ID of the secret store containing credentials for this resource, if any.
17461        '''
17462        self.subdomain = subdomain if subdomain is not None else ''
17463        '''
17464         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17465        '''
17466        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17467        '''
17468         Tags is a map of key, value pairs.
17469        '''
17470        self.tls_required = tls_required if tls_required is not None else False
17471        '''
17472         This option enforces HTTPS on the client, not resource connection.
17473        '''
17474        self.url = url if url is not None else ''
17475        '''
17476         The base address of your website without the path.
17477        '''
17478        self.username = username if username is not None else ''
17479        '''
17480         The username to authenticate with.
17481        '''
17482
17483    def __repr__(self):
17484        return '<sdm.HTTPBasicAuth ' + \
17485            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17486            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
17487            'default_path: ' + repr(self.default_path) + ' ' +\
17488            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17489            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
17490            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
17491            'healthy: ' + repr(self.healthy) + ' ' +\
17492            'host_override: ' + repr(self.host_override) + ' ' +\
17493            'id: ' + repr(self.id) + ' ' +\
17494            'name: ' + repr(self.name) + ' ' +\
17495            'password: ' + repr(self.password) + ' ' +\
17496            'port_override: ' + repr(self.port_override) + ' ' +\
17497            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17498            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17499            'subdomain: ' + repr(self.subdomain) + ' ' +\
17500            'tags: ' + repr(self.tags) + ' ' +\
17501            'tls_required: ' + repr(self.tls_required) + ' ' +\
17502            'url: ' + repr(self.url) + ' ' +\
17503            'username: ' + repr(self.username) + ' ' +\
17504            '>'
17505
17506    def to_dict(self):
17507        return {
17508            'bind_interface': self.bind_interface,
17509            'custom_headers': self.custom_headers,
17510            'default_path': self.default_path,
17511            'egress_filter': self.egress_filter,
17512            'headers_blacklist': self.headers_blacklist,
17513            'healthcheck_path': self.healthcheck_path,
17514            'healthy': self.healthy,
17515            'host_override': self.host_override,
17516            'id': self.id,
17517            'name': self.name,
17518            'password': self.password,
17519            'port_override': self.port_override,
17520            'proxy_cluster_id': self.proxy_cluster_id,
17521            'secret_store_id': self.secret_store_id,
17522            'subdomain': self.subdomain,
17523            'tags': self.tags,
17524            'tls_required': self.tls_required,
17525            'url': self.url,
17526            'username': self.username,
17527        }
17528
17529    @classmethod
17530    def from_dict(cls, d):
17531        return cls(
17532            bind_interface=d.get('bind_interface'),
17533            custom_headers=d.get('custom_headers'),
17534            default_path=d.get('default_path'),
17535            egress_filter=d.get('egress_filter'),
17536            headers_blacklist=d.get('headers_blacklist'),
17537            healthcheck_path=d.get('healthcheck_path'),
17538            healthy=d.get('healthy'),
17539            host_override=d.get('host_override'),
17540            id=d.get('id'),
17541            name=d.get('name'),
17542            password=d.get('password'),
17543            port_override=d.get('port_override'),
17544            proxy_cluster_id=d.get('proxy_cluster_id'),
17545            secret_store_id=d.get('secret_store_id'),
17546            subdomain=d.get('subdomain'),
17547            tags=d.get('tags'),
17548            tls_required=d.get('tls_required'),
17549            url=d.get('url'),
17550            username=d.get('username'),
17551        )
17552
17553
17554class HTTPNoAuth:
17555    __slots__ = [
17556        'bind_interface',
17557        'custom_headers',
17558        'default_path',
17559        'egress_filter',
17560        'headers_blacklist',
17561        'healthcheck_path',
17562        'healthy',
17563        'host_override',
17564        'id',
17565        'name',
17566        'port_override',
17567        'proxy_cluster_id',
17568        'secret_store_id',
17569        'subdomain',
17570        'tags',
17571        'tls_required',
17572        'url',
17573    ]
17574
17575    def __init__(
17576        self,
17577        bind_interface=None,
17578        custom_headers=None,
17579        default_path=None,
17580        egress_filter=None,
17581        headers_blacklist=None,
17582        healthcheck_path=None,
17583        healthy=None,
17584        host_override=None,
17585        id=None,
17586        name=None,
17587        port_override=None,
17588        proxy_cluster_id=None,
17589        secret_store_id=None,
17590        subdomain=None,
17591        tags=None,
17592        tls_required=None,
17593        url=None,
17594    ):
17595        self.bind_interface = bind_interface if bind_interface is not None else ''
17596        '''
17597         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17598        '''
17599        self.custom_headers = custom_headers if custom_headers is not None else None
17600        '''
17601         Additional HTTP headers to include in requests.
17602        '''
17603        self.default_path = default_path if default_path is not None else ''
17604        '''
17605         Automatically redirect to this path upon connecting.
17606        '''
17607        self.egress_filter = egress_filter if egress_filter is not None else ''
17608        '''
17609         A filter applied to the routing logic to pin datasource to nodes.
17610        '''
17611        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17612        '''
17613         Header names (e.g. Authorization), to omit from logs.
17614        '''
17615        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17616        '''
17617         This path will be used to check the health of your site.
17618        '''
17619        self.healthy = healthy if healthy is not None else False
17620        '''
17621         True if the datasource is reachable and the credentials are valid.
17622        '''
17623        self.host_override = host_override if host_override is not None else ''
17624        '''
17625         The host header will be overwritten with this field if provided.
17626        '''
17627        self.id = id if id is not None else ''
17628        '''
17629         Unique identifier of the Resource.
17630        '''
17631        self.name = name if name is not None else ''
17632        '''
17633         Unique human-readable name of the Resource.
17634        '''
17635        self.port_override = port_override if port_override is not None else 0
17636        '''
17637         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17638        '''
17639        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17640        '''
17641         ID of the proxy cluster for this resource, if any.
17642        '''
17643        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17644        '''
17645         ID of the secret store containing credentials for this resource, if any.
17646        '''
17647        self.subdomain = subdomain if subdomain is not None else ''
17648        '''
17649         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17650        '''
17651        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17652        '''
17653         Tags is a map of key, value pairs.
17654        '''
17655        self.tls_required = tls_required if tls_required is not None else False
17656        '''
17657         This option enforces HTTPS on the client, not resource connection.
17658        '''
17659        self.url = url if url is not None else ''
17660        '''
17661         The base address of your website without the path.
17662        '''
17663
17664    def __repr__(self):
17665        return '<sdm.HTTPNoAuth ' + \
17666            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17667            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
17668            'default_path: ' + repr(self.default_path) + ' ' +\
17669            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17670            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
17671            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
17672            'healthy: ' + repr(self.healthy) + ' ' +\
17673            'host_override: ' + repr(self.host_override) + ' ' +\
17674            'id: ' + repr(self.id) + ' ' +\
17675            'name: ' + repr(self.name) + ' ' +\
17676            'port_override: ' + repr(self.port_override) + ' ' +\
17677            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17678            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17679            'subdomain: ' + repr(self.subdomain) + ' ' +\
17680            'tags: ' + repr(self.tags) + ' ' +\
17681            'tls_required: ' + repr(self.tls_required) + ' ' +\
17682            'url: ' + repr(self.url) + ' ' +\
17683            '>'
17684
17685    def to_dict(self):
17686        return {
17687            'bind_interface': self.bind_interface,
17688            'custom_headers': self.custom_headers,
17689            'default_path': self.default_path,
17690            'egress_filter': self.egress_filter,
17691            'headers_blacklist': self.headers_blacklist,
17692            'healthcheck_path': self.healthcheck_path,
17693            'healthy': self.healthy,
17694            'host_override': self.host_override,
17695            'id': self.id,
17696            'name': self.name,
17697            'port_override': self.port_override,
17698            'proxy_cluster_id': self.proxy_cluster_id,
17699            'secret_store_id': self.secret_store_id,
17700            'subdomain': self.subdomain,
17701            'tags': self.tags,
17702            'tls_required': self.tls_required,
17703            'url': self.url,
17704        }
17705
17706    @classmethod
17707    def from_dict(cls, d):
17708        return cls(
17709            bind_interface=d.get('bind_interface'),
17710            custom_headers=d.get('custom_headers'),
17711            default_path=d.get('default_path'),
17712            egress_filter=d.get('egress_filter'),
17713            headers_blacklist=d.get('headers_blacklist'),
17714            healthcheck_path=d.get('healthcheck_path'),
17715            healthy=d.get('healthy'),
17716            host_override=d.get('host_override'),
17717            id=d.get('id'),
17718            name=d.get('name'),
17719            port_override=d.get('port_override'),
17720            proxy_cluster_id=d.get('proxy_cluster_id'),
17721            secret_store_id=d.get('secret_store_id'),
17722            subdomain=d.get('subdomain'),
17723            tags=d.get('tags'),
17724            tls_required=d.get('tls_required'),
17725            url=d.get('url'),
17726        )
17727
17728
17729class Healthcheck:
17730    '''
17731         Healthcheck defines the status of the link between a node and a resource
17732    '''
17733    __slots__ = [
17734        'error_msg',
17735        'healthy',
17736        'id',
17737        'node_id',
17738        'node_name',
17739        'resource_id',
17740        'resource_name',
17741        'timestamp',
17742    ]
17743
17744    def __init__(
17745        self,
17746        error_msg=None,
17747        healthy=None,
17748        id=None,
17749        node_id=None,
17750        node_name=None,
17751        resource_id=None,
17752        resource_name=None,
17753        timestamp=None,
17754    ):
17755        self.error_msg = error_msg if error_msg is not None else ''
17756        '''
17757         The error if unhealthy
17758        '''
17759        self.healthy = healthy if healthy is not None else False
17760        '''
17761         Whether the healthcheck succeeded.
17762        '''
17763        self.id = id if id is not None else ''
17764        '''
17765         Unique identifier of the healthcheck.
17766        '''
17767        self.node_id = node_id if node_id is not None else ''
17768        '''
17769         Unique identifier of the healthcheck node.
17770        '''
17771        self.node_name = node_name if node_name is not None else ''
17772        '''
17773         The name of the node.
17774        '''
17775        self.resource_id = resource_id if resource_id is not None else ''
17776        '''
17777         Unique identifier of the healthcheck resource.
17778        '''
17779        self.resource_name = resource_name if resource_name is not None else ''
17780        '''
17781         The name of the resource.
17782        '''
17783        self.timestamp = timestamp if timestamp is not None else None
17784        '''
17785         The time at which the healthcheck state was recorded.
17786        '''
17787
17788    def __repr__(self):
17789        return '<sdm.Healthcheck ' + \
17790            'error_msg: ' + repr(self.error_msg) + ' ' +\
17791            'healthy: ' + repr(self.healthy) + ' ' +\
17792            'id: ' + repr(self.id) + ' ' +\
17793            'node_id: ' + repr(self.node_id) + ' ' +\
17794            'node_name: ' + repr(self.node_name) + ' ' +\
17795            'resource_id: ' + repr(self.resource_id) + ' ' +\
17796            'resource_name: ' + repr(self.resource_name) + ' ' +\
17797            'timestamp: ' + repr(self.timestamp) + ' ' +\
17798            '>'
17799
17800    def to_dict(self):
17801        return {
17802            'error_msg': self.error_msg,
17803            'healthy': self.healthy,
17804            'id': self.id,
17805            'node_id': self.node_id,
17806            'node_name': self.node_name,
17807            'resource_id': self.resource_id,
17808            'resource_name': self.resource_name,
17809            'timestamp': self.timestamp,
17810        }
17811
17812    @classmethod
17813    def from_dict(cls, d):
17814        return cls(
17815            error_msg=d.get('error_msg'),
17816            healthy=d.get('healthy'),
17817            id=d.get('id'),
17818            node_id=d.get('node_id'),
17819            node_name=d.get('node_name'),
17820            resource_id=d.get('resource_id'),
17821            resource_name=d.get('resource_name'),
17822            timestamp=d.get('timestamp'),
17823        )
17824
17825
17826class HealthcheckListResponse:
17827    '''
17828         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
17829     HealthcheckListRequest.
17830    '''
17831    __slots__ = [
17832        'rate_limit',
17833    ]
17834
17835    def __init__(
17836        self,
17837        rate_limit=None,
17838    ):
17839        self.rate_limit = rate_limit if rate_limit is not None else None
17840        '''
17841         Rate limit information.
17842        '''
17843
17844    def __repr__(self):
17845        return '<sdm.HealthcheckListResponse ' + \
17846            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17847            '>'
17848
17849    def to_dict(self):
17850        return {
17851            'rate_limit': self.rate_limit,
17852        }
17853
17854    @classmethod
17855    def from_dict(cls, d):
17856        return cls(rate_limit=d.get('rate_limit'), )
17857
17858
17859class HealthcheckRequest:
17860    __slots__ = [
17861        'secret_engine_id',
17862    ]
17863
17864    def __init__(
17865        self,
17866        secret_engine_id=None,
17867    ):
17868        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17869        '''
17870         required
17871        '''
17872
17873    def __repr__(self):
17874        return '<sdm.HealthcheckRequest ' + \
17875            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17876            '>'
17877
17878    def to_dict(self):
17879        return {
17880            'secret_engine_id': self.secret_engine_id,
17881        }
17882
17883    @classmethod
17884    def from_dict(cls, d):
17885        return cls(secret_engine_id=d.get('secret_engine_id'), )
17886
17887
17888class HealthcheckResponse:
17889    __slots__ = [
17890        'rate_limit',
17891        'status',
17892    ]
17893
17894    def __init__(
17895        self,
17896        rate_limit=None,
17897        status=None,
17898    ):
17899        self.rate_limit = rate_limit if rate_limit is not None else None
17900        '''
17901         Rate limit information.
17902        '''
17903        self.status = status if status is not None else []
17904        '''
17905         Array of statuses of all nodes serving a secret engine
17906        '''
17907
17908    def __repr__(self):
17909        return '<sdm.HealthcheckResponse ' + \
17910            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17911            'status: ' + repr(self.status) + ' ' +\
17912            '>'
17913
17914    def to_dict(self):
17915        return {
17916            'rate_limit': self.rate_limit,
17917            'status': self.status,
17918        }
17919
17920    @classmethod
17921    def from_dict(cls, d):
17922        return cls(
17923            rate_limit=d.get('rate_limit'),
17924            status=d.get('status'),
17925        )
17926
17927
17928class HealthcheckStatus:
17929    '''
17930         HealthcheckStatus contains status of a node health
17931    '''
17932    __slots__ = [
17933        'node_id',
17934        'status',
17935    ]
17936
17937    def __init__(
17938        self,
17939        node_id=None,
17940        status=None,
17941    ):
17942        self.node_id = node_id if node_id is not None else ''
17943        '''
17944         ID of node
17945        '''
17946        self.status = status if status is not None else ''
17947        '''
17948         Status of node's health
17949        '''
17950
17951    def __repr__(self):
17952        return '<sdm.HealthcheckStatus ' + \
17953            'node_id: ' + repr(self.node_id) + ' ' +\
17954            'status: ' + repr(self.status) + ' ' +\
17955            '>'
17956
17957    def to_dict(self):
17958        return {
17959            'node_id': self.node_id,
17960            'status': self.status,
17961        }
17962
17963    @classmethod
17964    def from_dict(cls, d):
17965        return cls(
17966            node_id=d.get('node_id'),
17967            status=d.get('status'),
17968        )
17969
17970
17971class IdentityAlias:
17972    '''
17973         IdentityAliases define the username to be used for a specific account
17974     when connecting to a remote resource using that identity set.
17975    '''
17976    __slots__ = [
17977        'account_id',
17978        'id',
17979        'identity_set_id',
17980        'username',
17981    ]
17982
17983    def __init__(
17984        self,
17985        account_id=None,
17986        id=None,
17987        identity_set_id=None,
17988        username=None,
17989    ):
17990        self.account_id = account_id if account_id is not None else ''
17991        '''
17992         The account for this identity alias.
17993        '''
17994        self.id = id if id is not None else ''
17995        '''
17996         Unique identifier of the IdentityAlias.
17997        '''
17998        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17999        '''
18000         The identity set.
18001        '''
18002        self.username = username if username is not None else ''
18003        '''
18004         The username to be used as the identity alias for this account.
18005        '''
18006
18007    def __repr__(self):
18008        return '<sdm.IdentityAlias ' + \
18009            'account_id: ' + repr(self.account_id) + ' ' +\
18010            'id: ' + repr(self.id) + ' ' +\
18011            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
18012            'username: ' + repr(self.username) + ' ' +\
18013            '>'
18014
18015    def to_dict(self):
18016        return {
18017            'account_id': self.account_id,
18018            'id': self.id,
18019            'identity_set_id': self.identity_set_id,
18020            'username': self.username,
18021        }
18022
18023    @classmethod
18024    def from_dict(cls, d):
18025        return cls(
18026            account_id=d.get('account_id'),
18027            id=d.get('id'),
18028            identity_set_id=d.get('identity_set_id'),
18029            username=d.get('username'),
18030        )
18031
18032
18033class IdentityAliasCreateResponse:
18034    '''
18035         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
18036    '''
18037    __slots__ = [
18038        'identity_alias',
18039        'meta',
18040        'rate_limit',
18041    ]
18042
18043    def __init__(
18044        self,
18045        identity_alias=None,
18046        meta=None,
18047        rate_limit=None,
18048    ):
18049        self.identity_alias = identity_alias if identity_alias is not None else None
18050        '''
18051         The created IdentityAlias.
18052        '''
18053        self.meta = meta if meta is not None else None
18054        '''
18055         Reserved for future use.
18056        '''
18057        self.rate_limit = rate_limit if rate_limit is not None else None
18058        '''
18059         Rate limit information.
18060        '''
18061
18062    def __repr__(self):
18063        return '<sdm.IdentityAliasCreateResponse ' + \
18064            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18065            'meta: ' + repr(self.meta) + ' ' +\
18066            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18067            '>'
18068
18069    def to_dict(self):
18070        return {
18071            'identity_alias': self.identity_alias,
18072            'meta': self.meta,
18073            'rate_limit': self.rate_limit,
18074        }
18075
18076    @classmethod
18077    def from_dict(cls, d):
18078        return cls(
18079            identity_alias=d.get('identity_alias'),
18080            meta=d.get('meta'),
18081            rate_limit=d.get('rate_limit'),
18082        )
18083
18084
18085class IdentityAliasDeleteResponse:
18086    '''
18087         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
18088    '''
18089    __slots__ = [
18090        'meta',
18091        'rate_limit',
18092    ]
18093
18094    def __init__(
18095        self,
18096        meta=None,
18097        rate_limit=None,
18098    ):
18099        self.meta = meta if meta is not None else None
18100        '''
18101         Reserved for future use.
18102        '''
18103        self.rate_limit = rate_limit if rate_limit is not None else None
18104        '''
18105         Rate limit information.
18106        '''
18107
18108    def __repr__(self):
18109        return '<sdm.IdentityAliasDeleteResponse ' + \
18110            'meta: ' + repr(self.meta) + ' ' +\
18111            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18112            '>'
18113
18114    def to_dict(self):
18115        return {
18116            'meta': self.meta,
18117            'rate_limit': self.rate_limit,
18118        }
18119
18120    @classmethod
18121    def from_dict(cls, d):
18122        return cls(
18123            meta=d.get('meta'),
18124            rate_limit=d.get('rate_limit'),
18125        )
18126
18127
18128class IdentityAliasGetResponse:
18129    '''
18130         IdentityAliasGetResponse returns a requested IdentityAlias.
18131    '''
18132    __slots__ = [
18133        'identity_alias',
18134        'meta',
18135        'rate_limit',
18136    ]
18137
18138    def __init__(
18139        self,
18140        identity_alias=None,
18141        meta=None,
18142        rate_limit=None,
18143    ):
18144        self.identity_alias = identity_alias if identity_alias is not None else None
18145        '''
18146         The requested IdentityAlias.
18147        '''
18148        self.meta = meta if meta is not None else None
18149        '''
18150         Reserved for future use.
18151        '''
18152        self.rate_limit = rate_limit if rate_limit is not None else None
18153        '''
18154         Rate limit information.
18155        '''
18156
18157    def __repr__(self):
18158        return '<sdm.IdentityAliasGetResponse ' + \
18159            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18160            'meta: ' + repr(self.meta) + ' ' +\
18161            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18162            '>'
18163
18164    def to_dict(self):
18165        return {
18166            'identity_alias': self.identity_alias,
18167            'meta': self.meta,
18168            'rate_limit': self.rate_limit,
18169        }
18170
18171    @classmethod
18172    def from_dict(cls, d):
18173        return cls(
18174            identity_alias=d.get('identity_alias'),
18175            meta=d.get('meta'),
18176            rate_limit=d.get('rate_limit'),
18177        )
18178
18179
18180class IdentityAliasHistory:
18181    '''
18182         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
18183     where every change (create, update and delete) to a IdentityAlias produces an
18184     IdentityAliasHistory record.
18185    '''
18186    __slots__ = [
18187        'activity_id',
18188        'deleted_at',
18189        'identity_alias',
18190        'timestamp',
18191    ]
18192
18193    def __init__(
18194        self,
18195        activity_id=None,
18196        deleted_at=None,
18197        identity_alias=None,
18198        timestamp=None,
18199    ):
18200        self.activity_id = activity_id if activity_id is not None else ''
18201        '''
18202         The unique identifier of the Activity that produced this change to the IdentityAlias.
18203         May be empty for some system-initiated updates.
18204        '''
18205        self.deleted_at = deleted_at if deleted_at is not None else None
18206        '''
18207         If this IdentityAlias was deleted, the time it was deleted.
18208        '''
18209        self.identity_alias = identity_alias if identity_alias is not None else None
18210        '''
18211         The complete IdentityAlias state at this time.
18212        '''
18213        self.timestamp = timestamp if timestamp is not None else None
18214        '''
18215         The time at which the IdentityAlias state was recorded.
18216        '''
18217
18218    def __repr__(self):
18219        return '<sdm.IdentityAliasHistory ' + \
18220            'activity_id: ' + repr(self.activity_id) + ' ' +\
18221            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
18222            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18223            'timestamp: ' + repr(self.timestamp) + ' ' +\
18224            '>'
18225
18226    def to_dict(self):
18227        return {
18228            'activity_id': self.activity_id,
18229            'deleted_at': self.deleted_at,
18230            'identity_alias': self.identity_alias,
18231            'timestamp': self.timestamp,
18232        }
18233
18234    @classmethod
18235    def from_dict(cls, d):
18236        return cls(
18237            activity_id=d.get('activity_id'),
18238            deleted_at=d.get('deleted_at'),
18239            identity_alias=d.get('identity_alias'),
18240            timestamp=d.get('timestamp'),
18241        )
18242
18243
18244class IdentityAliasUpdateResponse:
18245    '''
18246         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
18247     a IdentityAliasUpdateRequest.
18248    '''
18249    __slots__ = [
18250        'identity_alias',
18251        'meta',
18252        'rate_limit',
18253    ]
18254
18255    def __init__(
18256        self,
18257        identity_alias=None,
18258        meta=None,
18259        rate_limit=None,
18260    ):
18261        self.identity_alias = identity_alias if identity_alias is not None else None
18262        '''
18263         The updated IdentityAlias.
18264        '''
18265        self.meta = meta if meta is not None else None
18266        '''
18267         Reserved for future use.
18268        '''
18269        self.rate_limit = rate_limit if rate_limit is not None else None
18270        '''
18271         Rate limit information.
18272        '''
18273
18274    def __repr__(self):
18275        return '<sdm.IdentityAliasUpdateResponse ' + \
18276            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18277            'meta: ' + repr(self.meta) + ' ' +\
18278            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18279            '>'
18280
18281    def to_dict(self):
18282        return {
18283            'identity_alias': self.identity_alias,
18284            'meta': self.meta,
18285            'rate_limit': self.rate_limit,
18286        }
18287
18288    @classmethod
18289    def from_dict(cls, d):
18290        return cls(
18291            identity_alias=d.get('identity_alias'),
18292            meta=d.get('meta'),
18293            rate_limit=d.get('rate_limit'),
18294        )
18295
18296
18297class IdentitySet:
18298    '''
18299         A IdentitySet defines a group of identity aliases.
18300    '''
18301    __slots__ = [
18302        'id',
18303        'name',
18304    ]
18305
18306    def __init__(
18307        self,
18308        id=None,
18309        name=None,
18310    ):
18311        self.id = id if id is not None else ''
18312        '''
18313         Unique identifier of the IdentitySet.
18314        '''
18315        self.name = name if name is not None else ''
18316        '''
18317         Unique human-readable name of the IdentitySet.
18318        '''
18319
18320    def __repr__(self):
18321        return '<sdm.IdentitySet ' + \
18322            'id: ' + repr(self.id) + ' ' +\
18323            'name: ' + repr(self.name) + ' ' +\
18324            '>'
18325
18326    def to_dict(self):
18327        return {
18328            'id': self.id,
18329            'name': self.name,
18330        }
18331
18332    @classmethod
18333    def from_dict(cls, d):
18334        return cls(
18335            id=d.get('id'),
18336            name=d.get('name'),
18337        )
18338
18339
18340class IdentitySetCreateResponse:
18341    '''
18342         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
18343     communicate partial successes or failures.
18344    '''
18345    __slots__ = [
18346        'identity_set',
18347        'meta',
18348        'rate_limit',
18349    ]
18350
18351    def __init__(
18352        self,
18353        identity_set=None,
18354        meta=None,
18355        rate_limit=None,
18356    ):
18357        self.identity_set = identity_set if identity_set is not None else None
18358        '''
18359         The created IdentitySet.
18360        '''
18361        self.meta = meta if meta is not None else None
18362        '''
18363         Reserved for future use.
18364        '''
18365        self.rate_limit = rate_limit if rate_limit is not None else None
18366        '''
18367         Rate limit information.
18368        '''
18369
18370    def __repr__(self):
18371        return '<sdm.IdentitySetCreateResponse ' + \
18372            'identity_set: ' + repr(self.identity_set) + ' ' +\
18373            'meta: ' + repr(self.meta) + ' ' +\
18374            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18375            '>'
18376
18377    def to_dict(self):
18378        return {
18379            'identity_set': self.identity_set,
18380            'meta': self.meta,
18381            'rate_limit': self.rate_limit,
18382        }
18383
18384    @classmethod
18385    def from_dict(cls, d):
18386        return cls(
18387            identity_set=d.get('identity_set'),
18388            meta=d.get('meta'),
18389            rate_limit=d.get('rate_limit'),
18390        )
18391
18392
18393class IdentitySetDeleteResponse:
18394    '''
18395         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
18396    '''
18397    __slots__ = [
18398        'meta',
18399        'rate_limit',
18400    ]
18401
18402    def __init__(
18403        self,
18404        meta=None,
18405        rate_limit=None,
18406    ):
18407        self.meta = meta if meta is not None else None
18408        '''
18409         Reserved for future use.
18410        '''
18411        self.rate_limit = rate_limit if rate_limit is not None else None
18412        '''
18413         Rate limit information.
18414        '''
18415
18416    def __repr__(self):
18417        return '<sdm.IdentitySetDeleteResponse ' + \
18418            'meta: ' + repr(self.meta) + ' ' +\
18419            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18420            '>'
18421
18422    def to_dict(self):
18423        return {
18424            'meta': self.meta,
18425            'rate_limit': self.rate_limit,
18426        }
18427
18428    @classmethod
18429    def from_dict(cls, d):
18430        return cls(
18431            meta=d.get('meta'),
18432            rate_limit=d.get('rate_limit'),
18433        )
18434
18435
18436class IdentitySetGetResponse:
18437    '''
18438         IdentitySetGetResponse returns a requested IdentitySet.
18439    '''
18440    __slots__ = [
18441        'identity_set',
18442        'meta',
18443        'rate_limit',
18444    ]
18445
18446    def __init__(
18447        self,
18448        identity_set=None,
18449        meta=None,
18450        rate_limit=None,
18451    ):
18452        self.identity_set = identity_set if identity_set is not None else None
18453        '''
18454         The requested IdentitySet.
18455        '''
18456        self.meta = meta if meta is not None else None
18457        '''
18458         Reserved for future use.
18459        '''
18460        self.rate_limit = rate_limit if rate_limit is not None else None
18461        '''
18462         Rate limit information.
18463        '''
18464
18465    def __repr__(self):
18466        return '<sdm.IdentitySetGetResponse ' + \
18467            'identity_set: ' + repr(self.identity_set) + ' ' +\
18468            'meta: ' + repr(self.meta) + ' ' +\
18469            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18470            '>'
18471
18472    def to_dict(self):
18473        return {
18474            'identity_set': self.identity_set,
18475            'meta': self.meta,
18476            'rate_limit': self.rate_limit,
18477        }
18478
18479    @classmethod
18480    def from_dict(cls, d):
18481        return cls(
18482            identity_set=d.get('identity_set'),
18483            meta=d.get('meta'),
18484            rate_limit=d.get('rate_limit'),
18485        )
18486
18487
18488class IdentitySetHistory:
18489    '''
18490         IdentitySetHistory records the state of a IdentitySet at a given point in time,
18491     where every change (create, update and delete) to a IdentitySet produces an
18492     IdentitySetHistory record.
18493    '''
18494    __slots__ = [
18495        'activity_id',
18496        'deleted_at',
18497        'identity_set',
18498        'timestamp',
18499    ]
18500
18501    def __init__(
18502        self,
18503        activity_id=None,
18504        deleted_at=None,
18505        identity_set=None,
18506        timestamp=None,
18507    ):
18508        self.activity_id = activity_id if activity_id is not None else ''
18509        '''
18510         The unique identifier of the Activity that produced this change to the IdentitySet.
18511         May be empty for some system-initiated updates.
18512        '''
18513        self.deleted_at = deleted_at if deleted_at is not None else None
18514        '''
18515         If this IdentitySet was deleted, the time it was deleted.
18516        '''
18517        self.identity_set = identity_set if identity_set is not None else None
18518        '''
18519         The complete IdentitySet state at this time.
18520        '''
18521        self.timestamp = timestamp if timestamp is not None else None
18522        '''
18523         The time at which the IdentitySet state was recorded.
18524        '''
18525
18526    def __repr__(self):
18527        return '<sdm.IdentitySetHistory ' + \
18528            'activity_id: ' + repr(self.activity_id) + ' ' +\
18529            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
18530            'identity_set: ' + repr(self.identity_set) + ' ' +\
18531            'timestamp: ' + repr(self.timestamp) + ' ' +\
18532            '>'
18533
18534    def to_dict(self):
18535        return {
18536            'activity_id': self.activity_id,
18537            'deleted_at': self.deleted_at,
18538            'identity_set': self.identity_set,
18539            'timestamp': self.timestamp,
18540        }
18541
18542    @classmethod
18543    def from_dict(cls, d):
18544        return cls(
18545            activity_id=d.get('activity_id'),
18546            deleted_at=d.get('deleted_at'),
18547            identity_set=d.get('identity_set'),
18548            timestamp=d.get('timestamp'),
18549        )
18550
18551
18552class IdentitySetUpdateResponse:
18553    '''
18554         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
18555     a IdentitySetUpdateRequest.
18556    '''
18557    __slots__ = [
18558        'identity_set',
18559        'meta',
18560        'rate_limit',
18561    ]
18562
18563    def __init__(
18564        self,
18565        identity_set=None,
18566        meta=None,
18567        rate_limit=None,
18568    ):
18569        self.identity_set = identity_set if identity_set is not None else None
18570        '''
18571         The updated IdentitySet.
18572        '''
18573        self.meta = meta if meta is not None else None
18574        '''
18575         Reserved for future use.
18576        '''
18577        self.rate_limit = rate_limit if rate_limit is not None else None
18578        '''
18579         Rate limit information.
18580        '''
18581
18582    def __repr__(self):
18583        return '<sdm.IdentitySetUpdateResponse ' + \
18584            'identity_set: ' + repr(self.identity_set) + ' ' +\
18585            'meta: ' + repr(self.meta) + ' ' +\
18586            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18587            '>'
18588
18589    def to_dict(self):
18590        return {
18591            'identity_set': self.identity_set,
18592            'meta': self.meta,
18593            'rate_limit': self.rate_limit,
18594        }
18595
18596    @classmethod
18597    def from_dict(cls, d):
18598        return cls(
18599            identity_set=d.get('identity_set'),
18600            meta=d.get('meta'),
18601            rate_limit=d.get('rate_limit'),
18602        )
18603
18604
18605class KeyValueEngine:
18606    __slots__ = [
18607        'id',
18608        'key_rotation_interval_days',
18609        'name',
18610        'node_selector',
18611        'public_key',
18612        'secret_store_id',
18613        'secret_store_root_path',
18614        'tags',
18615    ]
18616
18617    def __init__(
18618        self,
18619        id=None,
18620        key_rotation_interval_days=None,
18621        name=None,
18622        node_selector=None,
18623        public_key=None,
18624        secret_store_id=None,
18625        secret_store_root_path=None,
18626        tags=None,
18627    ):
18628        self.id = id if id is not None else ''
18629        '''
18630         Unique identifier of the Secret Engine.
18631        '''
18632        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
18633        '''
18634         An interval of public/private key rotation for secret engine in days
18635        '''
18636        self.name = name if name is not None else ''
18637        '''
18638         Unique human-readable name of the Secret Engine.
18639        '''
18640        self.node_selector = node_selector if node_selector is not None else ''
18641        '''
18642         node selector is used to narrow down the nodes used to communicate with with secret engine
18643        '''
18644        self.public_key = public_key if public_key is not None else b''
18645        '''
18646         Public key linked with a secret engine
18647        '''
18648        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18649        '''
18650         Backing secret store identifier
18651        '''
18652        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
18653        '''
18654         Backing Secret Store root path where managed secrets are going to be stored
18655        '''
18656        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18657        '''
18658         Tags is a map of key, value pairs.
18659        '''
18660
18661    def __repr__(self):
18662        return '<sdm.KeyValueEngine ' + \
18663            'id: ' + repr(self.id) + ' ' +\
18664            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
18665            'name: ' + repr(self.name) + ' ' +\
18666            'node_selector: ' + repr(self.node_selector) + ' ' +\
18667            'public_key: ' + repr(self.public_key) + ' ' +\
18668            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18669            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
18670            'tags: ' + repr(self.tags) + ' ' +\
18671            '>'
18672
18673    def to_dict(self):
18674        return {
18675            'id': self.id,
18676            'key_rotation_interval_days': self.key_rotation_interval_days,
18677            'name': self.name,
18678            'node_selector': self.node_selector,
18679            'public_key': self.public_key,
18680            'secret_store_id': self.secret_store_id,
18681            'secret_store_root_path': self.secret_store_root_path,
18682            'tags': self.tags,
18683        }
18684
18685    @classmethod
18686    def from_dict(cls, d):
18687        return cls(
18688            id=d.get('id'),
18689            key_rotation_interval_days=d.get('key_rotation_interval_days'),
18690            name=d.get('name'),
18691            node_selector=d.get('node_selector'),
18692            public_key=d.get('public_key'),
18693            secret_store_id=d.get('secret_store_id'),
18694            secret_store_root_path=d.get('secret_store_root_path'),
18695            tags=d.get('tags'),
18696        )
18697
18698
18699class KeyfactorSSHStore:
18700    __slots__ = [
18701        'ca_file_path',
18702        'certificate_file_path',
18703        'default_certificate_authority_name',
18704        'default_certificate_profile_name',
18705        'default_end_entity_profile_name',
18706        'enrollment_code_env_var',
18707        'enrollment_username_env_var',
18708        'id',
18709        'key_file_path',
18710        'name',
18711        'server_address',
18712        'tags',
18713    ]
18714
18715    def __init__(
18716        self,
18717        ca_file_path=None,
18718        certificate_file_path=None,
18719        default_certificate_authority_name=None,
18720        default_certificate_profile_name=None,
18721        default_end_entity_profile_name=None,
18722        enrollment_code_env_var=None,
18723        enrollment_username_env_var=None,
18724        id=None,
18725        key_file_path=None,
18726        name=None,
18727        server_address=None,
18728        tags=None,
18729    ):
18730        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
18731        '''
18732         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
18733         This is not required if the CA is trusted by the host operating system. This should be a PEM
18734         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
18735        '''
18736        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
18737        '''
18738         Path to client certificate in PEM format. This certificate must contain a client certificate that
18739         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
18740         key associated with the certificate, but KeyFile can also be set to configure the private key.
18741        '''
18742        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
18743        '''
18744         Name of EJBCA certificate authority that will enroll CSR.
18745        '''
18746        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
18747        '''
18748         Certificate profile name that EJBCA will enroll the CSR with.
18749        '''
18750        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
18751        '''
18752         End entity profile that EJBCA will enroll the CSR with.
18753        '''
18754        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
18755        '''
18756         code used by EJBCA during enrollment. May be left blank if no code is required.
18757        '''
18758        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
18759        '''
18760         username that used by the EJBCA during enrollment. This can be left out. 
18761         If so, the username must be auto-generated on the Keyfactor side.
18762        '''
18763        self.id = id if id is not None else ''
18764        '''
18765         Unique identifier of the SecretStore.
18766        '''
18767        self.key_file_path = key_file_path if key_file_path is not None else ''
18768        '''
18769         Path to private key in PEM format. This file should contain the private key associated with the
18770         client certificate configured in CertificateFile.
18771        '''
18772        self.name = name if name is not None else ''
18773        '''
18774         Unique human-readable name of the SecretStore.
18775        '''
18776        self.server_address = server_address if server_address is not None else ''
18777        '''
18778         the host of the Key Factor CA
18779        '''
18780        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18781        '''
18782         Tags is a map of key, value pairs.
18783        '''
18784
18785    def __repr__(self):
18786        return '<sdm.KeyfactorSSHStore ' + \
18787            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
18788            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
18789            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
18790            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
18791            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
18792            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
18793            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
18794            'id: ' + repr(self.id) + ' ' +\
18795            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
18796            'name: ' + repr(self.name) + ' ' +\
18797            'server_address: ' + repr(self.server_address) + ' ' +\
18798            'tags: ' + repr(self.tags) + ' ' +\
18799            '>'
18800
18801    def to_dict(self):
18802        return {
18803            'ca_file_path': self.ca_file_path,
18804            'certificate_file_path': self.certificate_file_path,
18805            'default_certificate_authority_name':
18806            self.default_certificate_authority_name,
18807            'default_certificate_profile_name':
18808            self.default_certificate_profile_name,
18809            'default_end_entity_profile_name':
18810            self.default_end_entity_profile_name,
18811            'enrollment_code_env_var': self.enrollment_code_env_var,
18812            'enrollment_username_env_var': self.enrollment_username_env_var,
18813            'id': self.id,
18814            'key_file_path': self.key_file_path,
18815            'name': self.name,
18816            'server_address': self.server_address,
18817            'tags': self.tags,
18818        }
18819
18820    @classmethod
18821    def from_dict(cls, d):
18822        return cls(
18823            ca_file_path=d.get('ca_file_path'),
18824            certificate_file_path=d.get('certificate_file_path'),
18825            default_certificate_authority_name=d.get(
18826                'default_certificate_authority_name'),
18827            default_certificate_profile_name=d.get(
18828                'default_certificate_profile_name'),
18829            default_end_entity_profile_name=d.get(
18830                'default_end_entity_profile_name'),
18831            enrollment_code_env_var=d.get('enrollment_code_env_var'),
18832            enrollment_username_env_var=d.get('enrollment_username_env_var'),
18833            id=d.get('id'),
18834            key_file_path=d.get('key_file_path'),
18835            name=d.get('name'),
18836            server_address=d.get('server_address'),
18837            tags=d.get('tags'),
18838        )
18839
18840
18841class KeyfactorX509Store:
18842    __slots__ = [
18843        'ca_file_path',
18844        'certificate_file_path',
18845        'default_certificate_authority_name',
18846        'default_certificate_profile_name',
18847        'default_end_entity_profile_name',
18848        'enrollment_code_env_var',
18849        'enrollment_username_env_var',
18850        'id',
18851        'key_file_path',
18852        'name',
18853        'server_address',
18854        'tags',
18855    ]
18856
18857    def __init__(
18858        self,
18859        ca_file_path=None,
18860        certificate_file_path=None,
18861        default_certificate_authority_name=None,
18862        default_certificate_profile_name=None,
18863        default_end_entity_profile_name=None,
18864        enrollment_code_env_var=None,
18865        enrollment_username_env_var=None,
18866        id=None,
18867        key_file_path=None,
18868        name=None,
18869        server_address=None,
18870        tags=None,
18871    ):
18872        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
18873        '''
18874         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
18875         This is not required if the CA is trusted by the host operating system. This should be a PEM
18876         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
18877        '''
18878        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
18879        '''
18880         Path to client certificate in PEM format. This certificate must contain a client certificate that
18881         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
18882         key associated with the certificate, but KeyFile can also be set to configure the private key.
18883        '''
18884        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
18885        '''
18886         Name of EJBCA certificate authority that will enroll CSR.
18887        '''
18888        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
18889        '''
18890         Certificate profile name that EJBCA will enroll the CSR with.
18891        '''
18892        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
18893        '''
18894         End entity profile that EJBCA will enroll the CSR with.
18895        '''
18896        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
18897        '''
18898         code used by EJBCA during enrollment. May be left blank if no code is required.
18899        '''
18900        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
18901        '''
18902         username that used by the EJBCA during enrollment. This can be left out. 
18903         If so, the username must be auto-generated on the Keyfactor side.
18904        '''
18905        self.id = id if id is not None else ''
18906        '''
18907         Unique identifier of the SecretStore.
18908        '''
18909        self.key_file_path = key_file_path if key_file_path is not None else ''
18910        '''
18911         Path to private key in PEM format. This file should contain the private key associated with the
18912         client certificate configured in CertificateFile.
18913        '''
18914        self.name = name if name is not None else ''
18915        '''
18916         Unique human-readable name of the SecretStore.
18917        '''
18918        self.server_address = server_address if server_address is not None else ''
18919        '''
18920         the host of the Key Factor CA
18921        '''
18922        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18923        '''
18924         Tags is a map of key, value pairs.
18925        '''
18926
18927    def __repr__(self):
18928        return '<sdm.KeyfactorX509Store ' + \
18929            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
18930            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
18931            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
18932            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
18933            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
18934            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
18935            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
18936            'id: ' + repr(self.id) + ' ' +\
18937            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
18938            'name: ' + repr(self.name) + ' ' +\
18939            'server_address: ' + repr(self.server_address) + ' ' +\
18940            'tags: ' + repr(self.tags) + ' ' +\
18941            '>'
18942
18943    def to_dict(self):
18944        return {
18945            'ca_file_path': self.ca_file_path,
18946            'certificate_file_path': self.certificate_file_path,
18947            'default_certificate_authority_name':
18948            self.default_certificate_authority_name,
18949            'default_certificate_profile_name':
18950            self.default_certificate_profile_name,
18951            'default_end_entity_profile_name':
18952            self.default_end_entity_profile_name,
18953            'enrollment_code_env_var': self.enrollment_code_env_var,
18954            'enrollment_username_env_var': self.enrollment_username_env_var,
18955            'id': self.id,
18956            'key_file_path': self.key_file_path,
18957            'name': self.name,
18958            'server_address': self.server_address,
18959            'tags': self.tags,
18960        }
18961
18962    @classmethod
18963    def from_dict(cls, d):
18964        return cls(
18965            ca_file_path=d.get('ca_file_path'),
18966            certificate_file_path=d.get('certificate_file_path'),
18967            default_certificate_authority_name=d.get(
18968                'default_certificate_authority_name'),
18969            default_certificate_profile_name=d.get(
18970                'default_certificate_profile_name'),
18971            default_end_entity_profile_name=d.get(
18972                'default_end_entity_profile_name'),
18973            enrollment_code_env_var=d.get('enrollment_code_env_var'),
18974            enrollment_username_env_var=d.get('enrollment_username_env_var'),
18975            id=d.get('id'),
18976            key_file_path=d.get('key_file_path'),
18977            name=d.get('name'),
18978            server_address=d.get('server_address'),
18979            tags=d.get('tags'),
18980        )
18981
18982
18983class Kubernetes:
18984    __slots__ = [
18985        'allow_resource_role_bypass',
18986        'bind_interface',
18987        'certificate_authority',
18988        'client_certificate',
18989        'client_key',
18990        'discovery_enabled',
18991        'discovery_username',
18992        'egress_filter',
18993        'healthcheck_namespace',
18994        'healthy',
18995        'hostname',
18996        'id',
18997        'identity_alias_healthcheck_username',
18998        'identity_set_id',
18999        'name',
19000        'port',
19001        'port_override',
19002        'proxy_cluster_id',
19003        'secret_store_id',
19004        'subdomain',
19005        'tags',
19006    ]
19007
19008    def __init__(
19009        self,
19010        allow_resource_role_bypass=None,
19011        bind_interface=None,
19012        certificate_authority=None,
19013        client_certificate=None,
19014        client_key=None,
19015        discovery_enabled=None,
19016        discovery_username=None,
19017        egress_filter=None,
19018        healthcheck_namespace=None,
19019        healthy=None,
19020        hostname=None,
19021        id=None,
19022        identity_alias_healthcheck_username=None,
19023        identity_set_id=None,
19024        name=None,
19025        port=None,
19026        port_override=None,
19027        proxy_cluster_id=None,
19028        secret_store_id=None,
19029        subdomain=None,
19030        tags=None,
19031    ):
19032        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19033        '''
19034         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19035         when a resource role is not provided.
19036        '''
19037        self.bind_interface = bind_interface if bind_interface is not None else ''
19038        '''
19039         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19040        '''
19041        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19042        '''
19043         The CA to authenticate TLS connections with.
19044        '''
19045        self.client_certificate = client_certificate if client_certificate is not None else ''
19046        '''
19047         The certificate to authenticate TLS connections with.
19048        '''
19049        self.client_key = client_key if client_key is not None else ''
19050        '''
19051         The key to authenticate TLS connections with.
19052        '''
19053        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19054        '''
19055         If true, configures discovery of a cluster to be run from a node.
19056        '''
19057        self.discovery_username = discovery_username if discovery_username is not None else ''
19058        '''
19059         If a cluster is configured for user impersonation, this is the user to impersonate when
19060         running discovery.
19061        '''
19062        self.egress_filter = egress_filter if egress_filter is not None else ''
19063        '''
19064         A filter applied to the routing logic to pin datasource to nodes.
19065        '''
19066        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19067        '''
19068         The path used to check the health of your connection.  Defaults to `default`.
19069        '''
19070        self.healthy = healthy if healthy is not None else False
19071        '''
19072         True if the datasource is reachable and the credentials are valid.
19073        '''
19074        self.hostname = hostname if hostname is not None else ''
19075        '''
19076         The host to dial to initiate a connection from the egress node to this resource.
19077        '''
19078        self.id = id if id is not None else ''
19079        '''
19080         Unique identifier of the Resource.
19081        '''
19082        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19083        '''
19084         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19085        '''
19086        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19087        '''
19088         The ID of the identity set to use for identity connections.
19089        '''
19090        self.name = name if name is not None else ''
19091        '''
19092         Unique human-readable name of the Resource.
19093        '''
19094        self.port = port if port is not None else 0
19095        '''
19096         The port to dial to initiate a connection from the egress node to this resource.
19097        '''
19098        self.port_override = port_override if port_override is not None else 0
19099        '''
19100         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19101        '''
19102        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19103        '''
19104         ID of the proxy cluster for this resource, if any.
19105        '''
19106        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19107        '''
19108         ID of the secret store containing credentials for this resource, if any.
19109        '''
19110        self.subdomain = subdomain if subdomain is not None else ''
19111        '''
19112         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19113        '''
19114        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19115        '''
19116         Tags is a map of key, value pairs.
19117        '''
19118
19119    def __repr__(self):
19120        return '<sdm.Kubernetes ' + \
19121            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
19122            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19123            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
19124            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
19125            'client_key: ' + repr(self.client_key) + ' ' +\
19126            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
19127            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
19128            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19129            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19130            'healthy: ' + repr(self.healthy) + ' ' +\
19131            'hostname: ' + repr(self.hostname) + ' ' +\
19132            'id: ' + repr(self.id) + ' ' +\
19133            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19134            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19135            'name: ' + repr(self.name) + ' ' +\
19136            'port: ' + repr(self.port) + ' ' +\
19137            'port_override: ' + repr(self.port_override) + ' ' +\
19138            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19139            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19140            'subdomain: ' + repr(self.subdomain) + ' ' +\
19141            'tags: ' + repr(self.tags) + ' ' +\
19142            '>'
19143
19144    def to_dict(self):
19145        return {
19146            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19147            'bind_interface': self.bind_interface,
19148            'certificate_authority': self.certificate_authority,
19149            'client_certificate': self.client_certificate,
19150            'client_key': self.client_key,
19151            'discovery_enabled': self.discovery_enabled,
19152            'discovery_username': self.discovery_username,
19153            'egress_filter': self.egress_filter,
19154            'healthcheck_namespace': self.healthcheck_namespace,
19155            'healthy': self.healthy,
19156            'hostname': self.hostname,
19157            'id': self.id,
19158            'identity_alias_healthcheck_username':
19159            self.identity_alias_healthcheck_username,
19160            'identity_set_id': self.identity_set_id,
19161            'name': self.name,
19162            'port': self.port,
19163            'port_override': self.port_override,
19164            'proxy_cluster_id': self.proxy_cluster_id,
19165            'secret_store_id': self.secret_store_id,
19166            'subdomain': self.subdomain,
19167            'tags': self.tags,
19168        }
19169
19170    @classmethod
19171    def from_dict(cls, d):
19172        return cls(
19173            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19174            bind_interface=d.get('bind_interface'),
19175            certificate_authority=d.get('certificate_authority'),
19176            client_certificate=d.get('client_certificate'),
19177            client_key=d.get('client_key'),
19178            discovery_enabled=d.get('discovery_enabled'),
19179            discovery_username=d.get('discovery_username'),
19180            egress_filter=d.get('egress_filter'),
19181            healthcheck_namespace=d.get('healthcheck_namespace'),
19182            healthy=d.get('healthy'),
19183            hostname=d.get('hostname'),
19184            id=d.get('id'),
19185            identity_alias_healthcheck_username=d.get(
19186                'identity_alias_healthcheck_username'),
19187            identity_set_id=d.get('identity_set_id'),
19188            name=d.get('name'),
19189            port=d.get('port'),
19190            port_override=d.get('port_override'),
19191            proxy_cluster_id=d.get('proxy_cluster_id'),
19192            secret_store_id=d.get('secret_store_id'),
19193            subdomain=d.get('subdomain'),
19194            tags=d.get('tags'),
19195        )
19196
19197
19198class KubernetesBasicAuth:
19199    '''
19200    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
19201    without a major version bump.
19202    '''
19203    __slots__ = [
19204        'bind_interface',
19205        'egress_filter',
19206        'healthcheck_namespace',
19207        'healthy',
19208        'hostname',
19209        'id',
19210        'name',
19211        'password',
19212        'port',
19213        'port_override',
19214        'proxy_cluster_id',
19215        'secret_store_id',
19216        'subdomain',
19217        'tags',
19218        'username',
19219    ]
19220
19221    def __init__(
19222        self,
19223        bind_interface=None,
19224        egress_filter=None,
19225        healthcheck_namespace=None,
19226        healthy=None,
19227        hostname=None,
19228        id=None,
19229        name=None,
19230        password=None,
19231        port=None,
19232        port_override=None,
19233        proxy_cluster_id=None,
19234        secret_store_id=None,
19235        subdomain=None,
19236        tags=None,
19237        username=None,
19238    ):
19239        self.bind_interface = bind_interface if bind_interface is not None else ''
19240        '''
19241         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19242        '''
19243        self.egress_filter = egress_filter if egress_filter is not None else ''
19244        '''
19245         A filter applied to the routing logic to pin datasource to nodes.
19246        '''
19247        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19248        '''
19249         The path used to check the health of your connection.  Defaults to `default`.
19250        '''
19251        self.healthy = healthy if healthy is not None else False
19252        '''
19253         True if the datasource is reachable and the credentials are valid.
19254        '''
19255        self.hostname = hostname if hostname is not None else ''
19256        '''
19257         The host to dial to initiate a connection from the egress node to this resource.
19258        '''
19259        self.id = id if id is not None else ''
19260        '''
19261         Unique identifier of the Resource.
19262        '''
19263        self.name = name if name is not None else ''
19264        '''
19265         Unique human-readable name of the Resource.
19266        '''
19267        self.password = password if password is not None else ''
19268        '''
19269         The password to authenticate with.
19270        '''
19271        self.port = port if port is not None else 0
19272        '''
19273         The port to dial to initiate a connection from the egress node to this resource.
19274        '''
19275        self.port_override = port_override if port_override is not None else 0
19276        '''
19277         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19278        '''
19279        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19280        '''
19281         ID of the proxy cluster for this resource, if any.
19282        '''
19283        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19284        '''
19285         ID of the secret store containing credentials for this resource, if any.
19286        '''
19287        self.subdomain = subdomain if subdomain is not None else ''
19288        '''
19289         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19290        '''
19291        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19292        '''
19293         Tags is a map of key, value pairs.
19294        '''
19295        self.username = username if username is not None else ''
19296        '''
19297         The username to authenticate with.
19298        '''
19299
19300    def __repr__(self):
19301        return '<sdm.KubernetesBasicAuth ' + \
19302            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19303            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19304            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19305            'healthy: ' + repr(self.healthy) + ' ' +\
19306            'hostname: ' + repr(self.hostname) + ' ' +\
19307            'id: ' + repr(self.id) + ' ' +\
19308            'name: ' + repr(self.name) + ' ' +\
19309            'password: ' + repr(self.password) + ' ' +\
19310            'port: ' + repr(self.port) + ' ' +\
19311            'port_override: ' + repr(self.port_override) + ' ' +\
19312            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19313            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19314            'subdomain: ' + repr(self.subdomain) + ' ' +\
19315            'tags: ' + repr(self.tags) + ' ' +\
19316            'username: ' + repr(self.username) + ' ' +\
19317            '>'
19318
19319    def to_dict(self):
19320        return {
19321            'bind_interface': self.bind_interface,
19322            'egress_filter': self.egress_filter,
19323            'healthcheck_namespace': self.healthcheck_namespace,
19324            'healthy': self.healthy,
19325            'hostname': self.hostname,
19326            'id': self.id,
19327            'name': self.name,
19328            'password': self.password,
19329            'port': self.port,
19330            'port_override': self.port_override,
19331            'proxy_cluster_id': self.proxy_cluster_id,
19332            'secret_store_id': self.secret_store_id,
19333            'subdomain': self.subdomain,
19334            'tags': self.tags,
19335            'username': self.username,
19336        }
19337
19338    @classmethod
19339    def from_dict(cls, d):
19340        return cls(
19341            bind_interface=d.get('bind_interface'),
19342            egress_filter=d.get('egress_filter'),
19343            healthcheck_namespace=d.get('healthcheck_namespace'),
19344            healthy=d.get('healthy'),
19345            hostname=d.get('hostname'),
19346            id=d.get('id'),
19347            name=d.get('name'),
19348            password=d.get('password'),
19349            port=d.get('port'),
19350            port_override=d.get('port_override'),
19351            proxy_cluster_id=d.get('proxy_cluster_id'),
19352            secret_store_id=d.get('secret_store_id'),
19353            subdomain=d.get('subdomain'),
19354            tags=d.get('tags'),
19355            username=d.get('username'),
19356        )
19357
19358
19359class KubernetesPodIdentity:
19360    __slots__ = [
19361        'allow_resource_role_bypass',
19362        'bind_interface',
19363        'certificate_authority',
19364        'discovery_enabled',
19365        'discovery_username',
19366        'egress_filter',
19367        'healthcheck_namespace',
19368        'healthy',
19369        'id',
19370        'identity_alias_healthcheck_username',
19371        'identity_set_id',
19372        'name',
19373        'port_override',
19374        'proxy_cluster_id',
19375        'secret_store_id',
19376        'subdomain',
19377        'tags',
19378    ]
19379
19380    def __init__(
19381        self,
19382        allow_resource_role_bypass=None,
19383        bind_interface=None,
19384        certificate_authority=None,
19385        discovery_enabled=None,
19386        discovery_username=None,
19387        egress_filter=None,
19388        healthcheck_namespace=None,
19389        healthy=None,
19390        id=None,
19391        identity_alias_healthcheck_username=None,
19392        identity_set_id=None,
19393        name=None,
19394        port_override=None,
19395        proxy_cluster_id=None,
19396        secret_store_id=None,
19397        subdomain=None,
19398        tags=None,
19399    ):
19400        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19401        '''
19402         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19403         when a resource role is not provided.
19404        '''
19405        self.bind_interface = bind_interface if bind_interface is not None else ''
19406        '''
19407         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19408        '''
19409        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19410        '''
19411         The CA to authenticate TLS connections with.
19412        '''
19413        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19414        '''
19415         If true, configures discovery of a cluster to be run from a node.
19416        '''
19417        self.discovery_username = discovery_username if discovery_username is not None else ''
19418        '''
19419         If a cluster is configured for user impersonation, this is the user to impersonate when
19420         running discovery.
19421        '''
19422        self.egress_filter = egress_filter if egress_filter is not None else ''
19423        '''
19424         A filter applied to the routing logic to pin datasource to nodes.
19425        '''
19426        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19427        '''
19428         The path used to check the health of your connection.  Defaults to `default`.
19429        '''
19430        self.healthy = healthy if healthy is not None else False
19431        '''
19432         True if the datasource is reachable and the credentials are valid.
19433        '''
19434        self.id = id if id is not None else ''
19435        '''
19436         Unique identifier of the Resource.
19437        '''
19438        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19439        '''
19440         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19441        '''
19442        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19443        '''
19444         The ID of the identity set to use for identity connections.
19445        '''
19446        self.name = name if name is not None else ''
19447        '''
19448         Unique human-readable name of the Resource.
19449        '''
19450        self.port_override = port_override if port_override is not None else 0
19451        '''
19452         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19453        '''
19454        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19455        '''
19456         ID of the proxy cluster for this resource, if any.
19457        '''
19458        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19459        '''
19460         ID of the secret store containing credentials for this resource, if any.
19461        '''
19462        self.subdomain = subdomain if subdomain is not None else ''
19463        '''
19464         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19465        '''
19466        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19467        '''
19468         Tags is a map of key, value pairs.
19469        '''
19470
19471    def __repr__(self):
19472        return '<sdm.KubernetesPodIdentity ' + \
19473            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
19474            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19475            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
19476            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
19477            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
19478            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19479            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19480            'healthy: ' + repr(self.healthy) + ' ' +\
19481            'id: ' + repr(self.id) + ' ' +\
19482            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19483            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19484            'name: ' + repr(self.name) + ' ' +\
19485            'port_override: ' + repr(self.port_override) + ' ' +\
19486            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19487            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19488            'subdomain: ' + repr(self.subdomain) + ' ' +\
19489            'tags: ' + repr(self.tags) + ' ' +\
19490            '>'
19491
19492    def to_dict(self):
19493        return {
19494            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19495            'bind_interface': self.bind_interface,
19496            'certificate_authority': self.certificate_authority,
19497            'discovery_enabled': self.discovery_enabled,
19498            'discovery_username': self.discovery_username,
19499            'egress_filter': self.egress_filter,
19500            'healthcheck_namespace': self.healthcheck_namespace,
19501            'healthy': self.healthy,
19502            'id': self.id,
19503            'identity_alias_healthcheck_username':
19504            self.identity_alias_healthcheck_username,
19505            'identity_set_id': self.identity_set_id,
19506            'name': self.name,
19507            'port_override': self.port_override,
19508            'proxy_cluster_id': self.proxy_cluster_id,
19509            'secret_store_id': self.secret_store_id,
19510            'subdomain': self.subdomain,
19511            'tags': self.tags,
19512        }
19513
19514    @classmethod
19515    def from_dict(cls, d):
19516        return cls(
19517            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19518            bind_interface=d.get('bind_interface'),
19519            certificate_authority=d.get('certificate_authority'),
19520            discovery_enabled=d.get('discovery_enabled'),
19521            discovery_username=d.get('discovery_username'),
19522            egress_filter=d.get('egress_filter'),
19523            healthcheck_namespace=d.get('healthcheck_namespace'),
19524            healthy=d.get('healthy'),
19525            id=d.get('id'),
19526            identity_alias_healthcheck_username=d.get(
19527                'identity_alias_healthcheck_username'),
19528            identity_set_id=d.get('identity_set_id'),
19529            name=d.get('name'),
19530            port_override=d.get('port_override'),
19531            proxy_cluster_id=d.get('proxy_cluster_id'),
19532            secret_store_id=d.get('secret_store_id'),
19533            subdomain=d.get('subdomain'),
19534            tags=d.get('tags'),
19535        )
19536
19537
19538class KubernetesServiceAccount:
19539    __slots__ = [
19540        'allow_resource_role_bypass',
19541        'bind_interface',
19542        'discovery_enabled',
19543        'discovery_username',
19544        'egress_filter',
19545        'healthcheck_namespace',
19546        'healthy',
19547        'hostname',
19548        'id',
19549        'identity_alias_healthcheck_username',
19550        'identity_set_id',
19551        'name',
19552        'port',
19553        'port_override',
19554        'proxy_cluster_id',
19555        'secret_store_id',
19556        'subdomain',
19557        'tags',
19558        'token',
19559    ]
19560
19561    def __init__(
19562        self,
19563        allow_resource_role_bypass=None,
19564        bind_interface=None,
19565        discovery_enabled=None,
19566        discovery_username=None,
19567        egress_filter=None,
19568        healthcheck_namespace=None,
19569        healthy=None,
19570        hostname=None,
19571        id=None,
19572        identity_alias_healthcheck_username=None,
19573        identity_set_id=None,
19574        name=None,
19575        port=None,
19576        port_override=None,
19577        proxy_cluster_id=None,
19578        secret_store_id=None,
19579        subdomain=None,
19580        tags=None,
19581        token=None,
19582    ):
19583        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19584        '''
19585         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19586         when a resource role is not provided.
19587        '''
19588        self.bind_interface = bind_interface if bind_interface is not None else ''
19589        '''
19590         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19591        '''
19592        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19593        '''
19594         If true, configures discovery of a cluster to be run from a node.
19595        '''
19596        self.discovery_username = discovery_username if discovery_username is not None else ''
19597        '''
19598         If a cluster is configured for user impersonation, this is the user to impersonate when
19599         running discovery.
19600        '''
19601        self.egress_filter = egress_filter if egress_filter is not None else ''
19602        '''
19603         A filter applied to the routing logic to pin datasource to nodes.
19604        '''
19605        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19606        '''
19607         The path used to check the health of your connection.  Defaults to `default`.
19608        '''
19609        self.healthy = healthy if healthy is not None else False
19610        '''
19611         True if the datasource is reachable and the credentials are valid.
19612        '''
19613        self.hostname = hostname if hostname is not None else ''
19614        '''
19615         The host to dial to initiate a connection from the egress node to this resource.
19616        '''
19617        self.id = id if id is not None else ''
19618        '''
19619         Unique identifier of the Resource.
19620        '''
19621        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19622        '''
19623         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19624        '''
19625        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19626        '''
19627         The ID of the identity set to use for identity connections.
19628        '''
19629        self.name = name if name is not None else ''
19630        '''
19631         Unique human-readable name of the Resource.
19632        '''
19633        self.port = port if port is not None else 0
19634        '''
19635         The port to dial to initiate a connection from the egress node to this resource.
19636        '''
19637        self.port_override = port_override if port_override is not None else 0
19638        '''
19639         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19640        '''
19641        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19642        '''
19643         ID of the proxy cluster for this resource, if any.
19644        '''
19645        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19646        '''
19647         ID of the secret store containing credentials for this resource, if any.
19648        '''
19649        self.subdomain = subdomain if subdomain is not None else ''
19650        '''
19651         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19652        '''
19653        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19654        '''
19655         Tags is a map of key, value pairs.
19656        '''
19657        self.token = token if token is not None else ''
19658        '''
19659         The API token to authenticate with.
19660        '''
19661
19662    def __repr__(self):
19663        return '<sdm.KubernetesServiceAccount ' + \
19664            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
19665            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19666            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
19667            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
19668            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19669            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19670            'healthy: ' + repr(self.healthy) + ' ' +\
19671            'hostname: ' + repr(self.hostname) + ' ' +\
19672            'id: ' + repr(self.id) + ' ' +\
19673            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19674            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19675            'name: ' + repr(self.name) + ' ' +\
19676            'port: ' + repr(self.port) + ' ' +\
19677            'port_override: ' + repr(self.port_override) + ' ' +\
19678            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19679            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19680            'subdomain: ' + repr(self.subdomain) + ' ' +\
19681            'tags: ' + repr(self.tags) + ' ' +\
19682            'token: ' + repr(self.token) + ' ' +\
19683            '>'
19684
19685    def to_dict(self):
19686        return {
19687            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19688            'bind_interface': self.bind_interface,
19689            'discovery_enabled': self.discovery_enabled,
19690            'discovery_username': self.discovery_username,
19691            'egress_filter': self.egress_filter,
19692            'healthcheck_namespace': self.healthcheck_namespace,
19693            'healthy': self.healthy,
19694            'hostname': self.hostname,
19695            'id': self.id,
19696            'identity_alias_healthcheck_username':
19697            self.identity_alias_healthcheck_username,
19698            'identity_set_id': self.identity_set_id,
19699            'name': self.name,
19700            'port': self.port,
19701            'port_override': self.port_override,
19702            'proxy_cluster_id': self.proxy_cluster_id,
19703            'secret_store_id': self.secret_store_id,
19704            'subdomain': self.subdomain,
19705            'tags': self.tags,
19706            'token': self.token,
19707        }
19708
19709    @classmethod
19710    def from_dict(cls, d):
19711        return cls(
19712            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19713            bind_interface=d.get('bind_interface'),
19714            discovery_enabled=d.get('discovery_enabled'),
19715            discovery_username=d.get('discovery_username'),
19716            egress_filter=d.get('egress_filter'),
19717            healthcheck_namespace=d.get('healthcheck_namespace'),
19718            healthy=d.get('healthy'),
19719            hostname=d.get('hostname'),
19720            id=d.get('id'),
19721            identity_alias_healthcheck_username=d.get(
19722                'identity_alias_healthcheck_username'),
19723            identity_set_id=d.get('identity_set_id'),
19724            name=d.get('name'),
19725            port=d.get('port'),
19726            port_override=d.get('port_override'),
19727            proxy_cluster_id=d.get('proxy_cluster_id'),
19728            secret_store_id=d.get('secret_store_id'),
19729            subdomain=d.get('subdomain'),
19730            tags=d.get('tags'),
19731            token=d.get('token'),
19732        )
19733
19734
19735class KubernetesServiceAccountUserImpersonation:
19736    '''
19737    KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
19738    '''
19739    __slots__ = [
19740        'bind_interface',
19741        'egress_filter',
19742        'healthcheck_namespace',
19743        'healthy',
19744        'hostname',
19745        'id',
19746        'name',
19747        'port',
19748        'port_override',
19749        'proxy_cluster_id',
19750        'secret_store_id',
19751        'subdomain',
19752        'tags',
19753        'token',
19754    ]
19755
19756    def __init__(
19757        self,
19758        bind_interface=None,
19759        egress_filter=None,
19760        healthcheck_namespace=None,
19761        healthy=None,
19762        hostname=None,
19763        id=None,
19764        name=None,
19765        port=None,
19766        port_override=None,
19767        proxy_cluster_id=None,
19768        secret_store_id=None,
19769        subdomain=None,
19770        tags=None,
19771        token=None,
19772    ):
19773        self.bind_interface = bind_interface if bind_interface is not None else ''
19774        '''
19775         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19776        '''
19777        self.egress_filter = egress_filter if egress_filter is not None else ''
19778        '''
19779         A filter applied to the routing logic to pin datasource to nodes.
19780        '''
19781        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19782        '''
19783         The path used to check the health of your connection.  Defaults to `default`.
19784        '''
19785        self.healthy = healthy if healthy is not None else False
19786        '''
19787         True if the datasource is reachable and the credentials are valid.
19788        '''
19789        self.hostname = hostname if hostname is not None else ''
19790        '''
19791         The host to dial to initiate a connection from the egress node to this resource.
19792        '''
19793        self.id = id if id is not None else ''
19794        '''
19795         Unique identifier of the Resource.
19796        '''
19797        self.name = name if name is not None else ''
19798        '''
19799         Unique human-readable name of the Resource.
19800        '''
19801        self.port = port if port is not None else 0
19802        '''
19803         The port to dial to initiate a connection from the egress node to this resource.
19804        '''
19805        self.port_override = port_override if port_override is not None else 0
19806        '''
19807         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19808        '''
19809        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19810        '''
19811         ID of the proxy cluster for this resource, if any.
19812        '''
19813        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19814        '''
19815         ID of the secret store containing credentials for this resource, if any.
19816        '''
19817        self.subdomain = subdomain if subdomain is not None else ''
19818        '''
19819         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19820        '''
19821        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19822        '''
19823         Tags is a map of key, value pairs.
19824        '''
19825        self.token = token if token is not None else ''
19826        '''
19827         The API token to authenticate with.
19828        '''
19829
19830    def __repr__(self):
19831        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
19832            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19833            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19834            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19835            'healthy: ' + repr(self.healthy) + ' ' +\
19836            'hostname: ' + repr(self.hostname) + ' ' +\
19837            'id: ' + repr(self.id) + ' ' +\
19838            'name: ' + repr(self.name) + ' ' +\
19839            'port: ' + repr(self.port) + ' ' +\
19840            'port_override: ' + repr(self.port_override) + ' ' +\
19841            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19842            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19843            'subdomain: ' + repr(self.subdomain) + ' ' +\
19844            'tags: ' + repr(self.tags) + ' ' +\
19845            'token: ' + repr(self.token) + ' ' +\
19846            '>'
19847
19848    def to_dict(self):
19849        return {
19850            'bind_interface': self.bind_interface,
19851            'egress_filter': self.egress_filter,
19852            'healthcheck_namespace': self.healthcheck_namespace,
19853            'healthy': self.healthy,
19854            'hostname': self.hostname,
19855            'id': self.id,
19856            'name': self.name,
19857            'port': self.port,
19858            'port_override': self.port_override,
19859            'proxy_cluster_id': self.proxy_cluster_id,
19860            'secret_store_id': self.secret_store_id,
19861            'subdomain': self.subdomain,
19862            'tags': self.tags,
19863            'token': self.token,
19864        }
19865
19866    @classmethod
19867    def from_dict(cls, d):
19868        return cls(
19869            bind_interface=d.get('bind_interface'),
19870            egress_filter=d.get('egress_filter'),
19871            healthcheck_namespace=d.get('healthcheck_namespace'),
19872            healthy=d.get('healthy'),
19873            hostname=d.get('hostname'),
19874            id=d.get('id'),
19875            name=d.get('name'),
19876            port=d.get('port'),
19877            port_override=d.get('port_override'),
19878            proxy_cluster_id=d.get('proxy_cluster_id'),
19879            secret_store_id=d.get('secret_store_id'),
19880            subdomain=d.get('subdomain'),
19881            tags=d.get('tags'),
19882            token=d.get('token'),
19883        )
19884
19885
19886class KubernetesUserImpersonation:
19887    '''
19888    KubernetesUserImpersonation is deprecated, see docs for more info.
19889    '''
19890    __slots__ = [
19891        'bind_interface',
19892        'certificate_authority',
19893        'client_certificate',
19894        'client_key',
19895        'egress_filter',
19896        'healthcheck_namespace',
19897        'healthy',
19898        'hostname',
19899        'id',
19900        'name',
19901        'port',
19902        'port_override',
19903        'proxy_cluster_id',
19904        'secret_store_id',
19905        'subdomain',
19906        'tags',
19907    ]
19908
19909    def __init__(
19910        self,
19911        bind_interface=None,
19912        certificate_authority=None,
19913        client_certificate=None,
19914        client_key=None,
19915        egress_filter=None,
19916        healthcheck_namespace=None,
19917        healthy=None,
19918        hostname=None,
19919        id=None,
19920        name=None,
19921        port=None,
19922        port_override=None,
19923        proxy_cluster_id=None,
19924        secret_store_id=None,
19925        subdomain=None,
19926        tags=None,
19927    ):
19928        self.bind_interface = bind_interface if bind_interface is not None else ''
19929        '''
19930         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19931        '''
19932        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19933        '''
19934         The CA to authenticate TLS connections with.
19935        '''
19936        self.client_certificate = client_certificate if client_certificate is not None else ''
19937        '''
19938         The certificate to authenticate TLS connections with.
19939        '''
19940        self.client_key = client_key if client_key is not None else ''
19941        '''
19942         The key to authenticate TLS connections with.
19943        '''
19944        self.egress_filter = egress_filter if egress_filter is not None else ''
19945        '''
19946         A filter applied to the routing logic to pin datasource to nodes.
19947        '''
19948        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19949        '''
19950         The path used to check the health of your connection.  Defaults to `default`.
19951        '''
19952        self.healthy = healthy if healthy is not None else False
19953        '''
19954         True if the datasource is reachable and the credentials are valid.
19955        '''
19956        self.hostname = hostname if hostname is not None else ''
19957        '''
19958         The host to dial to initiate a connection from the egress node to this resource.
19959        '''
19960        self.id = id if id is not None else ''
19961        '''
19962         Unique identifier of the Resource.
19963        '''
19964        self.name = name if name is not None else ''
19965        '''
19966         Unique human-readable name of the Resource.
19967        '''
19968        self.port = port if port is not None else 0
19969        '''
19970         The port to dial to initiate a connection from the egress node to this resource.
19971        '''
19972        self.port_override = port_override if port_override is not None else 0
19973        '''
19974         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19975        '''
19976        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19977        '''
19978         ID of the proxy cluster for this resource, if any.
19979        '''
19980        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19981        '''
19982         ID of the secret store containing credentials for this resource, if any.
19983        '''
19984        self.subdomain = subdomain if subdomain is not None else ''
19985        '''
19986         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19987        '''
19988        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19989        '''
19990         Tags is a map of key, value pairs.
19991        '''
19992
19993    def __repr__(self):
19994        return '<sdm.KubernetesUserImpersonation ' + \
19995            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19996            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
19997            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
19998            'client_key: ' + repr(self.client_key) + ' ' +\
19999            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20000            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
20001            'healthy: ' + repr(self.healthy) + ' ' +\
20002            'hostname: ' + repr(self.hostname) + ' ' +\
20003            'id: ' + repr(self.id) + ' ' +\
20004            'name: ' + repr(self.name) + ' ' +\
20005            'port: ' + repr(self.port) + ' ' +\
20006            'port_override: ' + repr(self.port_override) + ' ' +\
20007            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20008            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20009            'subdomain: ' + repr(self.subdomain) + ' ' +\
20010            'tags: ' + repr(self.tags) + ' ' +\
20011            '>'
20012
20013    def to_dict(self):
20014        return {
20015            'bind_interface': self.bind_interface,
20016            'certificate_authority': self.certificate_authority,
20017            'client_certificate': self.client_certificate,
20018            'client_key': self.client_key,
20019            'egress_filter': self.egress_filter,
20020            'healthcheck_namespace': self.healthcheck_namespace,
20021            'healthy': self.healthy,
20022            'hostname': self.hostname,
20023            'id': self.id,
20024            'name': self.name,
20025            'port': self.port,
20026            'port_override': self.port_override,
20027            'proxy_cluster_id': self.proxy_cluster_id,
20028            'secret_store_id': self.secret_store_id,
20029            'subdomain': self.subdomain,
20030            'tags': self.tags,
20031        }
20032
20033    @classmethod
20034    def from_dict(cls, d):
20035        return cls(
20036            bind_interface=d.get('bind_interface'),
20037            certificate_authority=d.get('certificate_authority'),
20038            client_certificate=d.get('client_certificate'),
20039            client_key=d.get('client_key'),
20040            egress_filter=d.get('egress_filter'),
20041            healthcheck_namespace=d.get('healthcheck_namespace'),
20042            healthy=d.get('healthy'),
20043            hostname=d.get('hostname'),
20044            id=d.get('id'),
20045            name=d.get('name'),
20046            port=d.get('port'),
20047            port_override=d.get('port_override'),
20048            proxy_cluster_id=d.get('proxy_cluster_id'),
20049            secret_store_id=d.get('secret_store_id'),
20050            subdomain=d.get('subdomain'),
20051            tags=d.get('tags'),
20052        )
20053
20054
20055class LLM:
20056    '''
20057    LLM is currently unstable, and its API may change, or it may be removed,
20058    without a major version bump.
20059    '''
20060    __slots__ = [
20061        'bind_interface',
20062        'egress_filter',
20063        'healthy',
20064        'id',
20065        'models',
20066        'name',
20067        'password',
20068        'port_override',
20069        'proxy_cluster_id',
20070        'secret_store_id',
20071        'subdomain',
20072        'tags',
20073        'url',
20074    ]
20075
20076    def __init__(
20077        self,
20078        bind_interface=None,
20079        egress_filter=None,
20080        healthy=None,
20081        id=None,
20082        models=None,
20083        name=None,
20084        password=None,
20085        port_override=None,
20086        proxy_cluster_id=None,
20087        secret_store_id=None,
20088        subdomain=None,
20089        tags=None,
20090        url=None,
20091    ):
20092        self.bind_interface = bind_interface if bind_interface is not None else ''
20093        '''
20094         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20095        '''
20096        self.egress_filter = egress_filter if egress_filter is not None else ''
20097        '''
20098         A filter applied to the routing logic to pin datasource to nodes.
20099        '''
20100        self.healthy = healthy if healthy is not None else False
20101        '''
20102         True if the datasource is reachable and the credentials are valid.
20103        '''
20104        self.id = id if id is not None else ''
20105        '''
20106         Unique identifier of the Resource.
20107        '''
20108        self.models = models if models is not None else ''
20109        '''
20110         Space-separated list of model names this resource accepts. Requests for unlisted models are rejected. Leave empty to allow all models.
20111        '''
20112        self.name = name if name is not None else ''
20113        '''
20114         Unique human-readable name of the Resource.
20115        '''
20116        self.password = password if password is not None else ''
20117        '''
20118         The password to authenticate with.
20119        '''
20120        self.port_override = port_override if port_override is not None else 0
20121        '''
20122         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20123        '''
20124        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20125        '''
20126         ID of the proxy cluster for this resource, if any.
20127        '''
20128        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20129        '''
20130         ID of the secret store containing credentials for this resource, if any.
20131        '''
20132        self.subdomain = subdomain if subdomain is not None else ''
20133        '''
20134         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20135        '''
20136        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20137        '''
20138         Tags is a map of key, value pairs.
20139        '''
20140        self.url = url if url is not None else ''
20141        '''
20142         The URL to dial to initiate a connection from the egress node to this resource.
20143        '''
20144
20145    def __repr__(self):
20146        return '<sdm.LLM ' + \
20147            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20148            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20149            'healthy: ' + repr(self.healthy) + ' ' +\
20150            'id: ' + repr(self.id) + ' ' +\
20151            'models: ' + repr(self.models) + ' ' +\
20152            'name: ' + repr(self.name) + ' ' +\
20153            'password: ' + repr(self.password) + ' ' +\
20154            'port_override: ' + repr(self.port_override) + ' ' +\
20155            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20156            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20157            'subdomain: ' + repr(self.subdomain) + ' ' +\
20158            'tags: ' + repr(self.tags) + ' ' +\
20159            'url: ' + repr(self.url) + ' ' +\
20160            '>'
20161
20162    def to_dict(self):
20163        return {
20164            'bind_interface': self.bind_interface,
20165            'egress_filter': self.egress_filter,
20166            'healthy': self.healthy,
20167            'id': self.id,
20168            'models': self.models,
20169            'name': self.name,
20170            'password': self.password,
20171            'port_override': self.port_override,
20172            'proxy_cluster_id': self.proxy_cluster_id,
20173            'secret_store_id': self.secret_store_id,
20174            'subdomain': self.subdomain,
20175            'tags': self.tags,
20176            'url': self.url,
20177        }
20178
20179    @classmethod
20180    def from_dict(cls, d):
20181        return cls(
20182            bind_interface=d.get('bind_interface'),
20183            egress_filter=d.get('egress_filter'),
20184            healthy=d.get('healthy'),
20185            id=d.get('id'),
20186            models=d.get('models'),
20187            name=d.get('name'),
20188            password=d.get('password'),
20189            port_override=d.get('port_override'),
20190            proxy_cluster_id=d.get('proxy_cluster_id'),
20191            secret_store_id=d.get('secret_store_id'),
20192            subdomain=d.get('subdomain'),
20193            tags=d.get('tags'),
20194            url=d.get('url'),
20195        )
20196
20197
20198class LogCategoryConfig:
20199    __slots__ = [
20200        'remote_discard_replays',
20201        'remote_encoder',
20202    ]
20203
20204    def __init__(
20205        self,
20206        remote_discard_replays=None,
20207        remote_encoder=None,
20208    ):
20209        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
20210        '''
20211         Indicates if the Organization should exclude replay data from remote logging for the log category.
20212        '''
20213        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
20214        '''
20215         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20216        '''
20217
20218    def __repr__(self):
20219        return '<sdm.LogCategoryConfig ' + \
20220            'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
20221            'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
20222            '>'
20223
20224    def to_dict(self):
20225        return {
20226            'remote_discard_replays': self.remote_discard_replays,
20227            'remote_encoder': self.remote_encoder,
20228        }
20229
20230    @classmethod
20231    def from_dict(cls, d):
20232        return cls(
20233            remote_discard_replays=d.get('remote_discard_replays'),
20234            remote_encoder=d.get('remote_encoder'),
20235        )
20236
20237
20238class LogConfig:
20239    __slots__ = [
20240        'categories',
20241        'local_encoder',
20242        'local_format',
20243        'local_socket_path',
20244        'local_storage',
20245        'local_tcp_address',
20246        'public_key',
20247    ]
20248
20249    def __init__(
20250        self,
20251        categories=None,
20252        local_encoder=None,
20253        local_format=None,
20254        local_socket_path=None,
20255        local_storage=None,
20256        local_tcp_address=None,
20257        public_key=None,
20258    ):
20259        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
20260        )
20261        '''
20262         The Organization's log category configuration settings.
20263        '''
20264        self.local_encoder = local_encoder if local_encoder is not None else ''
20265        '''
20266         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20267        '''
20268        self.local_format = local_format if local_format is not None else ''
20269        '''
20270         The Organization's local log format, one of the LogLocalFormat constants.
20271        '''
20272        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
20273        '''
20274         The Organization's local log socket path.
20275        '''
20276        self.local_storage = local_storage if local_storage is not None else ''
20277        '''
20278         The Organization's local log storage, one of the LogLocalStorage constants.
20279        '''
20280        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
20281        '''
20282         The Organization's local log TCP address.
20283        '''
20284        self.public_key = public_key if public_key is not None else ''
20285        '''
20286         The Organization's public key in PEM format for encrypting logs.
20287        '''
20288
20289    def __repr__(self):
20290        return '<sdm.LogConfig ' + \
20291            'categories: ' + repr(self.categories) + ' ' +\
20292            'local_encoder: ' + repr(self.local_encoder) + ' ' +\
20293            'local_format: ' + repr(self.local_format) + ' ' +\
20294            'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
20295            'local_storage: ' + repr(self.local_storage) + ' ' +\
20296            'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
20297            'public_key: ' + repr(self.public_key) + ' ' +\
20298            '>'
20299
20300    def to_dict(self):
20301        return {
20302            'categories': self.categories,
20303            'local_encoder': self.local_encoder,
20304            'local_format': self.local_format,
20305            'local_socket_path': self.local_socket_path,
20306            'local_storage': self.local_storage,
20307            'local_tcp_address': self.local_tcp_address,
20308            'public_key': self.public_key,
20309        }
20310
20311    @classmethod
20312    def from_dict(cls, d):
20313        return cls(
20314            categories=d.get('categories'),
20315            local_encoder=d.get('local_encoder'),
20316            local_format=d.get('local_format'),
20317            local_socket_path=d.get('local_socket_path'),
20318            local_storage=d.get('local_storage'),
20319            local_tcp_address=d.get('local_tcp_address'),
20320            public_key=d.get('public_key'),
20321        )
20322
20323
20324class MCPGatewayNoAuth:
20325    __slots__ = [
20326        'bind_interface',
20327        'egress_filter',
20328        'healthy',
20329        'hostname',
20330        'id',
20331        'name',
20332        'port_override',
20333        'proxy_cluster_id',
20334        'secret_store_id',
20335        'subdomain',
20336        'tags',
20337        'url',
20338    ]
20339
20340    def __init__(
20341        self,
20342        bind_interface=None,
20343        egress_filter=None,
20344        healthy=None,
20345        hostname=None,
20346        id=None,
20347        name=None,
20348        port_override=None,
20349        proxy_cluster_id=None,
20350        secret_store_id=None,
20351        subdomain=None,
20352        tags=None,
20353        url=None,
20354    ):
20355        self.bind_interface = bind_interface if bind_interface is not None else ''
20356        '''
20357         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20358        '''
20359        self.egress_filter = egress_filter if egress_filter is not None else ''
20360        '''
20361         A filter applied to the routing logic to pin datasource to nodes.
20362        '''
20363        self.healthy = healthy if healthy is not None else False
20364        '''
20365         True if the datasource is reachable and the credentials are valid.
20366        '''
20367        self.hostname = hostname if hostname is not None else ''
20368        '''
20369         The host to dial to initiate a connection from the egress node to this resource.
20370        '''
20371        self.id = id if id is not None else ''
20372        '''
20373         Unique identifier of the Resource.
20374        '''
20375        self.name = name if name is not None else ''
20376        '''
20377         Unique human-readable name of the Resource.
20378        '''
20379        self.port_override = port_override if port_override is not None else 0
20380        '''
20381         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20382        '''
20383        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20384        '''
20385         ID of the proxy cluster for this resource, if any.
20386        '''
20387        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20388        '''
20389         ID of the secret store containing credentials for this resource, if any.
20390        '''
20391        self.subdomain = subdomain if subdomain is not None else ''
20392        '''
20393         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20394        '''
20395        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20396        '''
20397         Tags is a map of key, value pairs.
20398        '''
20399        self.url = url if url is not None else ''
20400        '''
20401         The URL to dial to initiate a connection from the egress node to this resource.
20402        '''
20403
20404    def __repr__(self):
20405        return '<sdm.MCPGatewayNoAuth ' + \
20406            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20407            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20408            'healthy: ' + repr(self.healthy) + ' ' +\
20409            'hostname: ' + repr(self.hostname) + ' ' +\
20410            'id: ' + repr(self.id) + ' ' +\
20411            'name: ' + repr(self.name) + ' ' +\
20412            'port_override: ' + repr(self.port_override) + ' ' +\
20413            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20414            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20415            'subdomain: ' + repr(self.subdomain) + ' ' +\
20416            'tags: ' + repr(self.tags) + ' ' +\
20417            'url: ' + repr(self.url) + ' ' +\
20418            '>'
20419
20420    def to_dict(self):
20421        return {
20422            'bind_interface': self.bind_interface,
20423            'egress_filter': self.egress_filter,
20424            'healthy': self.healthy,
20425            'hostname': self.hostname,
20426            'id': self.id,
20427            'name': self.name,
20428            'port_override': self.port_override,
20429            'proxy_cluster_id': self.proxy_cluster_id,
20430            'secret_store_id': self.secret_store_id,
20431            'subdomain': self.subdomain,
20432            'tags': self.tags,
20433            'url': self.url,
20434        }
20435
20436    @classmethod
20437    def from_dict(cls, d):
20438        return cls(
20439            bind_interface=d.get('bind_interface'),
20440            egress_filter=d.get('egress_filter'),
20441            healthy=d.get('healthy'),
20442            hostname=d.get('hostname'),
20443            id=d.get('id'),
20444            name=d.get('name'),
20445            port_override=d.get('port_override'),
20446            proxy_cluster_id=d.get('proxy_cluster_id'),
20447            secret_store_id=d.get('secret_store_id'),
20448            subdomain=d.get('subdomain'),
20449            tags=d.get('tags'),
20450            url=d.get('url'),
20451        )
20452
20453
20454class MCPGatewayOAuth:
20455    __slots__ = [
20456        'bind_interface',
20457        'egress_filter',
20458        'healthy',
20459        'hostname',
20460        'id',
20461        'name',
20462        'oauth_auth_endpoint',
20463        'oauth_scopes',
20464        'oauth_token_endpoint',
20465        'password',
20466        'port_override',
20467        'proxy_cluster_id',
20468        'secret_store_id',
20469        'subdomain',
20470        'tags',
20471        'url',
20472        'username',
20473    ]
20474
20475    def __init__(
20476        self,
20477        bind_interface=None,
20478        egress_filter=None,
20479        healthy=None,
20480        hostname=None,
20481        id=None,
20482        name=None,
20483        oauth_auth_endpoint=None,
20484        oauth_scopes=None,
20485        oauth_token_endpoint=None,
20486        password=None,
20487        port_override=None,
20488        proxy_cluster_id=None,
20489        secret_store_id=None,
20490        subdomain=None,
20491        tags=None,
20492        url=None,
20493        username=None,
20494    ):
20495        self.bind_interface = bind_interface if bind_interface is not None else ''
20496        '''
20497         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20498        '''
20499        self.egress_filter = egress_filter if egress_filter is not None else ''
20500        '''
20501         A filter applied to the routing logic to pin datasource to nodes.
20502        '''
20503        self.healthy = healthy if healthy is not None else False
20504        '''
20505         True if the datasource is reachable and the credentials are valid.
20506        '''
20507        self.hostname = hostname if hostname is not None else ''
20508        '''
20509         The host to dial to initiate a connection from the egress node to this resource.
20510        '''
20511        self.id = id if id is not None else ''
20512        '''
20513         Unique identifier of the Resource.
20514        '''
20515        self.name = name if name is not None else ''
20516        '''
20517         Unique human-readable name of the Resource.
20518        '''
20519        self.oauth_auth_endpoint = oauth_auth_endpoint if oauth_auth_endpoint is not None else ''
20520        '''
20521         The OAuth 2.0 authorization endpoint URL.
20522        '''
20523        self.oauth_scopes = oauth_scopes if oauth_scopes is not None else ''
20524        '''
20525         Space-separated list of OAuth scopes to request.
20526        '''
20527        self.oauth_token_endpoint = oauth_token_endpoint if oauth_token_endpoint is not None else ''
20528        '''
20529         The OAuth 2.0 token endpoint URL.
20530        '''
20531        self.password = password if password is not None else ''
20532        '''
20533         OAuth App Client Secret
20534        '''
20535        self.port_override = port_override if port_override is not None else 0
20536        '''
20537         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20538        '''
20539        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20540        '''
20541         ID of the proxy cluster for this resource, if any.
20542        '''
20543        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20544        '''
20545         ID of the secret store containing credentials for this resource, if any.
20546        '''
20547        self.subdomain = subdomain if subdomain is not None else ''
20548        '''
20549         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20550        '''
20551        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20552        '''
20553         Tags is a map of key, value pairs.
20554        '''
20555        self.url = url if url is not None else ''
20556        '''
20557         The URL to dial to initiate a connection from the egress node to this resource.
20558        '''
20559        self.username = username if username is not None else ''
20560        '''
20561         OAuth App Client ID
20562        '''
20563
20564    def __repr__(self):
20565        return '<sdm.MCPGatewayOAuth ' + \
20566            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20567            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20568            'healthy: ' + repr(self.healthy) + ' ' +\
20569            'hostname: ' + repr(self.hostname) + ' ' +\
20570            'id: ' + repr(self.id) + ' ' +\
20571            'name: ' + repr(self.name) + ' ' +\
20572            'oauth_auth_endpoint: ' + repr(self.oauth_auth_endpoint) + ' ' +\
20573            'oauth_scopes: ' + repr(self.oauth_scopes) + ' ' +\
20574            'oauth_token_endpoint: ' + repr(self.oauth_token_endpoint) + ' ' +\
20575            'password: ' + repr(self.password) + ' ' +\
20576            'port_override: ' + repr(self.port_override) + ' ' +\
20577            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20578            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20579            'subdomain: ' + repr(self.subdomain) + ' ' +\
20580            'tags: ' + repr(self.tags) + ' ' +\
20581            'url: ' + repr(self.url) + ' ' +\
20582            'username: ' + repr(self.username) + ' ' +\
20583            '>'
20584
20585    def to_dict(self):
20586        return {
20587            'bind_interface': self.bind_interface,
20588            'egress_filter': self.egress_filter,
20589            'healthy': self.healthy,
20590            'hostname': self.hostname,
20591            'id': self.id,
20592            'name': self.name,
20593            'oauth_auth_endpoint': self.oauth_auth_endpoint,
20594            'oauth_scopes': self.oauth_scopes,
20595            'oauth_token_endpoint': self.oauth_token_endpoint,
20596            'password': self.password,
20597            'port_override': self.port_override,
20598            'proxy_cluster_id': self.proxy_cluster_id,
20599            'secret_store_id': self.secret_store_id,
20600            'subdomain': self.subdomain,
20601            'tags': self.tags,
20602            'url': self.url,
20603            'username': self.username,
20604        }
20605
20606    @classmethod
20607    def from_dict(cls, d):
20608        return cls(
20609            bind_interface=d.get('bind_interface'),
20610            egress_filter=d.get('egress_filter'),
20611            healthy=d.get('healthy'),
20612            hostname=d.get('hostname'),
20613            id=d.get('id'),
20614            name=d.get('name'),
20615            oauth_auth_endpoint=d.get('oauth_auth_endpoint'),
20616            oauth_scopes=d.get('oauth_scopes'),
20617            oauth_token_endpoint=d.get('oauth_token_endpoint'),
20618            password=d.get('password'),
20619            port_override=d.get('port_override'),
20620            proxy_cluster_id=d.get('proxy_cluster_id'),
20621            secret_store_id=d.get('secret_store_id'),
20622            subdomain=d.get('subdomain'),
20623            tags=d.get('tags'),
20624            url=d.get('url'),
20625            username=d.get('username'),
20626        )
20627
20628
20629class MCPGatewayOAuthDCR:
20630    __slots__ = [
20631        'bind_interface',
20632        'egress_filter',
20633        'healthy',
20634        'hostname',
20635        'id',
20636        'name',
20637        'oauth_auth_endpoint',
20638        'oauth_register_endpoint',
20639        'oauth_scopes',
20640        'oauth_token_endpoint',
20641        'port_override',
20642        'proxy_cluster_id',
20643        'secret_store_id',
20644        'subdomain',
20645        'tags',
20646        'url',
20647    ]
20648
20649    def __init__(
20650        self,
20651        bind_interface=None,
20652        egress_filter=None,
20653        healthy=None,
20654        hostname=None,
20655        id=None,
20656        name=None,
20657        oauth_auth_endpoint=None,
20658        oauth_register_endpoint=None,
20659        oauth_scopes=None,
20660        oauth_token_endpoint=None,
20661        port_override=None,
20662        proxy_cluster_id=None,
20663        secret_store_id=None,
20664        subdomain=None,
20665        tags=None,
20666        url=None,
20667    ):
20668        self.bind_interface = bind_interface if bind_interface is not None else ''
20669        '''
20670         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20671        '''
20672        self.egress_filter = egress_filter if egress_filter is not None else ''
20673        '''
20674         A filter applied to the routing logic to pin datasource to nodes.
20675        '''
20676        self.healthy = healthy if healthy is not None else False
20677        '''
20678         True if the datasource is reachable and the credentials are valid.
20679        '''
20680        self.hostname = hostname if hostname is not None else ''
20681        '''
20682         The host to dial to initiate a connection from the egress node to this resource.
20683        '''
20684        self.id = id if id is not None else ''
20685        '''
20686         Unique identifier of the Resource.
20687        '''
20688        self.name = name if name is not None else ''
20689        '''
20690         Unique human-readable name of the Resource.
20691        '''
20692        self.oauth_auth_endpoint = oauth_auth_endpoint if oauth_auth_endpoint is not None else ''
20693        '''
20694         The OAuth 2.0 authorization endpoint URL.
20695        '''
20696        self.oauth_register_endpoint = oauth_register_endpoint if oauth_register_endpoint is not None else ''
20697        '''
20698         The OAuth 2.0 dynamic client registration endpoint URL.
20699        '''
20700        self.oauth_scopes = oauth_scopes if oauth_scopes is not None else ''
20701        '''
20702         Space-separated list of OAuth scopes to request.
20703        '''
20704        self.oauth_token_endpoint = oauth_token_endpoint if oauth_token_endpoint is not None else ''
20705        '''
20706         The OAuth 2.0 token endpoint URL.
20707        '''
20708        self.port_override = port_override if port_override is not None else 0
20709        '''
20710         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20711        '''
20712        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20713        '''
20714         ID of the proxy cluster for this resource, if any.
20715        '''
20716        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20717        '''
20718         ID of the secret store containing credentials for this resource, if any.
20719        '''
20720        self.subdomain = subdomain if subdomain is not None else ''
20721        '''
20722         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20723        '''
20724        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20725        '''
20726         Tags is a map of key, value pairs.
20727        '''
20728        self.url = url if url is not None else ''
20729        '''
20730         The URL to dial to initiate a connection from the egress node to this resource.
20731        '''
20732
20733    def __repr__(self):
20734        return '<sdm.MCPGatewayOAuthDCR ' + \
20735            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20736            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20737            'healthy: ' + repr(self.healthy) + ' ' +\
20738            'hostname: ' + repr(self.hostname) + ' ' +\
20739            'id: ' + repr(self.id) + ' ' +\
20740            'name: ' + repr(self.name) + ' ' +\
20741            'oauth_auth_endpoint: ' + repr(self.oauth_auth_endpoint) + ' ' +\
20742            'oauth_register_endpoint: ' + repr(self.oauth_register_endpoint) + ' ' +\
20743            'oauth_scopes: ' + repr(self.oauth_scopes) + ' ' +\
20744            'oauth_token_endpoint: ' + repr(self.oauth_token_endpoint) + ' ' +\
20745            'port_override: ' + repr(self.port_override) + ' ' +\
20746            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20747            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20748            'subdomain: ' + repr(self.subdomain) + ' ' +\
20749            'tags: ' + repr(self.tags) + ' ' +\
20750            'url: ' + repr(self.url) + ' ' +\
20751            '>'
20752
20753    def to_dict(self):
20754        return {
20755            'bind_interface': self.bind_interface,
20756            'egress_filter': self.egress_filter,
20757            'healthy': self.healthy,
20758            'hostname': self.hostname,
20759            'id': self.id,
20760            'name': self.name,
20761            'oauth_auth_endpoint': self.oauth_auth_endpoint,
20762            'oauth_register_endpoint': self.oauth_register_endpoint,
20763            'oauth_scopes': self.oauth_scopes,
20764            'oauth_token_endpoint': self.oauth_token_endpoint,
20765            'port_override': self.port_override,
20766            'proxy_cluster_id': self.proxy_cluster_id,
20767            'secret_store_id': self.secret_store_id,
20768            'subdomain': self.subdomain,
20769            'tags': self.tags,
20770            'url': self.url,
20771        }
20772
20773    @classmethod
20774    def from_dict(cls, d):
20775        return cls(
20776            bind_interface=d.get('bind_interface'),
20777            egress_filter=d.get('egress_filter'),
20778            healthy=d.get('healthy'),
20779            hostname=d.get('hostname'),
20780            id=d.get('id'),
20781            name=d.get('name'),
20782            oauth_auth_endpoint=d.get('oauth_auth_endpoint'),
20783            oauth_register_endpoint=d.get('oauth_register_endpoint'),
20784            oauth_scopes=d.get('oauth_scopes'),
20785            oauth_token_endpoint=d.get('oauth_token_endpoint'),
20786            port_override=d.get('port_override'),
20787            proxy_cluster_id=d.get('proxy_cluster_id'),
20788            secret_store_id=d.get('secret_store_id'),
20789            subdomain=d.get('subdomain'),
20790            tags=d.get('tags'),
20791            url=d.get('url'),
20792        )
20793
20794
20795class MCPGatewayPAT:
20796    __slots__ = [
20797        'bind_interface',
20798        'egress_filter',
20799        'healthy',
20800        'hostname',
20801        'id',
20802        'name',
20803        'password',
20804        'port_override',
20805        'proxy_cluster_id',
20806        'secret_store_id',
20807        'subdomain',
20808        'tags',
20809        'url',
20810    ]
20811
20812    def __init__(
20813        self,
20814        bind_interface=None,
20815        egress_filter=None,
20816        healthy=None,
20817        hostname=None,
20818        id=None,
20819        name=None,
20820        password=None,
20821        port_override=None,
20822        proxy_cluster_id=None,
20823        secret_store_id=None,
20824        subdomain=None,
20825        tags=None,
20826        url=None,
20827    ):
20828        self.bind_interface = bind_interface if bind_interface is not None else ''
20829        '''
20830         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20831        '''
20832        self.egress_filter = egress_filter if egress_filter is not None else ''
20833        '''
20834         A filter applied to the routing logic to pin datasource to nodes.
20835        '''
20836        self.healthy = healthy if healthy is not None else False
20837        '''
20838         True if the datasource is reachable and the credentials are valid.
20839        '''
20840        self.hostname = hostname if hostname is not None else ''
20841        '''
20842         The host to dial to initiate a connection from the egress node to this resource.
20843        '''
20844        self.id = id if id is not None else ''
20845        '''
20846         Unique identifier of the Resource.
20847        '''
20848        self.name = name if name is not None else ''
20849        '''
20850         Unique human-readable name of the Resource.
20851        '''
20852        self.password = password if password is not None else ''
20853        '''
20854         The password to authenticate with.
20855        '''
20856        self.port_override = port_override if port_override is not None else 0
20857        '''
20858         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20859        '''
20860        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20861        '''
20862         ID of the proxy cluster for this resource, if any.
20863        '''
20864        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20865        '''
20866         ID of the secret store containing credentials for this resource, if any.
20867        '''
20868        self.subdomain = subdomain if subdomain is not None else ''
20869        '''
20870         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20871        '''
20872        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20873        '''
20874         Tags is a map of key, value pairs.
20875        '''
20876        self.url = url if url is not None else ''
20877        '''
20878         The URL to dial to initiate a connection from the egress node to this resource.
20879        '''
20880
20881    def __repr__(self):
20882        return '<sdm.MCPGatewayPAT ' + \
20883            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20884            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20885            'healthy: ' + repr(self.healthy) + ' ' +\
20886            'hostname: ' + repr(self.hostname) + ' ' +\
20887            'id: ' + repr(self.id) + ' ' +\
20888            'name: ' + repr(self.name) + ' ' +\
20889            'password: ' + repr(self.password) + ' ' +\
20890            'port_override: ' + repr(self.port_override) + ' ' +\
20891            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20892            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20893            'subdomain: ' + repr(self.subdomain) + ' ' +\
20894            'tags: ' + repr(self.tags) + ' ' +\
20895            'url: ' + repr(self.url) + ' ' +\
20896            '>'
20897
20898    def to_dict(self):
20899        return {
20900            'bind_interface': self.bind_interface,
20901            'egress_filter': self.egress_filter,
20902            'healthy': self.healthy,
20903            'hostname': self.hostname,
20904            'id': self.id,
20905            'name': self.name,
20906            'password': self.password,
20907            'port_override': self.port_override,
20908            'proxy_cluster_id': self.proxy_cluster_id,
20909            'secret_store_id': self.secret_store_id,
20910            'subdomain': self.subdomain,
20911            'tags': self.tags,
20912            'url': self.url,
20913        }
20914
20915    @classmethod
20916    def from_dict(cls, d):
20917        return cls(
20918            bind_interface=d.get('bind_interface'),
20919            egress_filter=d.get('egress_filter'),
20920            healthy=d.get('healthy'),
20921            hostname=d.get('hostname'),
20922            id=d.get('id'),
20923            name=d.get('name'),
20924            password=d.get('password'),
20925            port_override=d.get('port_override'),
20926            proxy_cluster_id=d.get('proxy_cluster_id'),
20927            secret_store_id=d.get('secret_store_id'),
20928            subdomain=d.get('subdomain'),
20929            tags=d.get('tags'),
20930            url=d.get('url'),
20931        )
20932
20933
20934class MFAConfig:
20935    __slots__ = [
20936        'enabled',
20937        'okta',
20938        'provider',
20939    ]
20940
20941    def __init__(
20942        self,
20943        enabled=None,
20944        okta=None,
20945        provider=None,
20946    ):
20947        self.enabled = enabled if enabled is not None else False
20948        '''
20949         Indicates if MFA is enabled for the organization.
20950        '''
20951        self.okta = okta if okta is not None else None
20952        '''
20953         Okta MFA configuration. Future providers will be added to this wrapper.
20954        '''
20955        self.provider = provider if provider is not None else ''
20956        '''
20957         The MFA provider, one of the MFAProvider constants.
20958        '''
20959
20960    def __repr__(self):
20961        return '<sdm.MFAConfig ' + \
20962            'enabled: ' + repr(self.enabled) + ' ' +\
20963            'okta: ' + repr(self.okta) + ' ' +\
20964            'provider: ' + repr(self.provider) + ' ' +\
20965            '>'
20966
20967    def to_dict(self):
20968        return {
20969            'enabled': self.enabled,
20970            'okta': self.okta,
20971            'provider': self.provider,
20972        }
20973
20974    @classmethod
20975    def from_dict(cls, d):
20976        return cls(
20977            enabled=d.get('enabled'),
20978            okta=d.get('okta'),
20979            provider=d.get('provider'),
20980        )
20981
20982
20983class MTLSMysql:
20984    __slots__ = [
20985        'bind_interface',
20986        'certificate_authority',
20987        'client_certificate',
20988        'client_key',
20989        'database',
20990        'egress_filter',
20991        'healthy',
20992        'hostname',
20993        'id',
20994        'name',
20995        'password',
20996        'port',
20997        'port_override',
20998        'proxy_cluster_id',
20999        'require_native_auth',
21000        'secret_store_id',
21001        'server_name',
21002        'subdomain',
21003        'tags',
21004        'use_azure_single_server_usernames',
21005        'username',
21006    ]
21007
21008    def __init__(
21009        self,
21010        bind_interface=None,
21011        certificate_authority=None,
21012        client_certificate=None,
21013        client_key=None,
21014        database=None,
21015        egress_filter=None,
21016        healthy=None,
21017        hostname=None,
21018        id=None,
21019        name=None,
21020        password=None,
21021        port=None,
21022        port_override=None,
21023        proxy_cluster_id=None,
21024        require_native_auth=None,
21025        secret_store_id=None,
21026        server_name=None,
21027        subdomain=None,
21028        tags=None,
21029        use_azure_single_server_usernames=None,
21030        username=None,
21031    ):
21032        self.bind_interface = bind_interface if bind_interface is not None else ''
21033        '''
21034         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21035        '''
21036        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
21037        '''
21038         The CA to authenticate TLS connections with.
21039        '''
21040        self.client_certificate = client_certificate if client_certificate is not None else ''
21041        '''
21042         The certificate to authenticate TLS connections with.
21043        '''
21044        self.client_key = client_key if client_key is not None else ''
21045        '''
21046         The key to authenticate TLS connections with.
21047        '''
21048        self.database = database if database is not None else ''
21049        '''
21050         The database for healthchecks. Does not affect client requests.
21051        '''
21052        self.egress_filter = egress_filter if egress_filter is not None else ''
21053        '''
21054         A filter applied to the routing logic to pin datasource to nodes.
21055        '''
21056        self.healthy = healthy if healthy is not None else False
21057        '''
21058         True if the datasource is reachable and the credentials are valid.
21059        '''
21060        self.hostname = hostname if hostname is not None else ''
21061        '''
21062         The host to dial to initiate a connection from the egress node to this resource.
21063        '''
21064        self.id = id if id is not None else ''
21065        '''
21066         Unique identifier of the Resource.
21067        '''
21068        self.name = name if name is not None else ''
21069        '''
21070         Unique human-readable name of the Resource.
21071        '''
21072        self.password = password if password is not None else ''
21073        '''
21074         The password to authenticate with.
21075        '''
21076        self.port = port if port is not None else 0
21077        '''
21078         The port to dial to initiate a connection from the egress node to this resource.
21079        '''
21080        self.port_override = port_override if port_override is not None else 0
21081        '''
21082         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21083        '''
21084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21085        '''
21086         ID of the proxy cluster for this resource, if any.
21087        '''
21088        self.require_native_auth = require_native_auth if require_native_auth is not None else False
21089        '''
21090         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
21091        '''
21092        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21093        '''
21094         ID of the secret store containing credentials for this resource, if any.
21095        '''
21096        self.server_name = server_name if server_name is not None else ''
21097        '''
21098         Server name for TLS verification (unverified by StrongDM if empty)
21099        '''
21100        self.subdomain = subdomain if subdomain is not None else ''
21101        '''
21102         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21103        '''
21104        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21105        '''
21106         Tags is a map of key, value pairs.
21107        '''
21108        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
21109        '''
21110         If true, appends the hostname to the username when hitting a database.azure.com address
21111        '''
21112        self.username = username if username is not None else ''
21113        '''
21114         The username to authenticate with.
21115        '''
21116
21117    def __repr__(self):
21118        return '<sdm.MTLSMysql ' + \
21119            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21120            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
21121            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
21122            'client_key: ' + repr(self.client_key) + ' ' +\
21123            'database: ' + repr(self.database) + ' ' +\
21124            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21125            'healthy: ' + repr(self.healthy) + ' ' +\
21126            'hostname: ' + repr(self.hostname) + ' ' +\
21127            'id: ' + repr(self.id) + ' ' +\
21128            'name: ' + repr(self.name) + ' ' +\
21129            'password: ' + repr(self.password) + ' ' +\
21130            'port: ' + repr(self.port) + ' ' +\
21131            'port_override: ' + repr(self.port_override) + ' ' +\
21132            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21133            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
21134            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21135            'server_name: ' + repr(self.server_name) + ' ' +\
21136            'subdomain: ' + repr(self.subdomain) + ' ' +\
21137            'tags: ' + repr(self.tags) + ' ' +\
21138            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
21139            'username: ' + repr(self.username) + ' ' +\
21140            '>'
21141
21142    def to_dict(self):
21143        return {
21144            'bind_interface': self.bind_interface,
21145            'certificate_authority': self.certificate_authority,
21146            'client_certificate': self.client_certificate,
21147            'client_key': self.client_key,
21148            'database': self.database,
21149            'egress_filter': self.egress_filter,
21150            'healthy': self.healthy,
21151            'hostname': self.hostname,
21152            'id': self.id,
21153            'name': self.name,
21154            'password': self.password,
21155            'port': self.port,
21156            'port_override': self.port_override,
21157            'proxy_cluster_id': self.proxy_cluster_id,
21158            'require_native_auth': self.require_native_auth,
21159            'secret_store_id': self.secret_store_id,
21160            'server_name': self.server_name,
21161            'subdomain': self.subdomain,
21162            'tags': self.tags,
21163            'use_azure_single_server_usernames':
21164            self.use_azure_single_server_usernames,
21165            'username': self.username,
21166        }
21167
21168    @classmethod
21169    def from_dict(cls, d):
21170        return cls(
21171            bind_interface=d.get('bind_interface'),
21172            certificate_authority=d.get('certificate_authority'),
21173            client_certificate=d.get('client_certificate'),
21174            client_key=d.get('client_key'),
21175            database=d.get('database'),
21176            egress_filter=d.get('egress_filter'),
21177            healthy=d.get('healthy'),
21178            hostname=d.get('hostname'),
21179            id=d.get('id'),
21180            name=d.get('name'),
21181            password=d.get('password'),
21182            port=d.get('port'),
21183            port_override=d.get('port_override'),
21184            proxy_cluster_id=d.get('proxy_cluster_id'),
21185            require_native_auth=d.get('require_native_auth'),
21186            secret_store_id=d.get('secret_store_id'),
21187            server_name=d.get('server_name'),
21188            subdomain=d.get('subdomain'),
21189            tags=d.get('tags'),
21190            use_azure_single_server_usernames=d.get(
21191                'use_azure_single_server_usernames'),
21192            username=d.get('username'),
21193        )
21194
21195
21196class MTLSPostgres:
21197    __slots__ = [
21198        'bind_interface',
21199        'certificate_authority',
21200        'client_certificate',
21201        'client_key',
21202        'database',
21203        'egress_filter',
21204        'healthy',
21205        'hostname',
21206        'id',
21207        'name',
21208        'override_database',
21209        'password',
21210        'port',
21211        'port_override',
21212        'proxy_cluster_id',
21213        'secret_store_id',
21214        'server_name',
21215        'subdomain',
21216        'tags',
21217        'username',
21218    ]
21219
21220    def __init__(
21221        self,
21222        bind_interface=None,
21223        certificate_authority=None,
21224        client_certificate=None,
21225        client_key=None,
21226        database=None,
21227        egress_filter=None,
21228        healthy=None,
21229        hostname=None,
21230        id=None,
21231        name=None,
21232        override_database=None,
21233        password=None,
21234        port=None,
21235        port_override=None,
21236        proxy_cluster_id=None,
21237        secret_store_id=None,
21238        server_name=None,
21239        subdomain=None,
21240        tags=None,
21241        username=None,
21242    ):
21243        self.bind_interface = bind_interface if bind_interface is not None else ''
21244        '''
21245         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21246        '''
21247        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
21248        '''
21249         The CA to authenticate TLS connections with.
21250        '''
21251        self.client_certificate = client_certificate if client_certificate is not None else ''
21252        '''
21253         The certificate to authenticate TLS connections with.
21254        '''
21255        self.client_key = client_key if client_key is not None else ''
21256        '''
21257         The key to authenticate TLS connections with.
21258        '''
21259        self.database = database if database is not None else ''
21260        '''
21261         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21262        '''
21263        self.egress_filter = egress_filter if egress_filter is not None else ''
21264        '''
21265         A filter applied to the routing logic to pin datasource to nodes.
21266        '''
21267        self.healthy = healthy if healthy is not None else False
21268        '''
21269         True if the datasource is reachable and the credentials are valid.
21270        '''
21271        self.hostname = hostname if hostname is not None else ''
21272        '''
21273         The host to dial to initiate a connection from the egress node to this resource.
21274        '''
21275        self.id = id if id is not None else ''
21276        '''
21277         Unique identifier of the Resource.
21278        '''
21279        self.name = name if name is not None else ''
21280        '''
21281         Unique human-readable name of the Resource.
21282        '''
21283        self.override_database = override_database if override_database is not None else False
21284        '''
21285         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21286        '''
21287        self.password = password if password is not None else ''
21288        '''
21289         The password to authenticate with.
21290        '''
21291        self.port = port if port is not None else 0
21292        '''
21293         The port to dial to initiate a connection from the egress node to this resource.
21294        '''
21295        self.port_override = port_override if port_override is not None else 0
21296        '''
21297         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21298        '''
21299        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21300        '''
21301         ID of the proxy cluster for this resource, if any.
21302        '''
21303        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21304        '''
21305         ID of the secret store containing credentials for this resource, if any.
21306        '''
21307        self.server_name = server_name if server_name is not None else ''
21308        '''
21309         Server name for TLS verification (unverified by StrongDM if empty)
21310        '''
21311        self.subdomain = subdomain if subdomain is not None else ''
21312        '''
21313         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21314        '''
21315        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21316        '''
21317         Tags is a map of key, value pairs.
21318        '''
21319        self.username = username if username is not None else ''
21320        '''
21321         The username to authenticate with.
21322        '''
21323
21324    def __repr__(self):
21325        return '<sdm.MTLSPostgres ' + \
21326            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21327            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
21328            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
21329            'client_key: ' + repr(self.client_key) + ' ' +\
21330            'database: ' + repr(self.database) + ' ' +\
21331            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21332            'healthy: ' + repr(self.healthy) + ' ' +\
21333            'hostname: ' + repr(self.hostname) + ' ' +\
21334            'id: ' + repr(self.id) + ' ' +\
21335            'name: ' + repr(self.name) + ' ' +\
21336            'override_database: ' + repr(self.override_database) + ' ' +\
21337            'password: ' + repr(self.password) + ' ' +\
21338            'port: ' + repr(self.port) + ' ' +\
21339            'port_override: ' + repr(self.port_override) + ' ' +\
21340            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21341            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21342            'server_name: ' + repr(self.server_name) + ' ' +\
21343            'subdomain: ' + repr(self.subdomain) + ' ' +\
21344            'tags: ' + repr(self.tags) + ' ' +\
21345            'username: ' + repr(self.username) + ' ' +\
21346            '>'
21347
21348    def to_dict(self):
21349        return {
21350            'bind_interface': self.bind_interface,
21351            'certificate_authority': self.certificate_authority,
21352            'client_certificate': self.client_certificate,
21353            'client_key': self.client_key,
21354            'database': self.database,
21355            'egress_filter': self.egress_filter,
21356            'healthy': self.healthy,
21357            'hostname': self.hostname,
21358            'id': self.id,
21359            'name': self.name,
21360            'override_database': self.override_database,
21361            'password': self.password,
21362            'port': self.port,
21363            'port_override': self.port_override,
21364            'proxy_cluster_id': self.proxy_cluster_id,
21365            'secret_store_id': self.secret_store_id,
21366            'server_name': self.server_name,
21367            'subdomain': self.subdomain,
21368            'tags': self.tags,
21369            'username': self.username,
21370        }
21371
21372    @classmethod
21373    def from_dict(cls, d):
21374        return cls(
21375            bind_interface=d.get('bind_interface'),
21376            certificate_authority=d.get('certificate_authority'),
21377            client_certificate=d.get('client_certificate'),
21378            client_key=d.get('client_key'),
21379            database=d.get('database'),
21380            egress_filter=d.get('egress_filter'),
21381            healthy=d.get('healthy'),
21382            hostname=d.get('hostname'),
21383            id=d.get('id'),
21384            name=d.get('name'),
21385            override_database=d.get('override_database'),
21386            password=d.get('password'),
21387            port=d.get('port'),
21388            port_override=d.get('port_override'),
21389            proxy_cluster_id=d.get('proxy_cluster_id'),
21390            secret_store_id=d.get('secret_store_id'),
21391            server_name=d.get('server_name'),
21392            subdomain=d.get('subdomain'),
21393            tags=d.get('tags'),
21394            username=d.get('username'),
21395        )
21396
21397
21398class ManagedSecret:
21399    '''
21400         ManagedSecret contains details about managed secret
21401    '''
21402    __slots__ = [
21403        'config',
21404        'expires_at',
21405        'id',
21406        'last_rotated_at',
21407        'lock_required',
21408        'name',
21409        'policy',
21410        'secret_engine_id',
21411        'secret_store_path',
21412        'tags',
21413        'value',
21414    ]
21415
21416    def __init__(
21417        self,
21418        config=None,
21419        expires_at=None,
21420        id=None,
21421        last_rotated_at=None,
21422        lock_required=None,
21423        name=None,
21424        policy=None,
21425        secret_engine_id=None,
21426        secret_store_path=None,
21427        tags=None,
21428        value=None,
21429    ):
21430        self.config = config if config is not None else ''
21431        '''
21432         public part of the secret value
21433        '''
21434        self.expires_at = expires_at if expires_at is not None else None
21435        '''
21436         Timestamp of when secret is going to be rotated
21437        '''
21438        self.id = id if id is not None else ''
21439        '''
21440         Unique identifier of the Managed Secret.
21441        '''
21442        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
21443        '''
21444         Timestamp of when secret was last rotated
21445        '''
21446        self.lock_required = lock_required if lock_required is not None else False
21447        '''
21448         Whether the secret requires a lock to access
21449        '''
21450        self.name = name if name is not None else ''
21451        '''
21452         Unique human-readable name of the Managed Secret.
21453        '''
21454        self.policy = policy if policy is not None else None
21455        '''
21456         Password and rotation policy for the secret
21457        '''
21458        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
21459        '''
21460         An ID of a Secret Engine linked with the Managed Secret.
21461        '''
21462        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
21463        '''
21464         Path in a secret store.
21465        '''
21466        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21467        '''
21468         Tags is a map of key, value pairs.
21469        '''
21470        self.value = value if value is not None else b''
21471        '''
21472         Sensitive value of the secret.
21473        '''
21474
21475    def __repr__(self):
21476        return '<sdm.ManagedSecret ' + \
21477            'config: ' + repr(self.config) + ' ' +\
21478            'expires_at: ' + repr(self.expires_at) + ' ' +\
21479            'id: ' + repr(self.id) + ' ' +\
21480            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
21481            'lock_required: ' + repr(self.lock_required) + ' ' +\
21482            'name: ' + repr(self.name) + ' ' +\
21483            'policy: ' + repr(self.policy) + ' ' +\
21484            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
21485            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
21486            'tags: ' + repr(self.tags) + ' ' +\
21487            'value: ' + repr(self.value) + ' ' +\
21488            '>'
21489
21490    def to_dict(self):
21491        return {
21492            'config': self.config,
21493            'expires_at': self.expires_at,
21494            'id': self.id,
21495            'last_rotated_at': self.last_rotated_at,
21496            'lock_required': self.lock_required,
21497            'name': self.name,
21498            'policy': self.policy,
21499            'secret_engine_id': self.secret_engine_id,
21500            'secret_store_path': self.secret_store_path,
21501            'tags': self.tags,
21502            'value': self.value,
21503        }
21504
21505    @classmethod
21506    def from_dict(cls, d):
21507        return cls(
21508            config=d.get('config'),
21509            expires_at=d.get('expires_at'),
21510            id=d.get('id'),
21511            last_rotated_at=d.get('last_rotated_at'),
21512            lock_required=d.get('lock_required'),
21513            name=d.get('name'),
21514            policy=d.get('policy'),
21515            secret_engine_id=d.get('secret_engine_id'),
21516            secret_store_path=d.get('secret_store_path'),
21517            tags=d.get('tags'),
21518            value=d.get('value'),
21519        )
21520
21521
21522class ManagedSecretCreateRequest:
21523    '''
21524         ManagedSecretCreateRequest specifies a Managed Secret to create.
21525    '''
21526    __slots__ = [
21527        'managed_secret',
21528    ]
21529
21530    def __init__(
21531        self,
21532        managed_secret=None,
21533    ):
21534        self.managed_secret = managed_secret if managed_secret is not None else None
21535        '''
21536         Parameters to define the new Managed Secret.
21537        '''
21538
21539    def __repr__(self):
21540        return '<sdm.ManagedSecretCreateRequest ' + \
21541            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
21542            '>'
21543
21544    def to_dict(self):
21545        return {
21546            'managed_secret': self.managed_secret,
21547        }
21548
21549    @classmethod
21550    def from_dict(cls, d):
21551        return cls(managed_secret=d.get('managed_secret'), )
21552
21553
21554class ManagedSecretCreateResponse:
21555    '''
21556         ManagedSecretCreateResponse contains information about a Managed Secret after
21557     successful creation.
21558    '''
21559    __slots__ = [
21560        'managed_secret',
21561        'meta',
21562        'rate_limit',
21563    ]
21564
21565    def __init__(
21566        self,
21567        managed_secret=None,
21568        meta=None,
21569        rate_limit=None,
21570    ):
21571        self.managed_secret = managed_secret if managed_secret is not None else None
21572        '''
21573         The requested Managed Secret.
21574        '''
21575        self.meta = meta if meta is not None else None
21576        '''
21577         Reserved for future use.
21578        '''
21579        self.rate_limit = rate_limit if rate_limit is not None else None
21580        '''
21581         Rate limit information.
21582        '''
21583
21584    def __repr__(self):
21585        return '<sdm.ManagedSecretCreateResponse ' + \
21586            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
21587            'meta: ' + repr(self.meta) + ' ' +\
21588            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21589            '>'
21590
21591    def to_dict(self):
21592        return {
21593            'managed_secret': self.managed_secret,
21594            'meta': self.meta,
21595            'rate_limit': self.rate_limit,
21596        }
21597
21598    @classmethod
21599    def from_dict(cls, d):
21600        return cls(
21601            managed_secret=d.get('managed_secret'),
21602            meta=d.get('meta'),
21603            rate_limit=d.get('rate_limit'),
21604        )
21605
21606
21607class ManagedSecretDeleteRequest:
21608    '''
21609         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
21610     deleted.
21611    '''
21612    __slots__ = [
21613        'id',
21614    ]
21615
21616    def __init__(
21617        self,
21618        id=None,
21619    ):
21620        self.id = id if id is not None else ''
21621        '''
21622         The unique identifier of the Managed Secret to delete.
21623        '''
21624
21625    def __repr__(self):
21626        return '<sdm.ManagedSecretDeleteRequest ' + \
21627            'id: ' + repr(self.id) + ' ' +\
21628            '>'
21629
21630    def to_dict(self):
21631        return {
21632            'id': self.id,
21633        }
21634
21635    @classmethod
21636    def from_dict(cls, d):
21637        return cls(id=d.get('id'), )
21638
21639
21640class ManagedSecretDeleteResponse:
21641    '''
21642         ManagedSecretDeleteResponse contains information about a Managed Secret after
21643     it was deleted.
21644    '''
21645    __slots__ = [
21646        'rate_limit',
21647    ]
21648
21649    def __init__(
21650        self,
21651        rate_limit=None,
21652    ):
21653        self.rate_limit = rate_limit if rate_limit is not None else None
21654        '''
21655         Rate limit information.
21656        '''
21657
21658    def __repr__(self):
21659        return '<sdm.ManagedSecretDeleteResponse ' + \
21660            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21661            '>'
21662
21663    def to_dict(self):
21664        return {
21665            'rate_limit': self.rate_limit,
21666        }
21667
21668    @classmethod
21669    def from_dict(cls, d):
21670        return cls(rate_limit=d.get('rate_limit'), )
21671
21672
21673class ManagedSecretGetRequest:
21674    '''
21675         ManagedSecretGetRequest specifies which Managed Secret to retrieve
21676    '''
21677    __slots__ = [
21678        'id',
21679    ]
21680
21681    def __init__(
21682        self,
21683        id=None,
21684    ):
21685        self.id = id if id is not None else ''
21686        '''
21687         The unique identifier of the Managed Secret to retrieve.
21688        '''
21689
21690    def __repr__(self):
21691        return '<sdm.ManagedSecretGetRequest ' + \
21692            'id: ' + repr(self.id) + ' ' +\
21693            '>'
21694
21695    def to_dict(self):
21696        return {
21697            'id': self.id,
21698        }
21699
21700    @classmethod
21701    def from_dict(cls, d):
21702        return cls(id=d.get('id'), )
21703
21704
21705class ManagedSecretGetResponse:
21706    '''
21707         ManagedSecretGetResponse contains information about requested Managed Secret
21708    '''
21709    __slots__ = [
21710        'managed_secret',
21711        'meta',
21712        'rate_limit',
21713    ]
21714
21715    def __init__(
21716        self,
21717        managed_secret=None,
21718        meta=None,
21719        rate_limit=None,
21720    ):
21721        self.managed_secret = managed_secret if managed_secret is not None else None
21722        '''
21723         The requested Managed Secret.
21724        '''
21725        self.meta = meta if meta is not None else None
21726        '''
21727         Reserved for future use.
21728        '''
21729        self.rate_limit = rate_limit if rate_limit is not None else None
21730        '''
21731         Rate limit information.
21732        '''
21733
21734    def __repr__(self):
21735        return '<sdm.ManagedSecretGetResponse ' + \
21736            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
21737            'meta: ' + repr(self.meta) + ' ' +\
21738            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21739            '>'
21740
21741    def to_dict(self):
21742        return {
21743            'managed_secret': self.managed_secret,
21744            'meta': self.meta,
21745            'rate_limit': self.rate_limit,
21746        }
21747
21748    @classmethod
21749    def from_dict(cls, d):
21750        return cls(
21751            managed_secret=d.get('managed_secret'),
21752            meta=d.get('meta'),
21753            rate_limit=d.get('rate_limit'),
21754        )
21755
21756
21757class ManagedSecretListRequest:
21758    '''
21759         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
21760     Secrets.
21761    '''
21762    __slots__ = [
21763        'filter',
21764    ]
21765
21766    def __init__(
21767        self,
21768        filter=None,
21769    ):
21770        self.filter = filter if filter is not None else ''
21771        '''
21772         A human-readable filter query string.
21773        '''
21774
21775    def __repr__(self):
21776        return '<sdm.ManagedSecretListRequest ' + \
21777            'filter: ' + repr(self.filter) + ' ' +\
21778            '>'
21779
21780    def to_dict(self):
21781        return {
21782            'filter': self.filter,
21783        }
21784
21785    @classmethod
21786    def from_dict(cls, d):
21787        return cls(filter=d.get('filter'), )
21788
21789
21790class ManagedSecretListResponse:
21791    '''
21792         ManagedSecretListResponse contains a list of requested Managed Secrets
21793    '''
21794    __slots__ = [
21795        'rate_limit',
21796    ]
21797
21798    def __init__(
21799        self,
21800        rate_limit=None,
21801    ):
21802        self.rate_limit = rate_limit if rate_limit is not None else None
21803        '''
21804         Rate limit information.
21805        '''
21806
21807    def __repr__(self):
21808        return '<sdm.ManagedSecretListResponse ' + \
21809            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21810            '>'
21811
21812    def to_dict(self):
21813        return {
21814            'rate_limit': self.rate_limit,
21815        }
21816
21817    @classmethod
21818    def from_dict(cls, d):
21819        return cls(rate_limit=d.get('rate_limit'), )
21820
21821
21822class ManagedSecretLog:
21823    '''
21824         ManagedSecretLog contains details about action performed against a managed
21825     secret
21826    '''
21827    __slots__ = [
21828        'account_id',
21829        'action',
21830        'created_at',
21831        'debug',
21832        'id',
21833        'managed_secret_id',
21834        'secret_engine_id',
21835    ]
21836
21837    def __init__(
21838        self,
21839        account_id=None,
21840        action=None,
21841        created_at=None,
21842        debug=None,
21843        id=None,
21844        managed_secret_id=None,
21845        secret_engine_id=None,
21846    ):
21847        self.account_id = account_id if account_id is not None else ''
21848        '''
21849         An ID of the account the action was performed by.
21850        '''
21851        self.action = action if action is not None else ''
21852        '''
21853         The action performed by the account against the managed secret.
21854        '''
21855        self.created_at = created_at if created_at is not None else None
21856        '''
21857         Timestamp of when action was performed.
21858        '''
21859        self.debug = debug if debug is not None else ''
21860        '''
21861         Any debug logs associated with the action.
21862        '''
21863        self.id = id if id is not None else ''
21864        '''
21865         Unique identifier of the Managed Secret Log.
21866        '''
21867        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
21868        '''
21869         An ID of the Managed Secret the action was performed against.
21870        '''
21871        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
21872        '''
21873         An ID of the Secret Engine linked with the Managed Secret.
21874        '''
21875
21876    def __repr__(self):
21877        return '<sdm.ManagedSecretLog ' + \
21878            'account_id: ' + repr(self.account_id) + ' ' +\
21879            'action: ' + repr(self.action) + ' ' +\
21880            'created_at: ' + repr(self.created_at) + ' ' +\
21881            'debug: ' + repr(self.debug) + ' ' +\
21882            'id: ' + repr(self.id) + ' ' +\
21883            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
21884            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
21885            '>'
21886
21887    def to_dict(self):
21888        return {
21889            'account_id': self.account_id,
21890            'action': self.action,
21891            'created_at': self.created_at,
21892            'debug': self.debug,
21893            'id': self.id,
21894            'managed_secret_id': self.managed_secret_id,
21895            'secret_engine_id': self.secret_engine_id,
21896        }
21897
21898    @classmethod
21899    def from_dict(cls, d):
21900        return cls(
21901            account_id=d.get('account_id'),
21902            action=d.get('action'),
21903            created_at=d.get('created_at'),
21904            debug=d.get('debug'),
21905            id=d.get('id'),
21906            managed_secret_id=d.get('managed_secret_id'),
21907            secret_engine_id=d.get('secret_engine_id'),
21908        )
21909
21910
21911class ManagedSecretLogsRequest:
21912    '''
21913         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
21914     Secrets actions.
21915    '''
21916    __slots__ = [
21917        'filter',
21918    ]
21919
21920    def __init__(
21921        self,
21922        filter=None,
21923    ):
21924        self.filter = filter if filter is not None else ''
21925        '''
21926         A human-readable filter query string.
21927        '''
21928
21929    def __repr__(self):
21930        return '<sdm.ManagedSecretLogsRequest ' + \
21931            'filter: ' + repr(self.filter) + ' ' +\
21932            '>'
21933
21934    def to_dict(self):
21935        return {
21936            'filter': self.filter,
21937        }
21938
21939    @classmethod
21940    def from_dict(cls, d):
21941        return cls(filter=d.get('filter'), )
21942
21943
21944class ManagedSecretLogsResponse:
21945    '''
21946         ManagedSecretLogsResponse contains a list of requested Managed Secrets
21947    '''
21948    __slots__ = [
21949        'rate_limit',
21950    ]
21951
21952    def __init__(
21953        self,
21954        rate_limit=None,
21955    ):
21956        self.rate_limit = rate_limit if rate_limit is not None else None
21957        '''
21958         Rate limit information.
21959        '''
21960
21961    def __repr__(self):
21962        return '<sdm.ManagedSecretLogsResponse ' + \
21963            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21964            '>'
21965
21966    def to_dict(self):
21967        return {
21968            'rate_limit': self.rate_limit,
21969        }
21970
21971    @classmethod
21972    def from_dict(cls, d):
21973        return cls(rate_limit=d.get('rate_limit'), )
21974
21975
21976class ManagedSecretPasswordPolicy:
21977    __slots__ = [
21978        'allow_repeat',
21979        'exclude_characters',
21980        'exclude_upper_case',
21981        'length',
21982        'num_digits',
21983        'num_symbols',
21984    ]
21985
21986    def __init__(
21987        self,
21988        allow_repeat=None,
21989        exclude_characters=None,
21990        exclude_upper_case=None,
21991        length=None,
21992        num_digits=None,
21993        num_symbols=None,
21994    ):
21995        self.allow_repeat = allow_repeat if allow_repeat is not None else False
21996        '''
21997         If set to true allows for consecutive characters to repeat itself
21998        '''
21999        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
22000        '''
22001         Characters to exclude when generating password
22002        '''
22003        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
22004        '''
22005         If set to true do not include upper case letters when generating password
22006        '''
22007        self.length = length if length is not None else 0
22008        '''
22009         Password length
22010        '''
22011        self.num_digits = num_digits if num_digits is not None else 0
22012        '''
22013         Numbers of digits to use when generating password
22014        '''
22015        self.num_symbols = num_symbols if num_symbols is not None else 0
22016        '''
22017         Number of symbols to use when generating password
22018        '''
22019
22020    def __repr__(self):
22021        return '<sdm.ManagedSecretPasswordPolicy ' + \
22022            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
22023            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
22024            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
22025            'length: ' + repr(self.length) + ' ' +\
22026            'num_digits: ' + repr(self.num_digits) + ' ' +\
22027            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
22028            '>'
22029
22030    def to_dict(self):
22031        return {
22032            'allow_repeat': self.allow_repeat,
22033            'exclude_characters': self.exclude_characters,
22034            'exclude_upper_case': self.exclude_upper_case,
22035            'length': self.length,
22036            'num_digits': self.num_digits,
22037            'num_symbols': self.num_symbols,
22038        }
22039
22040    @classmethod
22041    def from_dict(cls, d):
22042        return cls(
22043            allow_repeat=d.get('allow_repeat'),
22044            exclude_characters=d.get('exclude_characters'),
22045            exclude_upper_case=d.get('exclude_upper_case'),
22046            length=d.get('length'),
22047            num_digits=d.get('num_digits'),
22048            num_symbols=d.get('num_symbols'),
22049        )
22050
22051
22052class ManagedSecretPolicy:
22053    '''
22054         ManagedSecretPolicy contains password and rotation policy for managed secret
22055    '''
22056    __slots__ = [
22057        'password_policy',
22058        'rotation_policy',
22059    ]
22060
22061    def __init__(
22062        self,
22063        password_policy=None,
22064        rotation_policy=None,
22065    ):
22066        self.password_policy = password_policy if password_policy is not None else None
22067        '''
22068         Password policy for a managed secret
22069        '''
22070        self.rotation_policy = rotation_policy if rotation_policy is not None else None
22071        '''
22072         Rotation policy for a managed secret
22073        '''
22074
22075    def __repr__(self):
22076        return '<sdm.ManagedSecretPolicy ' + \
22077            'password_policy: ' + repr(self.password_policy) + ' ' +\
22078            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
22079            '>'
22080
22081    def to_dict(self):
22082        return {
22083            'password_policy': self.password_policy,
22084            'rotation_policy': self.rotation_policy,
22085        }
22086
22087    @classmethod
22088    def from_dict(cls, d):
22089        return cls(
22090            password_policy=d.get('password_policy'),
22091            rotation_policy=d.get('rotation_policy'),
22092        )
22093
22094
22095class ManagedSecretRetrieveRequest:
22096    '''
22097         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
22098    '''
22099    __slots__ = [
22100        'id',
22101    ]
22102
22103    def __init__(
22104        self,
22105        id=None,
22106    ):
22107        self.id = id if id is not None else ''
22108        '''
22109         The unique identifier of the Managed Secret to retrieve.
22110        '''
22111
22112    def __repr__(self):
22113        return '<sdm.ManagedSecretRetrieveRequest ' + \
22114            'id: ' + repr(self.id) + ' ' +\
22115            '>'
22116
22117    def to_dict(self):
22118        return {
22119            'id': self.id,
22120        }
22121
22122    @classmethod
22123    def from_dict(cls, d):
22124        return cls(id=d.get('id'), )
22125
22126
22127class ManagedSecretRetrieveResponse:
22128    '''
22129         ManagedSecretRetrieveResponse contains information about requested Managed
22130     Secret
22131    '''
22132    __slots__ = [
22133        'managed_secret',
22134        'meta',
22135        'rate_limit',
22136    ]
22137
22138    def __init__(
22139        self,
22140        managed_secret=None,
22141        meta=None,
22142        rate_limit=None,
22143    ):
22144        self.managed_secret = managed_secret if managed_secret is not None else None
22145        '''
22146         The requested Managed Secret.
22147        '''
22148        self.meta = meta if meta is not None else None
22149        '''
22150         Reserved for future use.
22151        '''
22152        self.rate_limit = rate_limit if rate_limit is not None else None
22153        '''
22154         Rate limit information.
22155        '''
22156
22157    def __repr__(self):
22158        return '<sdm.ManagedSecretRetrieveResponse ' + \
22159            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
22160            'meta: ' + repr(self.meta) + ' ' +\
22161            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22162            '>'
22163
22164    def to_dict(self):
22165        return {
22166            'managed_secret': self.managed_secret,
22167            'meta': self.meta,
22168            'rate_limit': self.rate_limit,
22169        }
22170
22171    @classmethod
22172    def from_dict(cls, d):
22173        return cls(
22174            managed_secret=d.get('managed_secret'),
22175            meta=d.get('meta'),
22176            rate_limit=d.get('rate_limit'),
22177        )
22178
22179
22180class ManagedSecretRotateRequest:
22181    '''
22182         ManagedSecretRotateRequest specifies Managed Secret to rotate
22183    '''
22184    __slots__ = [
22185        'id',
22186    ]
22187
22188    def __init__(
22189        self,
22190        id=None,
22191    ):
22192        self.id = id if id is not None else ''
22193        '''
22194         The unique identifier of the Managed Secret to rotate.
22195        '''
22196
22197    def __repr__(self):
22198        return '<sdm.ManagedSecretRotateRequest ' + \
22199            'id: ' + repr(self.id) + ' ' +\
22200            '>'
22201
22202    def to_dict(self):
22203        return {
22204            'id': self.id,
22205        }
22206
22207    @classmethod
22208    def from_dict(cls, d):
22209        return cls(id=d.get('id'), )
22210
22211
22212class ManagedSecretRotateResponse:
22213    '''
22214         ManagedSecretRotateResponse contains information about Secret Engine after
22215     successful rotation.
22216    '''
22217    __slots__ = [
22218        'meta',
22219        'rate_limit',
22220    ]
22221
22222    def __init__(
22223        self,
22224        meta=None,
22225        rate_limit=None,
22226    ):
22227        self.meta = meta if meta is not None else None
22228        '''
22229         Reserved for future use.
22230        '''
22231        self.rate_limit = rate_limit if rate_limit is not None else None
22232        '''
22233         Rate limit information.
22234        '''
22235
22236    def __repr__(self):
22237        return '<sdm.ManagedSecretRotateResponse ' + \
22238            'meta: ' + repr(self.meta) + ' ' +\
22239            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22240            '>'
22241
22242    def to_dict(self):
22243        return {
22244            'meta': self.meta,
22245            'rate_limit': self.rate_limit,
22246        }
22247
22248    @classmethod
22249    def from_dict(cls, d):
22250        return cls(
22251            meta=d.get('meta'),
22252            rate_limit=d.get('rate_limit'),
22253        )
22254
22255
22256class ManagedSecretRotationPolicy:
22257    __slots__ = []
22258
22259    def __init__(self, ):
22260        pass
22261
22262    def __repr__(self):
22263        return '<sdm.ManagedSecretRotationPolicy ' + \
22264            '>'
22265
22266    def to_dict(self):
22267        return {}
22268
22269    @classmethod
22270    def from_dict(cls, d):
22271        return cls()
22272
22273
22274class ManagedSecretUpdateRequest:
22275    '''
22276         ManagedSecretUpdateRequest specifies Managed Secret to update
22277    '''
22278    __slots__ = [
22279        'managed_secret',
22280    ]
22281
22282    def __init__(
22283        self,
22284        managed_secret=None,
22285    ):
22286        self.managed_secret = managed_secret if managed_secret is not None else None
22287        '''
22288         Managed Secret to update
22289        '''
22290
22291    def __repr__(self):
22292        return '<sdm.ManagedSecretUpdateRequest ' + \
22293            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
22294            '>'
22295
22296    def to_dict(self):
22297        return {
22298            'managed_secret': self.managed_secret,
22299        }
22300
22301    @classmethod
22302    def from_dict(cls, d):
22303        return cls(managed_secret=d.get('managed_secret'), )
22304
22305
22306class ManagedSecretUpdateResponse:
22307    '''
22308         ManagedSecretUpdateResponse contains information about Secret Engine after
22309     successful update.
22310    '''
22311    __slots__ = [
22312        'managed_secret',
22313        'meta',
22314        'rate_limit',
22315    ]
22316
22317    def __init__(
22318        self,
22319        managed_secret=None,
22320        meta=None,
22321        rate_limit=None,
22322    ):
22323        self.managed_secret = managed_secret if managed_secret is not None else None
22324        '''
22325         The requested Managed Secret.
22326        '''
22327        self.meta = meta if meta is not None else None
22328        '''
22329         Reserved for future use.
22330        '''
22331        self.rate_limit = rate_limit if rate_limit is not None else None
22332        '''
22333         Rate limit information.
22334        '''
22335
22336    def __repr__(self):
22337        return '<sdm.ManagedSecretUpdateResponse ' + \
22338            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
22339            'meta: ' + repr(self.meta) + ' ' +\
22340            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22341            '>'
22342
22343    def to_dict(self):
22344        return {
22345            'managed_secret': self.managed_secret,
22346            'meta': self.meta,
22347            'rate_limit': self.rate_limit,
22348        }
22349
22350    @classmethod
22351    def from_dict(cls, d):
22352        return cls(
22353            managed_secret=d.get('managed_secret'),
22354            meta=d.get('meta'),
22355            rate_limit=d.get('rate_limit'),
22356        )
22357
22358
22359class ManagedSecretValidateRequest:
22360    '''
22361         ManagedSecretValidateRequest specifies which Managed Secret to validate
22362    '''
22363    __slots__ = [
22364        'id',
22365    ]
22366
22367    def __init__(
22368        self,
22369        id=None,
22370    ):
22371        self.id = id if id is not None else ''
22372        '''
22373         The unique identifier of the Managed Secret to validate.
22374        '''
22375
22376    def __repr__(self):
22377        return '<sdm.ManagedSecretValidateRequest ' + \
22378            'id: ' + repr(self.id) + ' ' +\
22379            '>'
22380
22381    def to_dict(self):
22382        return {
22383            'id': self.id,
22384        }
22385
22386    @classmethod
22387    def from_dict(cls, d):
22388        return cls(id=d.get('id'), )
22389
22390
22391class ManagedSecretValidateResponse:
22392    '''
22393         ManagedSecretValidateResponse contains validity of requested Managed
22394     Secret
22395    '''
22396    __slots__ = [
22397        'invalid_info',
22398        'meta',
22399        'rate_limit',
22400        'valid',
22401    ]
22402
22403    def __init__(
22404        self,
22405        invalid_info=None,
22406        meta=None,
22407        rate_limit=None,
22408        valid=None,
22409    ):
22410        self.invalid_info = invalid_info if invalid_info is not None else ''
22411        '''
22412         Information about why secret is invalid
22413        '''
22414        self.meta = meta if meta is not None else None
22415        '''
22416         Reserved for future use.
22417        '''
22418        self.rate_limit = rate_limit if rate_limit is not None else None
22419        '''
22420         Rate limit information.
22421        '''
22422        self.valid = valid if valid is not None else False
22423        '''
22424         Whether the secret is valid
22425        '''
22426
22427    def __repr__(self):
22428        return '<sdm.ManagedSecretValidateResponse ' + \
22429            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
22430            'meta: ' + repr(self.meta) + ' ' +\
22431            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22432            'valid: ' + repr(self.valid) + ' ' +\
22433            '>'
22434
22435    def to_dict(self):
22436        return {
22437            'invalid_info': self.invalid_info,
22438            'meta': self.meta,
22439            'rate_limit': self.rate_limit,
22440            'valid': self.valid,
22441        }
22442
22443    @classmethod
22444    def from_dict(cls, d):
22445        return cls(
22446            invalid_info=d.get('invalid_info'),
22447            meta=d.get('meta'),
22448            rate_limit=d.get('rate_limit'),
22449            valid=d.get('valid'),
22450        )
22451
22452
22453class MappedIdentities:
22454    '''
22455         MappedIdentities represents the mapped identity privileges granted alongside an entitlement.
22456    '''
22457    __slots__ = [
22458        'kubernetes',
22459    ]
22460
22461    def __init__(
22462        self,
22463        kubernetes=None,
22464    ):
22465        self.kubernetes = kubernetes if kubernetes is not None else None
22466        '''
22467         Kubernetes group memberships.
22468        '''
22469
22470    def __repr__(self):
22471        return '<sdm.MappedIdentities ' + \
22472            'kubernetes: ' + repr(self.kubernetes) + ' ' +\
22473            '>'
22474
22475    def to_dict(self):
22476        return {
22477            'kubernetes': self.kubernetes,
22478        }
22479
22480    @classmethod
22481    def from_dict(cls, d):
22482        return cls(kubernetes=d.get('kubernetes'), )
22483
22484
22485class Maria:
22486    __slots__ = [
22487        'bind_interface',
22488        'database',
22489        'egress_filter',
22490        'healthy',
22491        'hostname',
22492        'id',
22493        'name',
22494        'password',
22495        'port',
22496        'port_override',
22497        'proxy_cluster_id',
22498        'require_native_auth',
22499        'secret_store_id',
22500        'subdomain',
22501        'tags',
22502        'use_azure_single_server_usernames',
22503        'username',
22504    ]
22505
22506    def __init__(
22507        self,
22508        bind_interface=None,
22509        database=None,
22510        egress_filter=None,
22511        healthy=None,
22512        hostname=None,
22513        id=None,
22514        name=None,
22515        password=None,
22516        port=None,
22517        port_override=None,
22518        proxy_cluster_id=None,
22519        require_native_auth=None,
22520        secret_store_id=None,
22521        subdomain=None,
22522        tags=None,
22523        use_azure_single_server_usernames=None,
22524        username=None,
22525    ):
22526        self.bind_interface = bind_interface if bind_interface is not None else ''
22527        '''
22528         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22529        '''
22530        self.database = database if database is not None else ''
22531        '''
22532         The database for healthchecks. Does not affect client requests.
22533        '''
22534        self.egress_filter = egress_filter if egress_filter is not None else ''
22535        '''
22536         A filter applied to the routing logic to pin datasource to nodes.
22537        '''
22538        self.healthy = healthy if healthy is not None else False
22539        '''
22540         True if the datasource is reachable and the credentials are valid.
22541        '''
22542        self.hostname = hostname if hostname is not None else ''
22543        '''
22544         The host to dial to initiate a connection from the egress node to this resource.
22545        '''
22546        self.id = id if id is not None else ''
22547        '''
22548         Unique identifier of the Resource.
22549        '''
22550        self.name = name if name is not None else ''
22551        '''
22552         Unique human-readable name of the Resource.
22553        '''
22554        self.password = password if password is not None else ''
22555        '''
22556         The password to authenticate with.
22557        '''
22558        self.port = port if port is not None else 0
22559        '''
22560         The port to dial to initiate a connection from the egress node to this resource.
22561        '''
22562        self.port_override = port_override if port_override is not None else 0
22563        '''
22564         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22565        '''
22566        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22567        '''
22568         ID of the proxy cluster for this resource, if any.
22569        '''
22570        self.require_native_auth = require_native_auth if require_native_auth is not None else False
22571        '''
22572         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
22573        '''
22574        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22575        '''
22576         ID of the secret store containing credentials for this resource, if any.
22577        '''
22578        self.subdomain = subdomain if subdomain is not None else ''
22579        '''
22580         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22581        '''
22582        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22583        '''
22584         Tags is a map of key, value pairs.
22585        '''
22586        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
22587        '''
22588         If true, appends the hostname to the username when hitting a database.azure.com address
22589        '''
22590        self.username = username if username is not None else ''
22591        '''
22592         The username to authenticate with.
22593        '''
22594
22595    def __repr__(self):
22596        return '<sdm.Maria ' + \
22597            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22598            'database: ' + repr(self.database) + ' ' +\
22599            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22600            'healthy: ' + repr(self.healthy) + ' ' +\
22601            'hostname: ' + repr(self.hostname) + ' ' +\
22602            'id: ' + repr(self.id) + ' ' +\
22603            'name: ' + repr(self.name) + ' ' +\
22604            'password: ' + repr(self.password) + ' ' +\
22605            'port: ' + repr(self.port) + ' ' +\
22606            'port_override: ' + repr(self.port_override) + ' ' +\
22607            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22608            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
22609            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22610            'subdomain: ' + repr(self.subdomain) + ' ' +\
22611            'tags: ' + repr(self.tags) + ' ' +\
22612            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
22613            'username: ' + repr(self.username) + ' ' +\
22614            '>'
22615
22616    def to_dict(self):
22617        return {
22618            'bind_interface': self.bind_interface,
22619            'database': self.database,
22620            'egress_filter': self.egress_filter,
22621            'healthy': self.healthy,
22622            'hostname': self.hostname,
22623            'id': self.id,
22624            'name': self.name,
22625            'password': self.password,
22626            'port': self.port,
22627            'port_override': self.port_override,
22628            'proxy_cluster_id': self.proxy_cluster_id,
22629            'require_native_auth': self.require_native_auth,
22630            'secret_store_id': self.secret_store_id,
22631            'subdomain': self.subdomain,
22632            'tags': self.tags,
22633            'use_azure_single_server_usernames':
22634            self.use_azure_single_server_usernames,
22635            'username': self.username,
22636        }
22637
22638    @classmethod
22639    def from_dict(cls, d):
22640        return cls(
22641            bind_interface=d.get('bind_interface'),
22642            database=d.get('database'),
22643            egress_filter=d.get('egress_filter'),
22644            healthy=d.get('healthy'),
22645            hostname=d.get('hostname'),
22646            id=d.get('id'),
22647            name=d.get('name'),
22648            password=d.get('password'),
22649            port=d.get('port'),
22650            port_override=d.get('port_override'),
22651            proxy_cluster_id=d.get('proxy_cluster_id'),
22652            require_native_auth=d.get('require_native_auth'),
22653            secret_store_id=d.get('secret_store_id'),
22654            subdomain=d.get('subdomain'),
22655            tags=d.get('tags'),
22656            use_azure_single_server_usernames=d.get(
22657                'use_azure_single_server_usernames'),
22658            username=d.get('username'),
22659        )
22660
22661
22662class Memcached:
22663    __slots__ = [
22664        'bind_interface',
22665        'egress_filter',
22666        'healthy',
22667        'hostname',
22668        'id',
22669        'name',
22670        'port',
22671        'port_override',
22672        'proxy_cluster_id',
22673        'secret_store_id',
22674        'subdomain',
22675        'tags',
22676    ]
22677
22678    def __init__(
22679        self,
22680        bind_interface=None,
22681        egress_filter=None,
22682        healthy=None,
22683        hostname=None,
22684        id=None,
22685        name=None,
22686        port=None,
22687        port_override=None,
22688        proxy_cluster_id=None,
22689        secret_store_id=None,
22690        subdomain=None,
22691        tags=None,
22692    ):
22693        self.bind_interface = bind_interface if bind_interface is not None else ''
22694        '''
22695         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22696        '''
22697        self.egress_filter = egress_filter if egress_filter is not None else ''
22698        '''
22699         A filter applied to the routing logic to pin datasource to nodes.
22700        '''
22701        self.healthy = healthy if healthy is not None else False
22702        '''
22703         True if the datasource is reachable and the credentials are valid.
22704        '''
22705        self.hostname = hostname if hostname is not None else ''
22706        '''
22707         The host to dial to initiate a connection from the egress node to this resource.
22708        '''
22709        self.id = id if id is not None else ''
22710        '''
22711         Unique identifier of the Resource.
22712        '''
22713        self.name = name if name is not None else ''
22714        '''
22715         Unique human-readable name of the Resource.
22716        '''
22717        self.port = port if port is not None else 0
22718        '''
22719         The port to dial to initiate a connection from the egress node to this resource.
22720        '''
22721        self.port_override = port_override if port_override is not None else 0
22722        '''
22723         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22724        '''
22725        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22726        '''
22727         ID of the proxy cluster for this resource, if any.
22728        '''
22729        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22730        '''
22731         ID of the secret store containing credentials for this resource, if any.
22732        '''
22733        self.subdomain = subdomain if subdomain is not None else ''
22734        '''
22735         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22736        '''
22737        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22738        '''
22739         Tags is a map of key, value pairs.
22740        '''
22741
22742    def __repr__(self):
22743        return '<sdm.Memcached ' + \
22744            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22745            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22746            'healthy: ' + repr(self.healthy) + ' ' +\
22747            'hostname: ' + repr(self.hostname) + ' ' +\
22748            'id: ' + repr(self.id) + ' ' +\
22749            'name: ' + repr(self.name) + ' ' +\
22750            'port: ' + repr(self.port) + ' ' +\
22751            'port_override: ' + repr(self.port_override) + ' ' +\
22752            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22753            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22754            'subdomain: ' + repr(self.subdomain) + ' ' +\
22755            'tags: ' + repr(self.tags) + ' ' +\
22756            '>'
22757
22758    def to_dict(self):
22759        return {
22760            'bind_interface': self.bind_interface,
22761            'egress_filter': self.egress_filter,
22762            'healthy': self.healthy,
22763            'hostname': self.hostname,
22764            'id': self.id,
22765            'name': self.name,
22766            'port': self.port,
22767            'port_override': self.port_override,
22768            'proxy_cluster_id': self.proxy_cluster_id,
22769            'secret_store_id': self.secret_store_id,
22770            'subdomain': self.subdomain,
22771            'tags': self.tags,
22772        }
22773
22774    @classmethod
22775    def from_dict(cls, d):
22776        return cls(
22777            bind_interface=d.get('bind_interface'),
22778            egress_filter=d.get('egress_filter'),
22779            healthy=d.get('healthy'),
22780            hostname=d.get('hostname'),
22781            id=d.get('id'),
22782            name=d.get('name'),
22783            port=d.get('port'),
22784            port_override=d.get('port_override'),
22785            proxy_cluster_id=d.get('proxy_cluster_id'),
22786            secret_store_id=d.get('secret_store_id'),
22787            subdomain=d.get('subdomain'),
22788            tags=d.get('tags'),
22789        )
22790
22791
22792class Memsql:
22793    __slots__ = [
22794        'bind_interface',
22795        'database',
22796        'egress_filter',
22797        'healthy',
22798        'hostname',
22799        'id',
22800        'name',
22801        'password',
22802        'port',
22803        'port_override',
22804        'proxy_cluster_id',
22805        'require_native_auth',
22806        'secret_store_id',
22807        'subdomain',
22808        'tags',
22809        'use_azure_single_server_usernames',
22810        'username',
22811    ]
22812
22813    def __init__(
22814        self,
22815        bind_interface=None,
22816        database=None,
22817        egress_filter=None,
22818        healthy=None,
22819        hostname=None,
22820        id=None,
22821        name=None,
22822        password=None,
22823        port=None,
22824        port_override=None,
22825        proxy_cluster_id=None,
22826        require_native_auth=None,
22827        secret_store_id=None,
22828        subdomain=None,
22829        tags=None,
22830        use_azure_single_server_usernames=None,
22831        username=None,
22832    ):
22833        self.bind_interface = bind_interface if bind_interface is not None else ''
22834        '''
22835         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22836        '''
22837        self.database = database if database is not None else ''
22838        '''
22839         The database for healthchecks. Does not affect client requests.
22840        '''
22841        self.egress_filter = egress_filter if egress_filter is not None else ''
22842        '''
22843         A filter applied to the routing logic to pin datasource to nodes.
22844        '''
22845        self.healthy = healthy if healthy is not None else False
22846        '''
22847         True if the datasource is reachable and the credentials are valid.
22848        '''
22849        self.hostname = hostname if hostname is not None else ''
22850        '''
22851         The host to dial to initiate a connection from the egress node to this resource.
22852        '''
22853        self.id = id if id is not None else ''
22854        '''
22855         Unique identifier of the Resource.
22856        '''
22857        self.name = name if name is not None else ''
22858        '''
22859         Unique human-readable name of the Resource.
22860        '''
22861        self.password = password if password is not None else ''
22862        '''
22863         The password to authenticate with.
22864        '''
22865        self.port = port if port is not None else 0
22866        '''
22867         The port to dial to initiate a connection from the egress node to this resource.
22868        '''
22869        self.port_override = port_override if port_override is not None else 0
22870        '''
22871         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22872        '''
22873        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22874        '''
22875         ID of the proxy cluster for this resource, if any.
22876        '''
22877        self.require_native_auth = require_native_auth if require_native_auth is not None else False
22878        '''
22879         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
22880        '''
22881        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22882        '''
22883         ID of the secret store containing credentials for this resource, if any.
22884        '''
22885        self.subdomain = subdomain if subdomain is not None else ''
22886        '''
22887         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22888        '''
22889        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22890        '''
22891         Tags is a map of key, value pairs.
22892        '''
22893        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
22894        '''
22895         If true, appends the hostname to the username when hitting a database.azure.com address
22896        '''
22897        self.username = username if username is not None else ''
22898        '''
22899         The username to authenticate with.
22900        '''
22901
22902    def __repr__(self):
22903        return '<sdm.Memsql ' + \
22904            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22905            'database: ' + repr(self.database) + ' ' +\
22906            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22907            'healthy: ' + repr(self.healthy) + ' ' +\
22908            'hostname: ' + repr(self.hostname) + ' ' +\
22909            'id: ' + repr(self.id) + ' ' +\
22910            'name: ' + repr(self.name) + ' ' +\
22911            'password: ' + repr(self.password) + ' ' +\
22912            'port: ' + repr(self.port) + ' ' +\
22913            'port_override: ' + repr(self.port_override) + ' ' +\
22914            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22915            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
22916            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22917            'subdomain: ' + repr(self.subdomain) + ' ' +\
22918            'tags: ' + repr(self.tags) + ' ' +\
22919            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
22920            'username: ' + repr(self.username) + ' ' +\
22921            '>'
22922
22923    def to_dict(self):
22924        return {
22925            'bind_interface': self.bind_interface,
22926            'database': self.database,
22927            'egress_filter': self.egress_filter,
22928            'healthy': self.healthy,
22929            'hostname': self.hostname,
22930            'id': self.id,
22931            'name': self.name,
22932            'password': self.password,
22933            'port': self.port,
22934            'port_override': self.port_override,
22935            'proxy_cluster_id': self.proxy_cluster_id,
22936            'require_native_auth': self.require_native_auth,
22937            'secret_store_id': self.secret_store_id,
22938            'subdomain': self.subdomain,
22939            'tags': self.tags,
22940            'use_azure_single_server_usernames':
22941            self.use_azure_single_server_usernames,
22942            'username': self.username,
22943        }
22944
22945    @classmethod
22946    def from_dict(cls, d):
22947        return cls(
22948            bind_interface=d.get('bind_interface'),
22949            database=d.get('database'),
22950            egress_filter=d.get('egress_filter'),
22951            healthy=d.get('healthy'),
22952            hostname=d.get('hostname'),
22953            id=d.get('id'),
22954            name=d.get('name'),
22955            password=d.get('password'),
22956            port=d.get('port'),
22957            port_override=d.get('port_override'),
22958            proxy_cluster_id=d.get('proxy_cluster_id'),
22959            require_native_auth=d.get('require_native_auth'),
22960            secret_store_id=d.get('secret_store_id'),
22961            subdomain=d.get('subdomain'),
22962            tags=d.get('tags'),
22963            use_azure_single_server_usernames=d.get(
22964                'use_azure_single_server_usernames'),
22965            username=d.get('username'),
22966        )
22967
22968
22969class MongoHost:
22970    __slots__ = [
22971        'auth_database',
22972        'bind_interface',
22973        'egress_filter',
22974        'healthy',
22975        'hostname',
22976        'id',
22977        'name',
22978        'password',
22979        'port',
22980        'port_override',
22981        'proxy_cluster_id',
22982        'secret_store_id',
22983        'subdomain',
22984        'tags',
22985        'tls_required',
22986        'username',
22987    ]
22988
22989    def __init__(
22990        self,
22991        auth_database=None,
22992        bind_interface=None,
22993        egress_filter=None,
22994        healthy=None,
22995        hostname=None,
22996        id=None,
22997        name=None,
22998        password=None,
22999        port=None,
23000        port_override=None,
23001        proxy_cluster_id=None,
23002        secret_store_id=None,
23003        subdomain=None,
23004        tags=None,
23005        tls_required=None,
23006        username=None,
23007    ):
23008        self.auth_database = auth_database if auth_database is not None else ''
23009        '''
23010         The authentication database to use.
23011        '''
23012        self.bind_interface = bind_interface if bind_interface is not None else ''
23013        '''
23014         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23015        '''
23016        self.egress_filter = egress_filter if egress_filter is not None else ''
23017        '''
23018         A filter applied to the routing logic to pin datasource to nodes.
23019        '''
23020        self.healthy = healthy if healthy is not None else False
23021        '''
23022         True if the datasource is reachable and the credentials are valid.
23023        '''
23024        self.hostname = hostname if hostname is not None else ''
23025        '''
23026         The host to dial to initiate a connection from the egress node to this resource.
23027        '''
23028        self.id = id if id is not None else ''
23029        '''
23030         Unique identifier of the Resource.
23031        '''
23032        self.name = name if name is not None else ''
23033        '''
23034         Unique human-readable name of the Resource.
23035        '''
23036        self.password = password if password is not None else ''
23037        '''
23038         The password to authenticate with.
23039        '''
23040        self.port = port if port is not None else 0
23041        '''
23042         The port to dial to initiate a connection from the egress node to this resource.
23043        '''
23044        self.port_override = port_override if port_override is not None else 0
23045        '''
23046         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23047        '''
23048        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23049        '''
23050         ID of the proxy cluster for this resource, if any.
23051        '''
23052        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23053        '''
23054         ID of the secret store containing credentials for this resource, if any.
23055        '''
23056        self.subdomain = subdomain if subdomain is not None else ''
23057        '''
23058         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23059        '''
23060        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23061        '''
23062         Tags is a map of key, value pairs.
23063        '''
23064        self.tls_required = tls_required if tls_required is not None else False
23065        '''
23066         If set, TLS must be used to connect to this resource.
23067        '''
23068        self.username = username if username is not None else ''
23069        '''
23070         The username to authenticate with.
23071        '''
23072
23073    def __repr__(self):
23074        return '<sdm.MongoHost ' + \
23075            'auth_database: ' + repr(self.auth_database) + ' ' +\
23076            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23077            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23078            'healthy: ' + repr(self.healthy) + ' ' +\
23079            'hostname: ' + repr(self.hostname) + ' ' +\
23080            'id: ' + repr(self.id) + ' ' +\
23081            'name: ' + repr(self.name) + ' ' +\
23082            'password: ' + repr(self.password) + ' ' +\
23083            'port: ' + repr(self.port) + ' ' +\
23084            'port_override: ' + repr(self.port_override) + ' ' +\
23085            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23086            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23087            'subdomain: ' + repr(self.subdomain) + ' ' +\
23088            'tags: ' + repr(self.tags) + ' ' +\
23089            'tls_required: ' + repr(self.tls_required) + ' ' +\
23090            'username: ' + repr(self.username) + ' ' +\
23091            '>'
23092
23093    def to_dict(self):
23094        return {
23095            'auth_database': self.auth_database,
23096            'bind_interface': self.bind_interface,
23097            'egress_filter': self.egress_filter,
23098            'healthy': self.healthy,
23099            'hostname': self.hostname,
23100            'id': self.id,
23101            'name': self.name,
23102            'password': self.password,
23103            'port': self.port,
23104            'port_override': self.port_override,
23105            'proxy_cluster_id': self.proxy_cluster_id,
23106            'secret_store_id': self.secret_store_id,
23107            'subdomain': self.subdomain,
23108            'tags': self.tags,
23109            'tls_required': self.tls_required,
23110            'username': self.username,
23111        }
23112
23113    @classmethod
23114    def from_dict(cls, d):
23115        return cls(
23116            auth_database=d.get('auth_database'),
23117            bind_interface=d.get('bind_interface'),
23118            egress_filter=d.get('egress_filter'),
23119            healthy=d.get('healthy'),
23120            hostname=d.get('hostname'),
23121            id=d.get('id'),
23122            name=d.get('name'),
23123            password=d.get('password'),
23124            port=d.get('port'),
23125            port_override=d.get('port_override'),
23126            proxy_cluster_id=d.get('proxy_cluster_id'),
23127            secret_store_id=d.get('secret_store_id'),
23128            subdomain=d.get('subdomain'),
23129            tags=d.get('tags'),
23130            tls_required=d.get('tls_required'),
23131            username=d.get('username'),
23132        )
23133
23134
23135class MongoLegacyHost:
23136    '''
23137    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
23138    without a major version bump.
23139    '''
23140    __slots__ = [
23141        'auth_database',
23142        'bind_interface',
23143        'egress_filter',
23144        'healthy',
23145        'hostname',
23146        'id',
23147        'name',
23148        'password',
23149        'port',
23150        'port_override',
23151        'proxy_cluster_id',
23152        'secret_store_id',
23153        'subdomain',
23154        'tags',
23155        'tls_required',
23156        'username',
23157    ]
23158
23159    def __init__(
23160        self,
23161        auth_database=None,
23162        bind_interface=None,
23163        egress_filter=None,
23164        healthy=None,
23165        hostname=None,
23166        id=None,
23167        name=None,
23168        password=None,
23169        port=None,
23170        port_override=None,
23171        proxy_cluster_id=None,
23172        secret_store_id=None,
23173        subdomain=None,
23174        tags=None,
23175        tls_required=None,
23176        username=None,
23177    ):
23178        self.auth_database = auth_database if auth_database is not None else ''
23179        '''
23180         The authentication database to use.
23181        '''
23182        self.bind_interface = bind_interface if bind_interface is not None else ''
23183        '''
23184         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23185        '''
23186        self.egress_filter = egress_filter if egress_filter is not None else ''
23187        '''
23188         A filter applied to the routing logic to pin datasource to nodes.
23189        '''
23190        self.healthy = healthy if healthy is not None else False
23191        '''
23192         True if the datasource is reachable and the credentials are valid.
23193        '''
23194        self.hostname = hostname if hostname is not None else ''
23195        '''
23196         The host to dial to initiate a connection from the egress node to this resource.
23197        '''
23198        self.id = id if id is not None else ''
23199        '''
23200         Unique identifier of the Resource.
23201        '''
23202        self.name = name if name is not None else ''
23203        '''
23204         Unique human-readable name of the Resource.
23205        '''
23206        self.password = password if password is not None else ''
23207        '''
23208         The password to authenticate with.
23209        '''
23210        self.port = port if port is not None else 0
23211        '''
23212         The port to dial to initiate a connection from the egress node to this resource.
23213        '''
23214        self.port_override = port_override if port_override is not None else 0
23215        '''
23216         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23217        '''
23218        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23219        '''
23220         ID of the proxy cluster for this resource, if any.
23221        '''
23222        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23223        '''
23224         ID of the secret store containing credentials for this resource, if any.
23225        '''
23226        self.subdomain = subdomain if subdomain is not None else ''
23227        '''
23228         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23229        '''
23230        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23231        '''
23232         Tags is a map of key, value pairs.
23233        '''
23234        self.tls_required = tls_required if tls_required is not None else False
23235        '''
23236         If set, TLS must be used to connect to this resource.
23237        '''
23238        self.username = username if username is not None else ''
23239        '''
23240         The username to authenticate with.
23241        '''
23242
23243    def __repr__(self):
23244        return '<sdm.MongoLegacyHost ' + \
23245            'auth_database: ' + repr(self.auth_database) + ' ' +\
23246            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23247            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23248            'healthy: ' + repr(self.healthy) + ' ' +\
23249            'hostname: ' + repr(self.hostname) + ' ' +\
23250            'id: ' + repr(self.id) + ' ' +\
23251            'name: ' + repr(self.name) + ' ' +\
23252            'password: ' + repr(self.password) + ' ' +\
23253            'port: ' + repr(self.port) + ' ' +\
23254            'port_override: ' + repr(self.port_override) + ' ' +\
23255            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23256            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23257            'subdomain: ' + repr(self.subdomain) + ' ' +\
23258            'tags: ' + repr(self.tags) + ' ' +\
23259            'tls_required: ' + repr(self.tls_required) + ' ' +\
23260            'username: ' + repr(self.username) + ' ' +\
23261            '>'
23262
23263    def to_dict(self):
23264        return {
23265            'auth_database': self.auth_database,
23266            'bind_interface': self.bind_interface,
23267            'egress_filter': self.egress_filter,
23268            'healthy': self.healthy,
23269            'hostname': self.hostname,
23270            'id': self.id,
23271            'name': self.name,
23272            'password': self.password,
23273            'port': self.port,
23274            'port_override': self.port_override,
23275            'proxy_cluster_id': self.proxy_cluster_id,
23276            'secret_store_id': self.secret_store_id,
23277            'subdomain': self.subdomain,
23278            'tags': self.tags,
23279            'tls_required': self.tls_required,
23280            'username': self.username,
23281        }
23282
23283    @classmethod
23284    def from_dict(cls, d):
23285        return cls(
23286            auth_database=d.get('auth_database'),
23287            bind_interface=d.get('bind_interface'),
23288            egress_filter=d.get('egress_filter'),
23289            healthy=d.get('healthy'),
23290            hostname=d.get('hostname'),
23291            id=d.get('id'),
23292            name=d.get('name'),
23293            password=d.get('password'),
23294            port=d.get('port'),
23295            port_override=d.get('port_override'),
23296            proxy_cluster_id=d.get('proxy_cluster_id'),
23297            secret_store_id=d.get('secret_store_id'),
23298            subdomain=d.get('subdomain'),
23299            tags=d.get('tags'),
23300            tls_required=d.get('tls_required'),
23301            username=d.get('username'),
23302        )
23303
23304
23305class MongoLegacyReplicaset:
23306    '''
23307    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
23308    without a major version bump.
23309    '''
23310    __slots__ = [
23311        'auth_database',
23312        'bind_interface',
23313        'connect_to_replica',
23314        'egress_filter',
23315        'healthy',
23316        'hostname',
23317        'id',
23318        'name',
23319        'password',
23320        'port',
23321        'port_override',
23322        'proxy_cluster_id',
23323        'secret_store_id',
23324        'subdomain',
23325        'tags',
23326        'tls_required',
23327        'username',
23328    ]
23329
23330    def __init__(
23331        self,
23332        auth_database=None,
23333        bind_interface=None,
23334        connect_to_replica=None,
23335        egress_filter=None,
23336        healthy=None,
23337        hostname=None,
23338        id=None,
23339        name=None,
23340        password=None,
23341        port=None,
23342        port_override=None,
23343        proxy_cluster_id=None,
23344        secret_store_id=None,
23345        subdomain=None,
23346        tags=None,
23347        tls_required=None,
23348        username=None,
23349    ):
23350        self.auth_database = auth_database if auth_database is not None else ''
23351        '''
23352         The authentication database to use.
23353        '''
23354        self.bind_interface = bind_interface if bind_interface is not None else ''
23355        '''
23356         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23357        '''
23358        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
23359        '''
23360         Set to connect to a replica instead of the primary node.
23361        '''
23362        self.egress_filter = egress_filter if egress_filter is not None else ''
23363        '''
23364         A filter applied to the routing logic to pin datasource to nodes.
23365        '''
23366        self.healthy = healthy if healthy is not None else False
23367        '''
23368         True if the datasource is reachable and the credentials are valid.
23369        '''
23370        self.hostname = hostname if hostname is not None else ''
23371        '''
23372         The host to dial to initiate a connection from the egress node to this resource.
23373        '''
23374        self.id = id if id is not None else ''
23375        '''
23376         Unique identifier of the Resource.
23377        '''
23378        self.name = name if name is not None else ''
23379        '''
23380         Unique human-readable name of the Resource.
23381        '''
23382        self.password = password if password is not None else ''
23383        '''
23384         The password to authenticate with.
23385        '''
23386        self.port = port if port is not None else 0
23387        '''
23388         The port to dial to initiate a connection from the egress node to this resource.
23389        '''
23390        self.port_override = port_override if port_override is not None else 0
23391        '''
23392         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23393        '''
23394        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23395        '''
23396         ID of the proxy cluster for this resource, if any.
23397        '''
23398        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23399        '''
23400         ID of the secret store containing credentials for this resource, if any.
23401        '''
23402        self.subdomain = subdomain if subdomain is not None else ''
23403        '''
23404         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23405        '''
23406        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23407        '''
23408         Tags is a map of key, value pairs.
23409        '''
23410        self.tls_required = tls_required if tls_required is not None else False
23411        '''
23412         If set, TLS must be used to connect to this resource.
23413        '''
23414        self.username = username if username is not None else ''
23415        '''
23416         The username to authenticate with.
23417        '''
23418
23419    def __repr__(self):
23420        return '<sdm.MongoLegacyReplicaset ' + \
23421            'auth_database: ' + repr(self.auth_database) + ' ' +\
23422            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23423            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
23424            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23425            'healthy: ' + repr(self.healthy) + ' ' +\
23426            'hostname: ' + repr(self.hostname) + ' ' +\
23427            'id: ' + repr(self.id) + ' ' +\
23428            'name: ' + repr(self.name) + ' ' +\
23429            'password: ' + repr(self.password) + ' ' +\
23430            'port: ' + repr(self.port) + ' ' +\
23431            'port_override: ' + repr(self.port_override) + ' ' +\
23432            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23433            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23434            'subdomain: ' + repr(self.subdomain) + ' ' +\
23435            'tags: ' + repr(self.tags) + ' ' +\
23436            'tls_required: ' + repr(self.tls_required) + ' ' +\
23437            'username: ' + repr(self.username) + ' ' +\
23438            '>'
23439
23440    def to_dict(self):
23441        return {
23442            'auth_database': self.auth_database,
23443            'bind_interface': self.bind_interface,
23444            'connect_to_replica': self.connect_to_replica,
23445            'egress_filter': self.egress_filter,
23446            'healthy': self.healthy,
23447            'hostname': self.hostname,
23448            'id': self.id,
23449            'name': self.name,
23450            'password': self.password,
23451            'port': self.port,
23452            'port_override': self.port_override,
23453            'proxy_cluster_id': self.proxy_cluster_id,
23454            'secret_store_id': self.secret_store_id,
23455            'subdomain': self.subdomain,
23456            'tags': self.tags,
23457            'tls_required': self.tls_required,
23458            'username': self.username,
23459        }
23460
23461    @classmethod
23462    def from_dict(cls, d):
23463        return cls(
23464            auth_database=d.get('auth_database'),
23465            bind_interface=d.get('bind_interface'),
23466            connect_to_replica=d.get('connect_to_replica'),
23467            egress_filter=d.get('egress_filter'),
23468            healthy=d.get('healthy'),
23469            hostname=d.get('hostname'),
23470            id=d.get('id'),
23471            name=d.get('name'),
23472            password=d.get('password'),
23473            port=d.get('port'),
23474            port_override=d.get('port_override'),
23475            proxy_cluster_id=d.get('proxy_cluster_id'),
23476            secret_store_id=d.get('secret_store_id'),
23477            subdomain=d.get('subdomain'),
23478            tags=d.get('tags'),
23479            tls_required=d.get('tls_required'),
23480            username=d.get('username'),
23481        )
23482
23483
23484class MongoReplicaSet:
23485    __slots__ = [
23486        'auth_database',
23487        'bind_interface',
23488        'connect_to_replica',
23489        'egress_filter',
23490        'healthy',
23491        'hostname',
23492        'id',
23493        'name',
23494        'password',
23495        'port',
23496        'port_override',
23497        'proxy_cluster_id',
23498        'secret_store_id',
23499        'subdomain',
23500        'tags',
23501        'tls_required',
23502        'username',
23503    ]
23504
23505    def __init__(
23506        self,
23507        auth_database=None,
23508        bind_interface=None,
23509        connect_to_replica=None,
23510        egress_filter=None,
23511        healthy=None,
23512        hostname=None,
23513        id=None,
23514        name=None,
23515        password=None,
23516        port=None,
23517        port_override=None,
23518        proxy_cluster_id=None,
23519        secret_store_id=None,
23520        subdomain=None,
23521        tags=None,
23522        tls_required=None,
23523        username=None,
23524    ):
23525        self.auth_database = auth_database if auth_database is not None else ''
23526        '''
23527         The authentication database to use.
23528        '''
23529        self.bind_interface = bind_interface if bind_interface is not None else ''
23530        '''
23531         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23532        '''
23533        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
23534        '''
23535         Set to connect to a replica instead of the primary node.
23536        '''
23537        self.egress_filter = egress_filter if egress_filter is not None else ''
23538        '''
23539         A filter applied to the routing logic to pin datasource to nodes.
23540        '''
23541        self.healthy = healthy if healthy is not None else False
23542        '''
23543         True if the datasource is reachable and the credentials are valid.
23544        '''
23545        self.hostname = hostname if hostname is not None else ''
23546        '''
23547         The host to dial to initiate a connection from the egress node to this resource.
23548        '''
23549        self.id = id if id is not None else ''
23550        '''
23551         Unique identifier of the Resource.
23552        '''
23553        self.name = name if name is not None else ''
23554        '''
23555         Unique human-readable name of the Resource.
23556        '''
23557        self.password = password if password is not None else ''
23558        '''
23559         The password to authenticate with.
23560        '''
23561        self.port = port if port is not None else 0
23562        '''
23563         The port to dial to initiate a connection from the egress node to this resource.
23564        '''
23565        self.port_override = port_override if port_override is not None else 0
23566        '''
23567         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23568        '''
23569        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23570        '''
23571         ID of the proxy cluster for this resource, if any.
23572        '''
23573        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23574        '''
23575         ID of the secret store containing credentials for this resource, if any.
23576        '''
23577        self.subdomain = subdomain if subdomain is not None else ''
23578        '''
23579         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23580        '''
23581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23582        '''
23583         Tags is a map of key, value pairs.
23584        '''
23585        self.tls_required = tls_required if tls_required is not None else False
23586        '''
23587         If set, TLS must be used to connect to this resource.
23588        '''
23589        self.username = username if username is not None else ''
23590        '''
23591         The username to authenticate with.
23592        '''
23593
23594    def __repr__(self):
23595        return '<sdm.MongoReplicaSet ' + \
23596            'auth_database: ' + repr(self.auth_database) + ' ' +\
23597            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23598            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
23599            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23600            'healthy: ' + repr(self.healthy) + ' ' +\
23601            'hostname: ' + repr(self.hostname) + ' ' +\
23602            'id: ' + repr(self.id) + ' ' +\
23603            'name: ' + repr(self.name) + ' ' +\
23604            'password: ' + repr(self.password) + ' ' +\
23605            'port: ' + repr(self.port) + ' ' +\
23606            'port_override: ' + repr(self.port_override) + ' ' +\
23607            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23608            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23609            'subdomain: ' + repr(self.subdomain) + ' ' +\
23610            'tags: ' + repr(self.tags) + ' ' +\
23611            'tls_required: ' + repr(self.tls_required) + ' ' +\
23612            'username: ' + repr(self.username) + ' ' +\
23613            '>'
23614
23615    def to_dict(self):
23616        return {
23617            'auth_database': self.auth_database,
23618            'bind_interface': self.bind_interface,
23619            'connect_to_replica': self.connect_to_replica,
23620            'egress_filter': self.egress_filter,
23621            'healthy': self.healthy,
23622            'hostname': self.hostname,
23623            'id': self.id,
23624            'name': self.name,
23625            'password': self.password,
23626            'port': self.port,
23627            'port_override': self.port_override,
23628            'proxy_cluster_id': self.proxy_cluster_id,
23629            'secret_store_id': self.secret_store_id,
23630            'subdomain': self.subdomain,
23631            'tags': self.tags,
23632            'tls_required': self.tls_required,
23633            'username': self.username,
23634        }
23635
23636    @classmethod
23637    def from_dict(cls, d):
23638        return cls(
23639            auth_database=d.get('auth_database'),
23640            bind_interface=d.get('bind_interface'),
23641            connect_to_replica=d.get('connect_to_replica'),
23642            egress_filter=d.get('egress_filter'),
23643            healthy=d.get('healthy'),
23644            hostname=d.get('hostname'),
23645            id=d.get('id'),
23646            name=d.get('name'),
23647            password=d.get('password'),
23648            port=d.get('port'),
23649            port_override=d.get('port_override'),
23650            proxy_cluster_id=d.get('proxy_cluster_id'),
23651            secret_store_id=d.get('secret_store_id'),
23652            subdomain=d.get('subdomain'),
23653            tags=d.get('tags'),
23654            tls_required=d.get('tls_required'),
23655            username=d.get('username'),
23656        )
23657
23658
23659class MongoShardedCluster:
23660    __slots__ = [
23661        'auth_database',
23662        'bind_interface',
23663        'egress_filter',
23664        'healthy',
23665        'hostname',
23666        'id',
23667        'name',
23668        'password',
23669        'port_override',
23670        'proxy_cluster_id',
23671        'secret_store_id',
23672        'subdomain',
23673        'tags',
23674        'tls_required',
23675        'username',
23676    ]
23677
23678    def __init__(
23679        self,
23680        auth_database=None,
23681        bind_interface=None,
23682        egress_filter=None,
23683        healthy=None,
23684        hostname=None,
23685        id=None,
23686        name=None,
23687        password=None,
23688        port_override=None,
23689        proxy_cluster_id=None,
23690        secret_store_id=None,
23691        subdomain=None,
23692        tags=None,
23693        tls_required=None,
23694        username=None,
23695    ):
23696        self.auth_database = auth_database if auth_database is not None else ''
23697        '''
23698         The authentication database to use.
23699        '''
23700        self.bind_interface = bind_interface if bind_interface is not None else ''
23701        '''
23702         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23703        '''
23704        self.egress_filter = egress_filter if egress_filter is not None else ''
23705        '''
23706         A filter applied to the routing logic to pin datasource to nodes.
23707        '''
23708        self.healthy = healthy if healthy is not None else False
23709        '''
23710         True if the datasource is reachable and the credentials are valid.
23711        '''
23712        self.hostname = hostname if hostname is not None else ''
23713        '''
23714         The host to dial to initiate a connection from the egress node to this resource.
23715        '''
23716        self.id = id if id is not None else ''
23717        '''
23718         Unique identifier of the Resource.
23719        '''
23720        self.name = name if name is not None else ''
23721        '''
23722         Unique human-readable name of the Resource.
23723        '''
23724        self.password = password if password is not None else ''
23725        '''
23726         The password to authenticate with.
23727        '''
23728        self.port_override = port_override if port_override is not None else 0
23729        '''
23730         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23731        '''
23732        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23733        '''
23734         ID of the proxy cluster for this resource, if any.
23735        '''
23736        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23737        '''
23738         ID of the secret store containing credentials for this resource, if any.
23739        '''
23740        self.subdomain = subdomain if subdomain is not None else ''
23741        '''
23742         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23743        '''
23744        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23745        '''
23746         Tags is a map of key, value pairs.
23747        '''
23748        self.tls_required = tls_required if tls_required is not None else False
23749        '''
23750         If set, TLS must be used to connect to this resource.
23751        '''
23752        self.username = username if username is not None else ''
23753        '''
23754         The username to authenticate with.
23755        '''
23756
23757    def __repr__(self):
23758        return '<sdm.MongoShardedCluster ' + \
23759            'auth_database: ' + repr(self.auth_database) + ' ' +\
23760            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23761            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23762            'healthy: ' + repr(self.healthy) + ' ' +\
23763            'hostname: ' + repr(self.hostname) + ' ' +\
23764            'id: ' + repr(self.id) + ' ' +\
23765            'name: ' + repr(self.name) + ' ' +\
23766            'password: ' + repr(self.password) + ' ' +\
23767            'port_override: ' + repr(self.port_override) + ' ' +\
23768            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23769            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23770            'subdomain: ' + repr(self.subdomain) + ' ' +\
23771            'tags: ' + repr(self.tags) + ' ' +\
23772            'tls_required: ' + repr(self.tls_required) + ' ' +\
23773            'username: ' + repr(self.username) + ' ' +\
23774            '>'
23775
23776    def to_dict(self):
23777        return {
23778            'auth_database': self.auth_database,
23779            'bind_interface': self.bind_interface,
23780            'egress_filter': self.egress_filter,
23781            'healthy': self.healthy,
23782            'hostname': self.hostname,
23783            'id': self.id,
23784            'name': self.name,
23785            'password': self.password,
23786            'port_override': self.port_override,
23787            'proxy_cluster_id': self.proxy_cluster_id,
23788            'secret_store_id': self.secret_store_id,
23789            'subdomain': self.subdomain,
23790            'tags': self.tags,
23791            'tls_required': self.tls_required,
23792            'username': self.username,
23793        }
23794
23795    @classmethod
23796    def from_dict(cls, d):
23797        return cls(
23798            auth_database=d.get('auth_database'),
23799            bind_interface=d.get('bind_interface'),
23800            egress_filter=d.get('egress_filter'),
23801            healthy=d.get('healthy'),
23802            hostname=d.get('hostname'),
23803            id=d.get('id'),
23804            name=d.get('name'),
23805            password=d.get('password'),
23806            port_override=d.get('port_override'),
23807            proxy_cluster_id=d.get('proxy_cluster_id'),
23808            secret_store_id=d.get('secret_store_id'),
23809            subdomain=d.get('subdomain'),
23810            tags=d.get('tags'),
23811            tls_required=d.get('tls_required'),
23812            username=d.get('username'),
23813        )
23814
23815
23816class Mysql:
23817    __slots__ = [
23818        'bind_interface',
23819        'database',
23820        'egress_filter',
23821        'healthy',
23822        'hostname',
23823        'id',
23824        'name',
23825        'password',
23826        'port',
23827        'port_override',
23828        'proxy_cluster_id',
23829        'require_native_auth',
23830        'secret_store_id',
23831        'subdomain',
23832        'tags',
23833        'use_azure_single_server_usernames',
23834        'username',
23835    ]
23836
23837    def __init__(
23838        self,
23839        bind_interface=None,
23840        database=None,
23841        egress_filter=None,
23842        healthy=None,
23843        hostname=None,
23844        id=None,
23845        name=None,
23846        password=None,
23847        port=None,
23848        port_override=None,
23849        proxy_cluster_id=None,
23850        require_native_auth=None,
23851        secret_store_id=None,
23852        subdomain=None,
23853        tags=None,
23854        use_azure_single_server_usernames=None,
23855        username=None,
23856    ):
23857        self.bind_interface = bind_interface if bind_interface is not None else ''
23858        '''
23859         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23860        '''
23861        self.database = database if database is not None else ''
23862        '''
23863         The database for healthchecks. Does not affect client requests.
23864        '''
23865        self.egress_filter = egress_filter if egress_filter is not None else ''
23866        '''
23867         A filter applied to the routing logic to pin datasource to nodes.
23868        '''
23869        self.healthy = healthy if healthy is not None else False
23870        '''
23871         True if the datasource is reachable and the credentials are valid.
23872        '''
23873        self.hostname = hostname if hostname is not None else ''
23874        '''
23875         The host to dial to initiate a connection from the egress node to this resource.
23876        '''
23877        self.id = id if id is not None else ''
23878        '''
23879         Unique identifier of the Resource.
23880        '''
23881        self.name = name if name is not None else ''
23882        '''
23883         Unique human-readable name of the Resource.
23884        '''
23885        self.password = password if password is not None else ''
23886        '''
23887         The password to authenticate with.
23888        '''
23889        self.port = port if port is not None else 0
23890        '''
23891         The port to dial to initiate a connection from the egress node to this resource.
23892        '''
23893        self.port_override = port_override if port_override is not None else 0
23894        '''
23895         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23896        '''
23897        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23898        '''
23899         ID of the proxy cluster for this resource, if any.
23900        '''
23901        self.require_native_auth = require_native_auth if require_native_auth is not None else False
23902        '''
23903         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
23904        '''
23905        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23906        '''
23907         ID of the secret store containing credentials for this resource, if any.
23908        '''
23909        self.subdomain = subdomain if subdomain is not None else ''
23910        '''
23911         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23912        '''
23913        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23914        '''
23915         Tags is a map of key, value pairs.
23916        '''
23917        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
23918        '''
23919         If true, appends the hostname to the username when hitting a database.azure.com address
23920        '''
23921        self.username = username if username is not None else ''
23922        '''
23923         The username to authenticate with.
23924        '''
23925
23926    def __repr__(self):
23927        return '<sdm.Mysql ' + \
23928            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23929            'database: ' + repr(self.database) + ' ' +\
23930            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23931            'healthy: ' + repr(self.healthy) + ' ' +\
23932            'hostname: ' + repr(self.hostname) + ' ' +\
23933            'id: ' + repr(self.id) + ' ' +\
23934            'name: ' + repr(self.name) + ' ' +\
23935            'password: ' + repr(self.password) + ' ' +\
23936            'port: ' + repr(self.port) + ' ' +\
23937            'port_override: ' + repr(self.port_override) + ' ' +\
23938            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23939            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
23940            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23941            'subdomain: ' + repr(self.subdomain) + ' ' +\
23942            'tags: ' + repr(self.tags) + ' ' +\
23943            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
23944            'username: ' + repr(self.username) + ' ' +\
23945            '>'
23946
23947    def to_dict(self):
23948        return {
23949            'bind_interface': self.bind_interface,
23950            'database': self.database,
23951            'egress_filter': self.egress_filter,
23952            'healthy': self.healthy,
23953            'hostname': self.hostname,
23954            'id': self.id,
23955            'name': self.name,
23956            'password': self.password,
23957            'port': self.port,
23958            'port_override': self.port_override,
23959            'proxy_cluster_id': self.proxy_cluster_id,
23960            'require_native_auth': self.require_native_auth,
23961            'secret_store_id': self.secret_store_id,
23962            'subdomain': self.subdomain,
23963            'tags': self.tags,
23964            'use_azure_single_server_usernames':
23965            self.use_azure_single_server_usernames,
23966            'username': self.username,
23967        }
23968
23969    @classmethod
23970    def from_dict(cls, d):
23971        return cls(
23972            bind_interface=d.get('bind_interface'),
23973            database=d.get('database'),
23974            egress_filter=d.get('egress_filter'),
23975            healthy=d.get('healthy'),
23976            hostname=d.get('hostname'),
23977            id=d.get('id'),
23978            name=d.get('name'),
23979            password=d.get('password'),
23980            port=d.get('port'),
23981            port_override=d.get('port_override'),
23982            proxy_cluster_id=d.get('proxy_cluster_id'),
23983            require_native_auth=d.get('require_native_auth'),
23984            secret_store_id=d.get('secret_store_id'),
23985            subdomain=d.get('subdomain'),
23986            tags=d.get('tags'),
23987            use_azure_single_server_usernames=d.get(
23988                'use_azure_single_server_usernames'),
23989            username=d.get('username'),
23990        )
23991
23992
23993class MysqlEngine:
23994    __slots__ = [
23995        'after_read_ttl',
23996        'database',
23997        'hostname',
23998        'id',
23999        'key_rotation_interval_days',
24000        'name',
24001        'node_selector',
24002        'password',
24003        'policy',
24004        'port',
24005        'public_key',
24006        'secret_store_id',
24007        'secret_store_root_path',
24008        'tags',
24009        'tls',
24010        'tls_skip_verify',
24011        'ttl',
24012        'username',
24013    ]
24014
24015    def __init__(
24016        self,
24017        after_read_ttl=None,
24018        database=None,
24019        hostname=None,
24020        id=None,
24021        key_rotation_interval_days=None,
24022        name=None,
24023        node_selector=None,
24024        password=None,
24025        policy=None,
24026        port=None,
24027        public_key=None,
24028        secret_store_id=None,
24029        secret_store_root_path=None,
24030        tags=None,
24031        tls=None,
24032        tls_skip_verify=None,
24033        ttl=None,
24034        username=None,
24035    ):
24036        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
24037        '''
24038         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
24039        '''
24040        self.database = database if database is not None else ''
24041        '''
24042         Database is the database to verify credential against.
24043        '''
24044        self.hostname = hostname if hostname is not None else ''
24045        '''
24046         Hostname is the hostname or IP address of the MySQL server.
24047        '''
24048        self.id = id if id is not None else ''
24049        '''
24050         Unique identifier of the Secret Engine.
24051        '''
24052        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
24053        '''
24054         An interval of public/private key rotation for secret engine in days
24055        '''
24056        self.name = name if name is not None else ''
24057        '''
24058         Unique human-readable name of the Secret Engine.
24059        '''
24060        self.node_selector = node_selector if node_selector is not None else ''
24061        '''
24062         node selector is used to narrow down the nodes used to communicate with with secret engine
24063        '''
24064        self.password = password if password is not None else ''
24065        '''
24066         Password is the password to connect to the MySQL server.
24067        '''
24068        self.policy = policy if policy is not None else None
24069        '''
24070         Policy for password creation
24071        '''
24072        self.port = port if port is not None else 0
24073        '''
24074         Port is the port number of the MySQL server.
24075        '''
24076        self.public_key = public_key if public_key is not None else b''
24077        '''
24078         Public key linked with a secret engine
24079        '''
24080        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24081        '''
24082         Backing secret store identifier
24083        '''
24084        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
24085        '''
24086         Backing Secret Store root path where managed secrets are going to be stored
24087        '''
24088        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24089        '''
24090         Tags is a map of key, value pairs.
24091        '''
24092        self.tls = tls if tls is not None else False
24093        '''
24094         TLS enables TLS/SSL when connecting to the MySQL server.
24095        '''
24096        self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
24097        '''
24098         TLS disable certificate verification
24099        '''
24100        self.ttl = ttl if ttl is not None else None
24101        '''
24102         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
24103        '''
24104        self.username = username if username is not None else ''
24105        '''
24106         Username is the username to connect to the MySQL server.
24107        '''
24108
24109    def __repr__(self):
24110        return '<sdm.MysqlEngine ' + \
24111            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
24112            'database: ' + repr(self.database) + ' ' +\
24113            'hostname: ' + repr(self.hostname) + ' ' +\
24114            'id: ' + repr(self.id) + ' ' +\
24115            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
24116            'name: ' + repr(self.name) + ' ' +\
24117            'node_selector: ' + repr(self.node_selector) + ' ' +\
24118            'password: ' + repr(self.password) + ' ' +\
24119            'policy: ' + repr(self.policy) + ' ' +\
24120            'port: ' + repr(self.port) + ' ' +\
24121            'public_key: ' + repr(self.public_key) + ' ' +\
24122            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24123            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
24124            'tags: ' + repr(self.tags) + ' ' +\
24125            'tls: ' + repr(self.tls) + ' ' +\
24126            'tls_skip_verify: ' + repr(self.tls_skip_verify) + ' ' +\
24127            'ttl: ' + repr(self.ttl) + ' ' +\
24128            'username: ' + repr(self.username) + ' ' +\
24129            '>'
24130
24131    def to_dict(self):
24132        return {
24133            'after_read_ttl': self.after_read_ttl,
24134            'database': self.database,
24135            'hostname': self.hostname,
24136            'id': self.id,
24137            'key_rotation_interval_days': self.key_rotation_interval_days,
24138            'name': self.name,
24139            'node_selector': self.node_selector,
24140            'password': self.password,
24141            'policy': self.policy,
24142            'port': self.port,
24143            'public_key': self.public_key,
24144            'secret_store_id': self.secret_store_id,
24145            'secret_store_root_path': self.secret_store_root_path,
24146            'tags': self.tags,
24147            'tls': self.tls,
24148            'tls_skip_verify': self.tls_skip_verify,
24149            'ttl': self.ttl,
24150            'username': self.username,
24151        }
24152
24153    @classmethod
24154    def from_dict(cls, d):
24155        return cls(
24156            after_read_ttl=d.get('after_read_ttl'),
24157            database=d.get('database'),
24158            hostname=d.get('hostname'),
24159            id=d.get('id'),
24160            key_rotation_interval_days=d.get('key_rotation_interval_days'),
24161            name=d.get('name'),
24162            node_selector=d.get('node_selector'),
24163            password=d.get('password'),
24164            policy=d.get('policy'),
24165            port=d.get('port'),
24166            public_key=d.get('public_key'),
24167            secret_store_id=d.get('secret_store_id'),
24168            secret_store_root_path=d.get('secret_store_root_path'),
24169            tags=d.get('tags'),
24170            tls=d.get('tls'),
24171            tls_skip_verify=d.get('tls_skip_verify'),
24172            ttl=d.get('ttl'),
24173            username=d.get('username'),
24174        )
24175
24176
24177class Neptune:
24178    __slots__ = [
24179        'bind_interface',
24180        'egress_filter',
24181        'endpoint',
24182        'healthy',
24183        'id',
24184        'name',
24185        'port',
24186        'port_override',
24187        'proxy_cluster_id',
24188        'secret_store_id',
24189        'subdomain',
24190        'tags',
24191    ]
24192
24193    def __init__(
24194        self,
24195        bind_interface=None,
24196        egress_filter=None,
24197        endpoint=None,
24198        healthy=None,
24199        id=None,
24200        name=None,
24201        port=None,
24202        port_override=None,
24203        proxy_cluster_id=None,
24204        secret_store_id=None,
24205        subdomain=None,
24206        tags=None,
24207    ):
24208        self.bind_interface = bind_interface if bind_interface is not None else ''
24209        '''
24210         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24211        '''
24212        self.egress_filter = egress_filter if egress_filter is not None else ''
24213        '''
24214         A filter applied to the routing logic to pin datasource to nodes.
24215        '''
24216        self.endpoint = endpoint if endpoint is not None else ''
24217        '''
24218         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
24219        '''
24220        self.healthy = healthy if healthy is not None else False
24221        '''
24222         True if the datasource is reachable and the credentials are valid.
24223        '''
24224        self.id = id if id is not None else ''
24225        '''
24226         Unique identifier of the Resource.
24227        '''
24228        self.name = name if name is not None else ''
24229        '''
24230         Unique human-readable name of the Resource.
24231        '''
24232        self.port = port if port is not None else 0
24233        '''
24234         The port to dial to initiate a connection from the egress node to this resource.
24235        '''
24236        self.port_override = port_override if port_override is not None else 0
24237        '''
24238         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24239        '''
24240        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24241        '''
24242         ID of the proxy cluster for this resource, if any.
24243        '''
24244        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24245        '''
24246         ID of the secret store containing credentials for this resource, if any.
24247        '''
24248        self.subdomain = subdomain if subdomain is not None else ''
24249        '''
24250         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24251        '''
24252        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24253        '''
24254         Tags is a map of key, value pairs.
24255        '''
24256
24257    def __repr__(self):
24258        return '<sdm.Neptune ' + \
24259            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24260            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24261            'endpoint: ' + repr(self.endpoint) + ' ' +\
24262            'healthy: ' + repr(self.healthy) + ' ' +\
24263            'id: ' + repr(self.id) + ' ' +\
24264            'name: ' + repr(self.name) + ' ' +\
24265            'port: ' + repr(self.port) + ' ' +\
24266            'port_override: ' + repr(self.port_override) + ' ' +\
24267            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24268            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24269            'subdomain: ' + repr(self.subdomain) + ' ' +\
24270            'tags: ' + repr(self.tags) + ' ' +\
24271            '>'
24272
24273    def to_dict(self):
24274        return {
24275            'bind_interface': self.bind_interface,
24276            'egress_filter': self.egress_filter,
24277            'endpoint': self.endpoint,
24278            'healthy': self.healthy,
24279            'id': self.id,
24280            'name': self.name,
24281            'port': self.port,
24282            'port_override': self.port_override,
24283            'proxy_cluster_id': self.proxy_cluster_id,
24284            'secret_store_id': self.secret_store_id,
24285            'subdomain': self.subdomain,
24286            'tags': self.tags,
24287        }
24288
24289    @classmethod
24290    def from_dict(cls, d):
24291        return cls(
24292            bind_interface=d.get('bind_interface'),
24293            egress_filter=d.get('egress_filter'),
24294            endpoint=d.get('endpoint'),
24295            healthy=d.get('healthy'),
24296            id=d.get('id'),
24297            name=d.get('name'),
24298            port=d.get('port'),
24299            port_override=d.get('port_override'),
24300            proxy_cluster_id=d.get('proxy_cluster_id'),
24301            secret_store_id=d.get('secret_store_id'),
24302            subdomain=d.get('subdomain'),
24303            tags=d.get('tags'),
24304        )
24305
24306
24307class NeptuneIAM:
24308    __slots__ = [
24309        'access_key',
24310        'bind_interface',
24311        'egress_filter',
24312        'endpoint',
24313        'healthy',
24314        'id',
24315        'name',
24316        'port',
24317        'port_override',
24318        'proxy_cluster_id',
24319        'region',
24320        'role_arn',
24321        'role_external_id',
24322        'secret_access_key',
24323        'secret_store_id',
24324        'subdomain',
24325        'tags',
24326    ]
24327
24328    def __init__(
24329        self,
24330        access_key=None,
24331        bind_interface=None,
24332        egress_filter=None,
24333        endpoint=None,
24334        healthy=None,
24335        id=None,
24336        name=None,
24337        port=None,
24338        port_override=None,
24339        proxy_cluster_id=None,
24340        region=None,
24341        role_arn=None,
24342        role_external_id=None,
24343        secret_access_key=None,
24344        secret_store_id=None,
24345        subdomain=None,
24346        tags=None,
24347    ):
24348        self.access_key = access_key if access_key is not None else ''
24349        '''
24350         The Access Key ID to use to authenticate.
24351        '''
24352        self.bind_interface = bind_interface if bind_interface is not None else ''
24353        '''
24354         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24355        '''
24356        self.egress_filter = egress_filter if egress_filter is not None else ''
24357        '''
24358         A filter applied to the routing logic to pin datasource to nodes.
24359        '''
24360        self.endpoint = endpoint if endpoint is not None else ''
24361        '''
24362         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
24363        '''
24364        self.healthy = healthy if healthy is not None else False
24365        '''
24366         True if the datasource is reachable and the credentials are valid.
24367        '''
24368        self.id = id if id is not None else ''
24369        '''
24370         Unique identifier of the Resource.
24371        '''
24372        self.name = name if name is not None else ''
24373        '''
24374         Unique human-readable name of the Resource.
24375        '''
24376        self.port = port if port is not None else 0
24377        '''
24378         The port to dial to initiate a connection from the egress node to this resource.
24379        '''
24380        self.port_override = port_override if port_override is not None else 0
24381        '''
24382         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24383        '''
24384        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24385        '''
24386         ID of the proxy cluster for this resource, if any.
24387        '''
24388        self.region = region if region is not None else ''
24389        '''
24390         The AWS region to connect to.
24391        '''
24392        self.role_arn = role_arn if role_arn is not None else ''
24393        '''
24394         The role to assume after logging in.
24395        '''
24396        self.role_external_id = role_external_id if role_external_id is not None else ''
24397        '''
24398         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
24399        '''
24400        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
24401        '''
24402         The Secret Access Key to use to authenticate.
24403        '''
24404        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24405        '''
24406         ID of the secret store containing credentials for this resource, if any.
24407        '''
24408        self.subdomain = subdomain if subdomain is not None else ''
24409        '''
24410         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24411        '''
24412        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24413        '''
24414         Tags is a map of key, value pairs.
24415        '''
24416
24417    def __repr__(self):
24418        return '<sdm.NeptuneIAM ' + \
24419            'access_key: ' + repr(self.access_key) + ' ' +\
24420            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24421            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24422            'endpoint: ' + repr(self.endpoint) + ' ' +\
24423            'healthy: ' + repr(self.healthy) + ' ' +\
24424            'id: ' + repr(self.id) + ' ' +\
24425            'name: ' + repr(self.name) + ' ' +\
24426            'port: ' + repr(self.port) + ' ' +\
24427            'port_override: ' + repr(self.port_override) + ' ' +\
24428            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24429            'region: ' + repr(self.region) + ' ' +\
24430            'role_arn: ' + repr(self.role_arn) + ' ' +\
24431            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
24432            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
24433            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24434            'subdomain: ' + repr(self.subdomain) + ' ' +\
24435            'tags: ' + repr(self.tags) + ' ' +\
24436            '>'
24437
24438    def to_dict(self):
24439        return {
24440            'access_key': self.access_key,
24441            'bind_interface': self.bind_interface,
24442            'egress_filter': self.egress_filter,
24443            'endpoint': self.endpoint,
24444            'healthy': self.healthy,
24445            'id': self.id,
24446            'name': self.name,
24447            'port': self.port,
24448            'port_override': self.port_override,
24449            'proxy_cluster_id': self.proxy_cluster_id,
24450            'region': self.region,
24451            'role_arn': self.role_arn,
24452            'role_external_id': self.role_external_id,
24453            'secret_access_key': self.secret_access_key,
24454            'secret_store_id': self.secret_store_id,
24455            'subdomain': self.subdomain,
24456            'tags': self.tags,
24457        }
24458
24459    @classmethod
24460    def from_dict(cls, d):
24461        return cls(
24462            access_key=d.get('access_key'),
24463            bind_interface=d.get('bind_interface'),
24464            egress_filter=d.get('egress_filter'),
24465            endpoint=d.get('endpoint'),
24466            healthy=d.get('healthy'),
24467            id=d.get('id'),
24468            name=d.get('name'),
24469            port=d.get('port'),
24470            port_override=d.get('port_override'),
24471            proxy_cluster_id=d.get('proxy_cluster_id'),
24472            region=d.get('region'),
24473            role_arn=d.get('role_arn'),
24474            role_external_id=d.get('role_external_id'),
24475            secret_access_key=d.get('secret_access_key'),
24476            secret_store_id=d.get('secret_store_id'),
24477            subdomain=d.get('subdomain'),
24478            tags=d.get('tags'),
24479        )
24480
24481
24482class NodeCreateResponse:
24483    '''
24484         NodeCreateResponse reports how the Nodes were created in the system.
24485    '''
24486    __slots__ = [
24487        'meta',
24488        'node',
24489        'rate_limit',
24490        'token',
24491    ]
24492
24493    def __init__(
24494        self,
24495        meta=None,
24496        node=None,
24497        rate_limit=None,
24498        token=None,
24499    ):
24500        self.meta = meta if meta is not None else None
24501        '''
24502         Reserved for future use.
24503        '''
24504        self.node = node if node is not None else None
24505        '''
24506         The created Node.
24507        '''
24508        self.rate_limit = rate_limit if rate_limit is not None else None
24509        '''
24510         Rate limit information.
24511        '''
24512        self.token = token if token is not None else ''
24513        '''
24514         The auth token generated for the Node. The Node will use this token to
24515         authenticate with the strongDM API.
24516        '''
24517
24518    def __repr__(self):
24519        return '<sdm.NodeCreateResponse ' + \
24520            'meta: ' + repr(self.meta) + ' ' +\
24521            'node: ' + repr(self.node) + ' ' +\
24522            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24523            'token: ' + repr(self.token) + ' ' +\
24524            '>'
24525
24526    def to_dict(self):
24527        return {
24528            'meta': self.meta,
24529            'node': self.node,
24530            'rate_limit': self.rate_limit,
24531            'token': self.token,
24532        }
24533
24534    @classmethod
24535    def from_dict(cls, d):
24536        return cls(
24537            meta=d.get('meta'),
24538            node=d.get('node'),
24539            rate_limit=d.get('rate_limit'),
24540            token=d.get('token'),
24541        )
24542
24543
24544class NodeDeleteResponse:
24545    '''
24546         NodeDeleteResponse returns information about a Node that was deleted.
24547    '''
24548    __slots__ = [
24549        'meta',
24550        'rate_limit',
24551    ]
24552
24553    def __init__(
24554        self,
24555        meta=None,
24556        rate_limit=None,
24557    ):
24558        self.meta = meta if meta is not None else None
24559        '''
24560         Reserved for future use.
24561        '''
24562        self.rate_limit = rate_limit if rate_limit is not None else None
24563        '''
24564         Rate limit information.
24565        '''
24566
24567    def __repr__(self):
24568        return '<sdm.NodeDeleteResponse ' + \
24569            'meta: ' + repr(self.meta) + ' ' +\
24570            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24571            '>'
24572
24573    def to_dict(self):
24574        return {
24575            'meta': self.meta,
24576            'rate_limit': self.rate_limit,
24577        }
24578
24579    @classmethod
24580    def from_dict(cls, d):
24581        return cls(
24582            meta=d.get('meta'),
24583            rate_limit=d.get('rate_limit'),
24584        )
24585
24586
24587class NodeGetResponse:
24588    '''
24589         NodeGetResponse returns a requested Node.
24590    '''
24591    __slots__ = [
24592        'meta',
24593        'node',
24594        'rate_limit',
24595    ]
24596
24597    def __init__(
24598        self,
24599        meta=None,
24600        node=None,
24601        rate_limit=None,
24602    ):
24603        self.meta = meta if meta is not None else None
24604        '''
24605         Reserved for future use.
24606        '''
24607        self.node = node if node is not None else None
24608        '''
24609         The requested Node.
24610        '''
24611        self.rate_limit = rate_limit if rate_limit is not None else None
24612        '''
24613         Rate limit information.
24614        '''
24615
24616    def __repr__(self):
24617        return '<sdm.NodeGetResponse ' + \
24618            'meta: ' + repr(self.meta) + ' ' +\
24619            'node: ' + repr(self.node) + ' ' +\
24620            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24621            '>'
24622
24623    def to_dict(self):
24624        return {
24625            'meta': self.meta,
24626            'node': self.node,
24627            'rate_limit': self.rate_limit,
24628        }
24629
24630    @classmethod
24631    def from_dict(cls, d):
24632        return cls(
24633            meta=d.get('meta'),
24634            node=d.get('node'),
24635            rate_limit=d.get('rate_limit'),
24636        )
24637
24638
24639class NodeHistory:
24640    '''
24641         NodeHistory records the state of a Node at a given point in time,
24642     where every change (create, update and delete) to a Node produces an
24643     NodeHistory record.
24644    '''
24645    __slots__ = [
24646        'activity_id',
24647        'deleted_at',
24648        'node',
24649        'timestamp',
24650    ]
24651
24652    def __init__(
24653        self,
24654        activity_id=None,
24655        deleted_at=None,
24656        node=None,
24657        timestamp=None,
24658    ):
24659        self.activity_id = activity_id if activity_id is not None else ''
24660        '''
24661         The unique identifier of the Activity that produced this change to the Node.
24662         May be empty for some system-initiated updates.
24663        '''
24664        self.deleted_at = deleted_at if deleted_at is not None else None
24665        '''
24666         If this Node was deleted, the time it was deleted.
24667        '''
24668        self.node = node if node is not None else None
24669        '''
24670         The complete Node state at this time.
24671        '''
24672        self.timestamp = timestamp if timestamp is not None else None
24673        '''
24674         The time at which the Node state was recorded.
24675        '''
24676
24677    def __repr__(self):
24678        return '<sdm.NodeHistory ' + \
24679            'activity_id: ' + repr(self.activity_id) + ' ' +\
24680            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24681            'node: ' + repr(self.node) + ' ' +\
24682            'timestamp: ' + repr(self.timestamp) + ' ' +\
24683            '>'
24684
24685    def to_dict(self):
24686        return {
24687            'activity_id': self.activity_id,
24688            'deleted_at': self.deleted_at,
24689            'node': self.node,
24690            'timestamp': self.timestamp,
24691        }
24692
24693    @classmethod
24694    def from_dict(cls, d):
24695        return cls(
24696            activity_id=d.get('activity_id'),
24697            deleted_at=d.get('deleted_at'),
24698            node=d.get('node'),
24699            timestamp=d.get('timestamp'),
24700        )
24701
24702
24703class NodeMaintenanceWindow:
24704    __slots__ = [
24705        'cron_schedule',
24706        'require_idleness',
24707    ]
24708
24709    def __init__(
24710        self,
24711        cron_schedule=None,
24712        require_idleness=None,
24713    ):
24714        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
24715        '''
24716         Cron job syntax for when this maintenance window is active. On this schedule, associated
24717         nodes will restart if requested, provided other checks allow the restart to proceed. Times
24718         are represented in UTC.
24719         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
24720         Saturday. Not all possible inputs are supported: the month and day of month selections
24721         must be '*'.
24722        '''
24723        self.require_idleness = require_idleness if require_idleness is not None else False
24724        '''
24725         Require Idleness defines whether this window can sever live connections. If true,
24726         this window will not allow a node to be restarted unless it is serving no connections.
24727         If false, given a restart of the node has been requested (for an update, usually), the
24728         node will restart as soon as it enters an allowed day / hour combination. At least one
24729         maintenance window, out of all configured windows for a node, must have this as false.
24730        '''
24731
24732    def __repr__(self):
24733        return '<sdm.NodeMaintenanceWindow ' + \
24734            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
24735            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
24736            '>'
24737
24738    def to_dict(self):
24739        return {
24740            'cron_schedule': self.cron_schedule,
24741            'require_idleness': self.require_idleness,
24742        }
24743
24744    @classmethod
24745    def from_dict(cls, d):
24746        return cls(
24747            cron_schedule=d.get('cron_schedule'),
24748            require_idleness=d.get('require_idleness'),
24749        )
24750
24751
24752class NodeTCPProbeResponse:
24753    '''
24754         NodeTCPProbeResponse reports the result of a TCP probe.
24755    '''
24756    __slots__ = [
24757        'error',
24758        'meta',
24759        'rate_limit',
24760        'succeeded',
24761    ]
24762
24763    def __init__(
24764        self,
24765        error=None,
24766        meta=None,
24767        rate_limit=None,
24768        succeeded=None,
24769    ):
24770        self.error = error if error is not None else ''
24771        '''
24772         The connection error reported by the node, or the empty string if the probe succeeded.
24773        '''
24774        self.meta = meta if meta is not None else None
24775        '''
24776         Reserved for future use.
24777        '''
24778        self.rate_limit = rate_limit if rate_limit is not None else None
24779        '''
24780         Rate limit information.
24781        '''
24782        self.succeeded = succeeded if succeeded is not None else False
24783        '''
24784         True if the node was able to connect to the target address.
24785        '''
24786
24787    def __repr__(self):
24788        return '<sdm.NodeTCPProbeResponse ' + \
24789            'error: ' + repr(self.error) + ' ' +\
24790            'meta: ' + repr(self.meta) + ' ' +\
24791            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24792            'succeeded: ' + repr(self.succeeded) + ' ' +\
24793            '>'
24794
24795    def to_dict(self):
24796        return {
24797            'error': self.error,
24798            'meta': self.meta,
24799            'rate_limit': self.rate_limit,
24800            'succeeded': self.succeeded,
24801        }
24802
24803    @classmethod
24804    def from_dict(cls, d):
24805        return cls(
24806            error=d.get('error'),
24807            meta=d.get('meta'),
24808            rate_limit=d.get('rate_limit'),
24809            succeeded=d.get('succeeded'),
24810        )
24811
24812
24813class NodeUpdateResponse:
24814    '''
24815         NodeUpdateResponse returns the fields of a Node after it has been updated by
24816     a NodeUpdateRequest.
24817    '''
24818    __slots__ = [
24819        'meta',
24820        'node',
24821        'rate_limit',
24822    ]
24823
24824    def __init__(
24825        self,
24826        meta=None,
24827        node=None,
24828        rate_limit=None,
24829    ):
24830        self.meta = meta if meta is not None else None
24831        '''
24832         Reserved for future use.
24833        '''
24834        self.node = node if node is not None else None
24835        '''
24836         The updated Node.
24837        '''
24838        self.rate_limit = rate_limit if rate_limit is not None else None
24839        '''
24840         Rate limit information.
24841        '''
24842
24843    def __repr__(self):
24844        return '<sdm.NodeUpdateResponse ' + \
24845            'meta: ' + repr(self.meta) + ' ' +\
24846            'node: ' + repr(self.node) + ' ' +\
24847            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24848            '>'
24849
24850    def to_dict(self):
24851        return {
24852            'meta': self.meta,
24853            'node': self.node,
24854            'rate_limit': self.rate_limit,
24855        }
24856
24857    @classmethod
24858    def from_dict(cls, d):
24859        return cls(
24860            meta=d.get('meta'),
24861            node=d.get('node'),
24862            rate_limit=d.get('rate_limit'),
24863        )
24864
24865
24866class OktaGroups:
24867    __slots__ = [
24868        'bind_interface',
24869        'discovery_enabled',
24870        'domain',
24871        'egress_filter',
24872        'group_names',
24873        'healthy',
24874        'id',
24875        'identity_set_id',
24876        'name',
24877        'privilege_levels',
24878        'proxy_cluster_id',
24879        'secret_store_id',
24880        'subdomain',
24881        'tags',
24882    ]
24883
24884    def __init__(
24885        self,
24886        bind_interface=None,
24887        discovery_enabled=None,
24888        domain=None,
24889        egress_filter=None,
24890        group_names=None,
24891        healthy=None,
24892        id=None,
24893        identity_set_id=None,
24894        name=None,
24895        privilege_levels=None,
24896        proxy_cluster_id=None,
24897        secret_store_id=None,
24898        subdomain=None,
24899        tags=None,
24900    ):
24901        self.bind_interface = bind_interface if bind_interface is not None else ''
24902        '''
24903         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24904        '''
24905        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
24906        '''
24907         If true, configures discovery of the Okta org to be run from a node.
24908        '''
24909        self.domain = domain if domain is not None else ''
24910        '''
24911         Represents the Okta Org Client URL
24912        '''
24913        self.egress_filter = egress_filter if egress_filter is not None else ''
24914        '''
24915         A filter applied to the routing logic to pin datasource to nodes.
24916        '''
24917        self.group_names = group_names if group_names is not None else ''
24918        '''
24919         comma separated list of group names to filter by. Supports wildcards (*)
24920        '''
24921        self.healthy = healthy if healthy is not None else False
24922        '''
24923         True if the datasource is reachable and the credentials are valid.
24924        '''
24925        self.id = id if id is not None else ''
24926        '''
24927         Unique identifier of the Resource.
24928        '''
24929        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
24930        '''
24931         The ID of the identity set to use for identity connections.
24932        '''
24933        self.name = name if name is not None else ''
24934        '''
24935         Unique human-readable name of the Resource.
24936        '''
24937        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
24938        '''
24939         The privilege levels specify which Groups are managed externally
24940        '''
24941        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24942        '''
24943         ID of the proxy cluster for this resource, if any.
24944        '''
24945        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24946        '''
24947         ID of the secret store containing credentials for this resource, if any.
24948        '''
24949        self.subdomain = subdomain if subdomain is not None else ''
24950        '''
24951         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24952        '''
24953        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24954        '''
24955         Tags is a map of key, value pairs.
24956        '''
24957
24958    def __repr__(self):
24959        return '<sdm.OktaGroups ' + \
24960            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24961            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
24962            'domain: ' + repr(self.domain) + ' ' +\
24963            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24964            'group_names: ' + repr(self.group_names) + ' ' +\
24965            'healthy: ' + repr(self.healthy) + ' ' +\
24966            'id: ' + repr(self.id) + ' ' +\
24967            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
24968            'name: ' + repr(self.name) + ' ' +\
24969            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
24970            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24971            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24972            'subdomain: ' + repr(self.subdomain) + ' ' +\
24973            'tags: ' + repr(self.tags) + ' ' +\
24974            '>'
24975
24976    def to_dict(self):
24977        return {
24978            'bind_interface': self.bind_interface,
24979            'discovery_enabled': self.discovery_enabled,
24980            'domain': self.domain,
24981            'egress_filter': self.egress_filter,
24982            'group_names': self.group_names,
24983            'healthy': self.healthy,
24984            'id': self.id,
24985            'identity_set_id': self.identity_set_id,
24986            'name': self.name,
24987            'privilege_levels': self.privilege_levels,
24988            'proxy_cluster_id': self.proxy_cluster_id,
24989            'secret_store_id': self.secret_store_id,
24990            'subdomain': self.subdomain,
24991            'tags': self.tags,
24992        }
24993
24994    @classmethod
24995    def from_dict(cls, d):
24996        return cls(
24997            bind_interface=d.get('bind_interface'),
24998            discovery_enabled=d.get('discovery_enabled'),
24999            domain=d.get('domain'),
25000            egress_filter=d.get('egress_filter'),
25001            group_names=d.get('group_names'),
25002            healthy=d.get('healthy'),
25003            id=d.get('id'),
25004            identity_set_id=d.get('identity_set_id'),
25005            name=d.get('name'),
25006            privilege_levels=d.get('privilege_levels'),
25007            proxy_cluster_id=d.get('proxy_cluster_id'),
25008            secret_store_id=d.get('secret_store_id'),
25009            subdomain=d.get('subdomain'),
25010            tags=d.get('tags'),
25011        )
25012
25013
25014class OktaMFAConfig:
25015    __slots__ = [
25016        'api_token',
25017        'api_token_set',
25018        'auth_mode',
25019        'client_id',
25020        'multidevice_push_enabled',
25021        'organization_url',
25022        'private_key_id',
25023        'private_key_id_set',
25024        'private_key_pem',
25025        'private_key_pem_set',
25026        'user_lookup',
25027    ]
25028
25029    def __init__(
25030        self,
25031        api_token=None,
25032        api_token_set=None,
25033        auth_mode=None,
25034        client_id=None,
25035        multidevice_push_enabled=None,
25036        organization_url=None,
25037        private_key_id=None,
25038        private_key_id_set=None,
25039        private_key_pem=None,
25040        private_key_pem_set=None,
25041        user_lookup=None,
25042    ):
25043        self.api_token = api_token if api_token is not None else ''
25044        '''
25045         The API token to authenticate with when auth_mode is api_token.
25046        '''
25047        self.api_token_set = api_token_set if api_token_set is not None else False
25048        '''
25049         Indicates if an API token is already stored.
25050        '''
25051        self.auth_mode = auth_mode if auth_mode is not None else ''
25052        '''
25053         The Okta auth mode, one of the OktaAuthMode constants.
25054        '''
25055        self.client_id = client_id if client_id is not None else ''
25056        '''
25057         The Okta client ID to authenticate with when auth_mode is client_credentials.
25058        '''
25059        self.multidevice_push_enabled = multidevice_push_enabled if multidevice_push_enabled is not None else False
25060        '''
25061         Indicates if multidevice push is enabled.
25062        '''
25063        self.organization_url = organization_url if organization_url is not None else ''
25064        '''
25065         The Okta organization URL.
25066        '''
25067        self.private_key_id = private_key_id if private_key_id is not None else ''
25068        '''
25069         The key ID (kid) assigned by Okta to the registered public key.
25070        '''
25071        self.private_key_id_set = private_key_id_set if private_key_id_set is not None else False
25072        '''
25073         Indicates if a key ID is already stored or explicitly supplied. This allows
25074         callers to preserve the existing value when omitted or clear it by
25075         sending an empty string with private_key_id_set=true.
25076        '''
25077        self.private_key_pem = private_key_pem if private_key_pem is not None else ''
25078        '''
25079         The PEM encoded private key to authenticate with when auth_mode is client_credentials.
25080        '''
25081        self.private_key_pem_set = private_key_pem_set if private_key_pem_set is not None else False
25082        '''
25083         Indicates if a PEM encoded private key is already stored.
25084        '''
25085        self.user_lookup = user_lookup if user_lookup is not None else ''
25086        '''
25087         The Okta user lookup strategy, one of the OktaUserLookup constants.
25088        '''
25089
25090    def __repr__(self):
25091        return '<sdm.OktaMFAConfig ' + \
25092            'api_token: ' + repr(self.api_token) + ' ' +\
25093            'api_token_set: ' + repr(self.api_token_set) + ' ' +\
25094            'auth_mode: ' + repr(self.auth_mode) + ' ' +\
25095            'client_id: ' + repr(self.client_id) + ' ' +\
25096            'multidevice_push_enabled: ' + repr(self.multidevice_push_enabled) + ' ' +\
25097            'organization_url: ' + repr(self.organization_url) + ' ' +\
25098            'private_key_id: ' + repr(self.private_key_id) + ' ' +\
25099            'private_key_id_set: ' + repr(self.private_key_id_set) + ' ' +\
25100            'private_key_pem: ' + repr(self.private_key_pem) + ' ' +\
25101            'private_key_pem_set: ' + repr(self.private_key_pem_set) + ' ' +\
25102            'user_lookup: ' + repr(self.user_lookup) + ' ' +\
25103            '>'
25104
25105    def to_dict(self):
25106        return {
25107            'api_token': self.api_token,
25108            'api_token_set': self.api_token_set,
25109            'auth_mode': self.auth_mode,
25110            'client_id': self.client_id,
25111            'multidevice_push_enabled': self.multidevice_push_enabled,
25112            'organization_url': self.organization_url,
25113            'private_key_id': self.private_key_id,
25114            'private_key_id_set': self.private_key_id_set,
25115            'private_key_pem': self.private_key_pem,
25116            'private_key_pem_set': self.private_key_pem_set,
25117            'user_lookup': self.user_lookup,
25118        }
25119
25120    @classmethod
25121    def from_dict(cls, d):
25122        return cls(
25123            api_token=d.get('api_token'),
25124            api_token_set=d.get('api_token_set'),
25125            auth_mode=d.get('auth_mode'),
25126            client_id=d.get('client_id'),
25127            multidevice_push_enabled=d.get('multidevice_push_enabled'),
25128            organization_url=d.get('organization_url'),
25129            private_key_id=d.get('private_key_id'),
25130            private_key_id_set=d.get('private_key_id_set'),
25131            private_key_pem=d.get('private_key_pem'),
25132            private_key_pem_set=d.get('private_key_pem_set'),
25133            user_lookup=d.get('user_lookup'),
25134        )
25135
25136
25137class Oracle:
25138    __slots__ = [
25139        'bind_interface',
25140        'database',
25141        'egress_filter',
25142        'healthy',
25143        'hostname',
25144        'id',
25145        'name',
25146        'password',
25147        'port',
25148        'port_override',
25149        'proxy_cluster_id',
25150        'secret_store_id',
25151        'subdomain',
25152        'tags',
25153        'tls_required',
25154        'username',
25155    ]
25156
25157    def __init__(
25158        self,
25159        bind_interface=None,
25160        database=None,
25161        egress_filter=None,
25162        healthy=None,
25163        hostname=None,
25164        id=None,
25165        name=None,
25166        password=None,
25167        port=None,
25168        port_override=None,
25169        proxy_cluster_id=None,
25170        secret_store_id=None,
25171        subdomain=None,
25172        tags=None,
25173        tls_required=None,
25174        username=None,
25175    ):
25176        self.bind_interface = bind_interface if bind_interface is not None else ''
25177        '''
25178         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25179        '''
25180        self.database = database if database is not None else ''
25181        '''
25182         Oracle service name to connect to
25183        '''
25184        self.egress_filter = egress_filter if egress_filter is not None else ''
25185        '''
25186         A filter applied to the routing logic to pin datasource to nodes.
25187        '''
25188        self.healthy = healthy if healthy is not None else False
25189        '''
25190         True if the datasource is reachable and the credentials are valid.
25191        '''
25192        self.hostname = hostname if hostname is not None else ''
25193        '''
25194         The host to dial to initiate a connection from the egress node to this resource.
25195        '''
25196        self.id = id if id is not None else ''
25197        '''
25198         Unique identifier of the Resource.
25199        '''
25200        self.name = name if name is not None else ''
25201        '''
25202         Unique human-readable name of the Resource.
25203        '''
25204        self.password = password if password is not None else ''
25205        '''
25206         The password to authenticate with.
25207        '''
25208        self.port = port if port is not None else 0
25209        '''
25210         The port to dial to initiate a connection from the egress node to this resource.
25211        '''
25212        self.port_override = port_override if port_override is not None else 0
25213        '''
25214         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25215        '''
25216        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25217        '''
25218         ID of the proxy cluster for this resource, if any.
25219        '''
25220        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25221        '''
25222         ID of the secret store containing credentials for this resource, if any.
25223        '''
25224        self.subdomain = subdomain if subdomain is not None else ''
25225        '''
25226         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25227        '''
25228        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25229        '''
25230         Tags is a map of key, value pairs.
25231        '''
25232        self.tls_required = tls_required if tls_required is not None else False
25233        '''
25234         If set, TLS must be used to connect to this resource.
25235        '''
25236        self.username = username if username is not None else ''
25237        '''
25238         The username to authenticate with.
25239        '''
25240
25241    def __repr__(self):
25242        return '<sdm.Oracle ' + \
25243            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25244            'database: ' + repr(self.database) + ' ' +\
25245            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25246            'healthy: ' + repr(self.healthy) + ' ' +\
25247            'hostname: ' + repr(self.hostname) + ' ' +\
25248            'id: ' + repr(self.id) + ' ' +\
25249            'name: ' + repr(self.name) + ' ' +\
25250            'password: ' + repr(self.password) + ' ' +\
25251            'port: ' + repr(self.port) + ' ' +\
25252            'port_override: ' + repr(self.port_override) + ' ' +\
25253            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25254            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25255            'subdomain: ' + repr(self.subdomain) + ' ' +\
25256            'tags: ' + repr(self.tags) + ' ' +\
25257            'tls_required: ' + repr(self.tls_required) + ' ' +\
25258            'username: ' + repr(self.username) + ' ' +\
25259            '>'
25260
25261    def to_dict(self):
25262        return {
25263            'bind_interface': self.bind_interface,
25264            'database': self.database,
25265            'egress_filter': self.egress_filter,
25266            'healthy': self.healthy,
25267            'hostname': self.hostname,
25268            'id': self.id,
25269            'name': self.name,
25270            'password': self.password,
25271            'port': self.port,
25272            'port_override': self.port_override,
25273            'proxy_cluster_id': self.proxy_cluster_id,
25274            'secret_store_id': self.secret_store_id,
25275            'subdomain': self.subdomain,
25276            'tags': self.tags,
25277            'tls_required': self.tls_required,
25278            'username': self.username,
25279        }
25280
25281    @classmethod
25282    def from_dict(cls, d):
25283        return cls(
25284            bind_interface=d.get('bind_interface'),
25285            database=d.get('database'),
25286            egress_filter=d.get('egress_filter'),
25287            healthy=d.get('healthy'),
25288            hostname=d.get('hostname'),
25289            id=d.get('id'),
25290            name=d.get('name'),
25291            password=d.get('password'),
25292            port=d.get('port'),
25293            port_override=d.get('port_override'),
25294            proxy_cluster_id=d.get('proxy_cluster_id'),
25295            secret_store_id=d.get('secret_store_id'),
25296            subdomain=d.get('subdomain'),
25297            tags=d.get('tags'),
25298            tls_required=d.get('tls_required'),
25299            username=d.get('username'),
25300        )
25301
25302
25303class OracleNNE:
25304    __slots__ = [
25305        'bind_interface',
25306        'database',
25307        'egress_filter',
25308        'healthy',
25309        'hostname',
25310        'id',
25311        'name',
25312        'password',
25313        'port',
25314        'port_override',
25315        'proxy_cluster_id',
25316        'secret_store_id',
25317        'subdomain',
25318        'tags',
25319        'tls_required',
25320        'username',
25321    ]
25322
25323    def __init__(
25324        self,
25325        bind_interface=None,
25326        database=None,
25327        egress_filter=None,
25328        healthy=None,
25329        hostname=None,
25330        id=None,
25331        name=None,
25332        password=None,
25333        port=None,
25334        port_override=None,
25335        proxy_cluster_id=None,
25336        secret_store_id=None,
25337        subdomain=None,
25338        tags=None,
25339        tls_required=None,
25340        username=None,
25341    ):
25342        self.bind_interface = bind_interface if bind_interface is not None else ''
25343        '''
25344         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25345        '''
25346        self.database = database if database is not None else ''
25347        '''
25348         Oracle service name to connect to
25349        '''
25350        self.egress_filter = egress_filter if egress_filter is not None else ''
25351        '''
25352         A filter applied to the routing logic to pin datasource to nodes.
25353        '''
25354        self.healthy = healthy if healthy is not None else False
25355        '''
25356         True if the datasource is reachable and the credentials are valid.
25357        '''
25358        self.hostname = hostname if hostname is not None else ''
25359        '''
25360         The host to dial to initiate a connection from the egress node to this resource.
25361        '''
25362        self.id = id if id is not None else ''
25363        '''
25364         Unique identifier of the Resource.
25365        '''
25366        self.name = name if name is not None else ''
25367        '''
25368         Unique human-readable name of the Resource.
25369        '''
25370        self.password = password if password is not None else ''
25371        '''
25372         The password to authenticate with.
25373        '''
25374        self.port = port if port is not None else 0
25375        '''
25376         The port to dial to initiate a connection from the egress node to this resource.
25377        '''
25378        self.port_override = port_override if port_override is not None else 0
25379        '''
25380         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25381        '''
25382        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25383        '''
25384         ID of the proxy cluster for this resource, if any.
25385        '''
25386        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25387        '''
25388         ID of the secret store containing credentials for this resource, if any.
25389        '''
25390        self.subdomain = subdomain if subdomain is not None else ''
25391        '''
25392         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25393        '''
25394        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25395        '''
25396         Tags is a map of key, value pairs.
25397        '''
25398        self.tls_required = tls_required if tls_required is not None else False
25399        '''
25400         If set, TLS must be used to connect to this resource.
25401        '''
25402        self.username = username if username is not None else ''
25403        '''
25404         The username to authenticate with.
25405        '''
25406
25407    def __repr__(self):
25408        return '<sdm.OracleNNE ' + \
25409            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25410            'database: ' + repr(self.database) + ' ' +\
25411            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25412            'healthy: ' + repr(self.healthy) + ' ' +\
25413            'hostname: ' + repr(self.hostname) + ' ' +\
25414            'id: ' + repr(self.id) + ' ' +\
25415            'name: ' + repr(self.name) + ' ' +\
25416            'password: ' + repr(self.password) + ' ' +\
25417            'port: ' + repr(self.port) + ' ' +\
25418            'port_override: ' + repr(self.port_override) + ' ' +\
25419            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25420            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25421            'subdomain: ' + repr(self.subdomain) + ' ' +\
25422            'tags: ' + repr(self.tags) + ' ' +\
25423            'tls_required: ' + repr(self.tls_required) + ' ' +\
25424            'username: ' + repr(self.username) + ' ' +\
25425            '>'
25426
25427    def to_dict(self):
25428        return {
25429            'bind_interface': self.bind_interface,
25430            'database': self.database,
25431            'egress_filter': self.egress_filter,
25432            'healthy': self.healthy,
25433            'hostname': self.hostname,
25434            'id': self.id,
25435            'name': self.name,
25436            'password': self.password,
25437            'port': self.port,
25438            'port_override': self.port_override,
25439            'proxy_cluster_id': self.proxy_cluster_id,
25440            'secret_store_id': self.secret_store_id,
25441            'subdomain': self.subdomain,
25442            'tags': self.tags,
25443            'tls_required': self.tls_required,
25444            'username': self.username,
25445        }
25446
25447    @classmethod
25448    def from_dict(cls, d):
25449        return cls(
25450            bind_interface=d.get('bind_interface'),
25451            database=d.get('database'),
25452            egress_filter=d.get('egress_filter'),
25453            healthy=d.get('healthy'),
25454            hostname=d.get('hostname'),
25455            id=d.get('id'),
25456            name=d.get('name'),
25457            password=d.get('password'),
25458            port=d.get('port'),
25459            port_override=d.get('port_override'),
25460            proxy_cluster_id=d.get('proxy_cluster_id'),
25461            secret_store_id=d.get('secret_store_id'),
25462            subdomain=d.get('subdomain'),
25463            tags=d.get('tags'),
25464            tls_required=d.get('tls_required'),
25465            username=d.get('username'),
25466        )
25467
25468
25469class Organization:
25470    __slots__ = [
25471        'auth_provider',
25472        'created_at',
25473        'device_trust_enabled',
25474        'device_trust_provider',
25475        'discard_replays',
25476        'enforce_single_session',
25477        'idle_timeout',
25478        'idle_timeout_enabled',
25479        'kind',
25480        'log_config',
25481        'log_local_encoder',
25482        'log_local_format',
25483        'log_local_storage',
25484        'log_remote_encoder',
25485        'log_socket_path',
25486        'log_tcp_address',
25487        'loopback_range',
25488        'mfa_enabled',
25489        'mfa_provider',
25490        'name',
25491        'public_key_pem',
25492        'require_secret_store',
25493        'saml_metadata_url',
25494        'scim_provider',
25495        'sensitive_label',
25496        'session_timeout',
25497        'session_timeout_enabled',
25498        'ssh_certificate_authority_public_key',
25499        'ssh_certificate_authority_updated_at',
25500        'updated_at',
25501        'websites_subdomain',
25502    ]
25503
25504    def __init__(
25505        self,
25506        auth_provider=None,
25507        created_at=None,
25508        device_trust_enabled=None,
25509        device_trust_provider=None,
25510        discard_replays=None,
25511        enforce_single_session=None,
25512        idle_timeout=None,
25513        idle_timeout_enabled=None,
25514        kind=None,
25515        log_config=None,
25516        log_local_encoder=None,
25517        log_local_format=None,
25518        log_local_storage=None,
25519        log_remote_encoder=None,
25520        log_socket_path=None,
25521        log_tcp_address=None,
25522        loopback_range=None,
25523        mfa_enabled=None,
25524        mfa_provider=None,
25525        name=None,
25526        public_key_pem=None,
25527        require_secret_store=None,
25528        saml_metadata_url=None,
25529        scim_provider=None,
25530        sensitive_label=None,
25531        session_timeout=None,
25532        session_timeout_enabled=None,
25533        ssh_certificate_authority_public_key=None,
25534        ssh_certificate_authority_updated_at=None,
25535        updated_at=None,
25536        websites_subdomain=None,
25537    ):
25538        self.auth_provider = auth_provider if auth_provider is not None else ''
25539        '''
25540         The Organization's authentication provider, one of the AuthProvider constants.
25541        '''
25542        self.created_at = created_at if created_at is not None else None
25543        '''
25544         The time at which the Organization was created.
25545        '''
25546        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
25547        '''
25548         Indicates if the Organization has device trust enabled.
25549        '''
25550        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
25551        '''
25552         The Organization's device trust provider, one of the DeviceTrustProvider constants.
25553        '''
25554        self.discard_replays = discard_replays if discard_replays is not None else False
25555        '''
25556         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
25557         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
25558        '''
25559        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
25560        '''
25561         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
25562        '''
25563        self.idle_timeout = idle_timeout if idle_timeout is not None else None
25564        '''
25565         The Organization's idle timeout, if enabled.
25566        '''
25567        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
25568        '''
25569         Indicates if the Organization has idle timeouts enabled.
25570        '''
25571        self.kind = kind if kind is not None else ''
25572        '''
25573         The Organization's type, one of the OrgKind constants.
25574        '''
25575        self.log_config = log_config if log_config is not None else None
25576        '''
25577         The Organization's logging settings
25578        '''
25579        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
25580        '''
25581         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
25582         Deprecated: use log_config.local_encoder instead
25583        '''
25584        self.log_local_format = log_local_format if log_local_format is not None else ''
25585        '''
25586         The Organization's local log format, one of the LogLocalFormat constants.
25587         Deprecated: use log_config.local_format instead
25588        '''
25589        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
25590        '''
25591         The Organization's local log storage, one of the LogLocalStorage constants.
25592         Deprecated: use log_config.local_storage instead
25593        '''
25594        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
25595        '''
25596         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
25597         Deprecated: use categories specific log_config.categories[].remote_encoder instead
25598        '''
25599        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
25600        '''
25601         The Organization's socket path for Socket local log storage.
25602         Deprecated: use log_config.local_socket_path instead
25603        '''
25604        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
25605        '''
25606         The Organization's TCP address for TCP or Syslog local log storage.
25607         Deprecated: use log_config.local_tcp_address instead
25608        '''
25609        self.loopback_range = loopback_range if loopback_range is not None else ''
25610        '''
25611         The Organization's loopback range.
25612        '''
25613        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
25614        '''
25615         Indicates if the Organization has multi-factor authentication enabled.
25616        '''
25617        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
25618        '''
25619         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
25620        '''
25621        self.name = name if name is not None else ''
25622        '''
25623         The Organization's name.
25624        '''
25625        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
25626        '''
25627         The Organization's public key PEM for encrypting remote logs.
25628         Deprecated: use log_config.public_key instead
25629        '''
25630        self.require_secret_store = require_secret_store if require_secret_store is not None else False
25631        '''
25632         Indicates if the Organization requires secret stores.
25633        '''
25634        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
25635        '''
25636         The Organization's URL for SAML metadata.
25637        '''
25638        self.scim_provider = scim_provider if scim_provider is not None else ''
25639        '''
25640         The Organization's SCIM provider, one of the SCIMProvider constants.
25641        '''
25642        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
25643        '''
25644         The Organization's label for sensitive resources.
25645        '''
25646        self.session_timeout = session_timeout if session_timeout is not None else None
25647        '''
25648         The Organization's session timeout, if enabled.
25649        '''
25650        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
25651        '''
25652         Indicates if the Organization has session timeouts enabled.
25653        '''
25654        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
25655        '''
25656         The Organization's SSH certificate authority public key.
25657        '''
25658        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
25659        '''
25660         The time at which the Organization's SSH certificate authority was last updated.
25661        '''
25662        self.updated_at = updated_at if updated_at is not None else None
25663        '''
25664         The time at which the Organization was last updated.
25665        '''
25666        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
25667        '''
25668         The Organization's web site domain.
25669        '''
25670
25671    def __repr__(self):
25672        return '<sdm.Organization ' + \
25673            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
25674            'created_at: ' + repr(self.created_at) + ' ' +\
25675            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
25676            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
25677            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
25678            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
25679            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
25680            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
25681            'kind: ' + repr(self.kind) + ' ' +\
25682            'log_config: ' + repr(self.log_config) + ' ' +\
25683            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
25684            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
25685            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
25686            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
25687            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
25688            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
25689            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
25690            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
25691            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
25692            'name: ' + repr(self.name) + ' ' +\
25693            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
25694            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
25695            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
25696            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
25697            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
25698            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
25699            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
25700            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
25701            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
25702            'updated_at: ' + repr(self.updated_at) + ' ' +\
25703            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
25704            '>'
25705
25706    def to_dict(self):
25707        return {
25708            'auth_provider': self.auth_provider,
25709            'created_at': self.created_at,
25710            'device_trust_enabled': self.device_trust_enabled,
25711            'device_trust_provider': self.device_trust_provider,
25712            'discard_replays': self.discard_replays,
25713            'enforce_single_session': self.enforce_single_session,
25714            'idle_timeout': self.idle_timeout,
25715            'idle_timeout_enabled': self.idle_timeout_enabled,
25716            'kind': self.kind,
25717            'log_config': self.log_config,
25718            'log_local_encoder': self.log_local_encoder,
25719            'log_local_format': self.log_local_format,
25720            'log_local_storage': self.log_local_storage,
25721            'log_remote_encoder': self.log_remote_encoder,
25722            'log_socket_path': self.log_socket_path,
25723            'log_tcp_address': self.log_tcp_address,
25724            'loopback_range': self.loopback_range,
25725            'mfa_enabled': self.mfa_enabled,
25726            'mfa_provider': self.mfa_provider,
25727            'name': self.name,
25728            'public_key_pem': self.public_key_pem,
25729            'require_secret_store': self.require_secret_store,
25730            'saml_metadata_url': self.saml_metadata_url,
25731            'scim_provider': self.scim_provider,
25732            'sensitive_label': self.sensitive_label,
25733            'session_timeout': self.session_timeout,
25734            'session_timeout_enabled': self.session_timeout_enabled,
25735            'ssh_certificate_authority_public_key':
25736            self.ssh_certificate_authority_public_key,
25737            'ssh_certificate_authority_updated_at':
25738            self.ssh_certificate_authority_updated_at,
25739            'updated_at': self.updated_at,
25740            'websites_subdomain': self.websites_subdomain,
25741        }
25742
25743    @classmethod
25744    def from_dict(cls, d):
25745        return cls(
25746            auth_provider=d.get('auth_provider'),
25747            created_at=d.get('created_at'),
25748            device_trust_enabled=d.get('device_trust_enabled'),
25749            device_trust_provider=d.get('device_trust_provider'),
25750            discard_replays=d.get('discard_replays'),
25751            enforce_single_session=d.get('enforce_single_session'),
25752            idle_timeout=d.get('idle_timeout'),
25753            idle_timeout_enabled=d.get('idle_timeout_enabled'),
25754            kind=d.get('kind'),
25755            log_config=d.get('log_config'),
25756            log_local_encoder=d.get('log_local_encoder'),
25757            log_local_format=d.get('log_local_format'),
25758            log_local_storage=d.get('log_local_storage'),
25759            log_remote_encoder=d.get('log_remote_encoder'),
25760            log_socket_path=d.get('log_socket_path'),
25761            log_tcp_address=d.get('log_tcp_address'),
25762            loopback_range=d.get('loopback_range'),
25763            mfa_enabled=d.get('mfa_enabled'),
25764            mfa_provider=d.get('mfa_provider'),
25765            name=d.get('name'),
25766            public_key_pem=d.get('public_key_pem'),
25767            require_secret_store=d.get('require_secret_store'),
25768            saml_metadata_url=d.get('saml_metadata_url'),
25769            scim_provider=d.get('scim_provider'),
25770            sensitive_label=d.get('sensitive_label'),
25771            session_timeout=d.get('session_timeout'),
25772            session_timeout_enabled=d.get('session_timeout_enabled'),
25773            ssh_certificate_authority_public_key=d.get(
25774                'ssh_certificate_authority_public_key'),
25775            ssh_certificate_authority_updated_at=d.get(
25776                'ssh_certificate_authority_updated_at'),
25777            updated_at=d.get('updated_at'),
25778            websites_subdomain=d.get('websites_subdomain'),
25779        )
25780
25781
25782class OrganizationGetMFAResponse:
25783    __slots__ = [
25784        'meta',
25785        'mfa',
25786        'rate_limit',
25787    ]
25788
25789    def __init__(
25790        self,
25791        meta=None,
25792        mfa=None,
25793        rate_limit=None,
25794    ):
25795        self.meta = meta if meta is not None else None
25796        '''
25797         Reserved for future use.
25798        '''
25799        self.mfa = mfa if mfa is not None else None
25800        '''
25801         The current MFA configuration.
25802        '''
25803        self.rate_limit = rate_limit if rate_limit is not None else None
25804        '''
25805         Rate limit information.
25806        '''
25807
25808    def __repr__(self):
25809        return '<sdm.OrganizationGetMFAResponse ' + \
25810            'meta: ' + repr(self.meta) + ' ' +\
25811            'mfa: ' + repr(self.mfa) + ' ' +\
25812            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25813            '>'
25814
25815    def to_dict(self):
25816        return {
25817            'meta': self.meta,
25818            'mfa': self.mfa,
25819            'rate_limit': self.rate_limit,
25820        }
25821
25822    @classmethod
25823    def from_dict(cls, d):
25824        return cls(
25825            meta=d.get('meta'),
25826            mfa=d.get('mfa'),
25827            rate_limit=d.get('rate_limit'),
25828        )
25829
25830
25831class OrganizationHistoryRecord:
25832    '''
25833         OrganizationHistoryRecord records the state of an Organization at a given point in time,
25834     where every change to an Organization produces an OrganizationHistoryRecord.
25835    '''
25836    __slots__ = [
25837        'activity_id',
25838        'organization',
25839        'timestamp',
25840    ]
25841
25842    def __init__(
25843        self,
25844        activity_id=None,
25845        organization=None,
25846        timestamp=None,
25847    ):
25848        self.activity_id = activity_id if activity_id is not None else ''
25849        '''
25850         The unique identifier of the Activity that produced this change to the Organization.
25851         May be empty for some system-initiated organization updates.
25852        '''
25853        self.organization = organization if organization is not None else None
25854        '''
25855         The complete Organization state at this time.
25856        '''
25857        self.timestamp = timestamp if timestamp is not None else None
25858        '''
25859         The time at which the Organization state was recorded.
25860        '''
25861
25862    def __repr__(self):
25863        return '<sdm.OrganizationHistoryRecord ' + \
25864            'activity_id: ' + repr(self.activity_id) + ' ' +\
25865            'organization: ' + repr(self.organization) + ' ' +\
25866            'timestamp: ' + repr(self.timestamp) + ' ' +\
25867            '>'
25868
25869    def to_dict(self):
25870        return {
25871            'activity_id': self.activity_id,
25872            'organization': self.organization,
25873            'timestamp': self.timestamp,
25874        }
25875
25876    @classmethod
25877    def from_dict(cls, d):
25878        return cls(
25879            activity_id=d.get('activity_id'),
25880            organization=d.get('organization'),
25881            timestamp=d.get('timestamp'),
25882        )
25883
25884
25885class OrganizationTestMFAResponse:
25886    __slots__ = [
25887        'rate_limit',
25888    ]
25889
25890    def __init__(
25891        self,
25892        rate_limit=None,
25893    ):
25894        self.rate_limit = rate_limit if rate_limit is not None else None
25895        '''
25896         Rate limit information.
25897        '''
25898
25899    def __repr__(self):
25900        return '<sdm.OrganizationTestMFAResponse ' + \
25901            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25902            '>'
25903
25904    def to_dict(self):
25905        return {
25906            'rate_limit': self.rate_limit,
25907        }
25908
25909    @classmethod
25910    def from_dict(cls, d):
25911        return cls(rate_limit=d.get('rate_limit'), )
25912
25913
25914class OrganizationUpdateMFAResponse:
25915    __slots__ = [
25916        'mfa',
25917        'rate_limit',
25918    ]
25919
25920    def __init__(
25921        self,
25922        mfa=None,
25923        rate_limit=None,
25924    ):
25925        self.mfa = mfa if mfa is not None else None
25926        '''
25927         The updated MFA configuration.
25928        '''
25929        self.rate_limit = rate_limit if rate_limit is not None else None
25930        '''
25931         Rate limit information.
25932        '''
25933
25934    def __repr__(self):
25935        return '<sdm.OrganizationUpdateMFAResponse ' + \
25936            'mfa: ' + repr(self.mfa) + ' ' +\
25937            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25938            '>'
25939
25940    def to_dict(self):
25941        return {
25942            'mfa': self.mfa,
25943            'rate_limit': self.rate_limit,
25944        }
25945
25946    @classmethod
25947    def from_dict(cls, d):
25948        return cls(
25949            mfa=d.get('mfa'),
25950            rate_limit=d.get('rate_limit'),
25951        )
25952
25953
25954class PeeringGroup:
25955    '''
25956         PeeringGroups are the building blocks used for explicit network topology making.
25957     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
25958    '''
25959    __slots__ = [
25960        'id',
25961        'name',
25962    ]
25963
25964    def __init__(
25965        self,
25966        id=None,
25967        name=None,
25968    ):
25969        self.id = id if id is not None else ''
25970        '''
25971         Unique identifier of the PeeringGroup.
25972        '''
25973        self.name = name if name is not None else ''
25974        '''
25975         Unique human-readable name of the PeeringGroup.
25976        '''
25977
25978    def __repr__(self):
25979        return '<sdm.PeeringGroup ' + \
25980            'id: ' + repr(self.id) + ' ' +\
25981            'name: ' + repr(self.name) + ' ' +\
25982            '>'
25983
25984    def to_dict(self):
25985        return {
25986            'id': self.id,
25987            'name': self.name,
25988        }
25989
25990    @classmethod
25991    def from_dict(cls, d):
25992        return cls(
25993            id=d.get('id'),
25994            name=d.get('name'),
25995        )
25996
25997
25998class PeeringGroupCreateResponse:
25999    '''
26000         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
26001    '''
26002    __slots__ = [
26003        'meta',
26004        'peering_group',
26005        'rate_limit',
26006    ]
26007
26008    def __init__(
26009        self,
26010        meta=None,
26011        peering_group=None,
26012        rate_limit=None,
26013    ):
26014        self.meta = meta if meta is not None else None
26015        '''
26016         Reserved for future use.
26017        '''
26018        self.peering_group = peering_group if peering_group is not None else None
26019        '''
26020         The created PeeringGroup.
26021        '''
26022        self.rate_limit = rate_limit if rate_limit is not None else None
26023        '''
26024         Rate limit information.
26025        '''
26026
26027    def __repr__(self):
26028        return '<sdm.PeeringGroupCreateResponse ' + \
26029            'meta: ' + repr(self.meta) + ' ' +\
26030            'peering_group: ' + repr(self.peering_group) + ' ' +\
26031            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26032            '>'
26033
26034    def to_dict(self):
26035        return {
26036            'meta': self.meta,
26037            'peering_group': self.peering_group,
26038            'rate_limit': self.rate_limit,
26039        }
26040
26041    @classmethod
26042    def from_dict(cls, d):
26043        return cls(
26044            meta=d.get('meta'),
26045            peering_group=d.get('peering_group'),
26046            rate_limit=d.get('rate_limit'),
26047        )
26048
26049
26050class PeeringGroupDeleteResponse:
26051    '''
26052         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
26053    '''
26054    __slots__ = [
26055        'meta',
26056        'rate_limit',
26057    ]
26058
26059    def __init__(
26060        self,
26061        meta=None,
26062        rate_limit=None,
26063    ):
26064        self.meta = meta if meta is not None else None
26065        '''
26066         Reserved for future use.
26067        '''
26068        self.rate_limit = rate_limit if rate_limit is not None else None
26069        '''
26070         Rate limit information.
26071        '''
26072
26073    def __repr__(self):
26074        return '<sdm.PeeringGroupDeleteResponse ' + \
26075            'meta: ' + repr(self.meta) + ' ' +\
26076            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26077            '>'
26078
26079    def to_dict(self):
26080        return {
26081            'meta': self.meta,
26082            'rate_limit': self.rate_limit,
26083        }
26084
26085    @classmethod
26086    def from_dict(cls, d):
26087        return cls(
26088            meta=d.get('meta'),
26089            rate_limit=d.get('rate_limit'),
26090        )
26091
26092
26093class PeeringGroupGetResponse:
26094    '''
26095         PeeringGroupGetResponse returns a requested PeeringGroup.
26096    '''
26097    __slots__ = [
26098        'meta',
26099        'peering_group',
26100        'rate_limit',
26101    ]
26102
26103    def __init__(
26104        self,
26105        meta=None,
26106        peering_group=None,
26107        rate_limit=None,
26108    ):
26109        self.meta = meta if meta is not None else None
26110        '''
26111         Reserved for future use.
26112        '''
26113        self.peering_group = peering_group if peering_group is not None else None
26114        '''
26115         The requested PeeringGroup.
26116        '''
26117        self.rate_limit = rate_limit if rate_limit is not None else None
26118        '''
26119         Rate limit information.
26120        '''
26121
26122    def __repr__(self):
26123        return '<sdm.PeeringGroupGetResponse ' + \
26124            'meta: ' + repr(self.meta) + ' ' +\
26125            'peering_group: ' + repr(self.peering_group) + ' ' +\
26126            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26127            '>'
26128
26129    def to_dict(self):
26130        return {
26131            'meta': self.meta,
26132            'peering_group': self.peering_group,
26133            'rate_limit': self.rate_limit,
26134        }
26135
26136    @classmethod
26137    def from_dict(cls, d):
26138        return cls(
26139            meta=d.get('meta'),
26140            peering_group=d.get('peering_group'),
26141            rate_limit=d.get('rate_limit'),
26142        )
26143
26144
26145class PeeringGroupNode:
26146    '''
26147         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
26148    '''
26149    __slots__ = [
26150        'group_id',
26151        'id',
26152        'node_id',
26153    ]
26154
26155    def __init__(
26156        self,
26157        group_id=None,
26158        id=None,
26159        node_id=None,
26160    ):
26161        self.group_id = group_id if group_id is not None else ''
26162        '''
26163         Peering Group ID to which the node will be attached to.
26164        '''
26165        self.id = id if id is not None else ''
26166        '''
26167         Unique identifier of the Attachment.
26168        '''
26169        self.node_id = node_id if node_id is not None else ''
26170        '''
26171         Node ID to be attached.
26172        '''
26173
26174    def __repr__(self):
26175        return '<sdm.PeeringGroupNode ' + \
26176            'group_id: ' + repr(self.group_id) + ' ' +\
26177            'id: ' + repr(self.id) + ' ' +\
26178            'node_id: ' + repr(self.node_id) + ' ' +\
26179            '>'
26180
26181    def to_dict(self):
26182        return {
26183            'group_id': self.group_id,
26184            'id': self.id,
26185            'node_id': self.node_id,
26186        }
26187
26188    @classmethod
26189    def from_dict(cls, d):
26190        return cls(
26191            group_id=d.get('group_id'),
26192            id=d.get('id'),
26193            node_id=d.get('node_id'),
26194        )
26195
26196
26197class PeeringGroupNodeCreateResponse:
26198    '''
26199         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
26200    '''
26201    __slots__ = [
26202        'meta',
26203        'peering_group_node',
26204        'rate_limit',
26205    ]
26206
26207    def __init__(
26208        self,
26209        meta=None,
26210        peering_group_node=None,
26211        rate_limit=None,
26212    ):
26213        self.meta = meta if meta is not None else None
26214        '''
26215         Reserved for future use.
26216        '''
26217        self.peering_group_node = peering_group_node if peering_group_node is not None else None
26218        '''
26219         The created PeeringGroupNode.
26220        '''
26221        self.rate_limit = rate_limit if rate_limit is not None else None
26222        '''
26223         Rate limit information.
26224        '''
26225
26226    def __repr__(self):
26227        return '<sdm.PeeringGroupNodeCreateResponse ' + \
26228            'meta: ' + repr(self.meta) + ' ' +\
26229            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
26230            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26231            '>'
26232
26233    def to_dict(self):
26234        return {
26235            'meta': self.meta,
26236            'peering_group_node': self.peering_group_node,
26237            'rate_limit': self.rate_limit,
26238        }
26239
26240    @classmethod
26241    def from_dict(cls, d):
26242        return cls(
26243            meta=d.get('meta'),
26244            peering_group_node=d.get('peering_group_node'),
26245            rate_limit=d.get('rate_limit'),
26246        )
26247
26248
26249class PeeringGroupNodeDeleteResponse:
26250    '''
26251         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
26252    '''
26253    __slots__ = [
26254        'meta',
26255        'rate_limit',
26256    ]
26257
26258    def __init__(
26259        self,
26260        meta=None,
26261        rate_limit=None,
26262    ):
26263        self.meta = meta if meta is not None else None
26264        '''
26265         Reserved for future use.
26266        '''
26267        self.rate_limit = rate_limit if rate_limit is not None else None
26268        '''
26269         Rate limit information.
26270        '''
26271
26272    def __repr__(self):
26273        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
26274            'meta: ' + repr(self.meta) + ' ' +\
26275            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26276            '>'
26277
26278    def to_dict(self):
26279        return {
26280            'meta': self.meta,
26281            'rate_limit': self.rate_limit,
26282        }
26283
26284    @classmethod
26285    def from_dict(cls, d):
26286        return cls(
26287            meta=d.get('meta'),
26288            rate_limit=d.get('rate_limit'),
26289        )
26290
26291
26292class PeeringGroupNodeGetResponse:
26293    '''
26294         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
26295    '''
26296    __slots__ = [
26297        'meta',
26298        'peering_group_node',
26299        'rate_limit',
26300    ]
26301
26302    def __init__(
26303        self,
26304        meta=None,
26305        peering_group_node=None,
26306        rate_limit=None,
26307    ):
26308        self.meta = meta if meta is not None else None
26309        '''
26310         Reserved for future use.
26311        '''
26312        self.peering_group_node = peering_group_node if peering_group_node is not None else None
26313        '''
26314         The requested PeeringGroupNode.
26315        '''
26316        self.rate_limit = rate_limit if rate_limit is not None else None
26317        '''
26318         Rate limit information.
26319        '''
26320
26321    def __repr__(self):
26322        return '<sdm.PeeringGroupNodeGetResponse ' + \
26323            'meta: ' + repr(self.meta) + ' ' +\
26324            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
26325            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26326            '>'
26327
26328    def to_dict(self):
26329        return {
26330            'meta': self.meta,
26331            'peering_group_node': self.peering_group_node,
26332            'rate_limit': self.rate_limit,
26333        }
26334
26335    @classmethod
26336    def from_dict(cls, d):
26337        return cls(
26338            meta=d.get('meta'),
26339            peering_group_node=d.get('peering_group_node'),
26340            rate_limit=d.get('rate_limit'),
26341        )
26342
26343
26344class PeeringGroupPeer:
26345    '''
26346         PeeringGroupPeer represents the link between two PeeringGroups
26347    '''
26348    __slots__ = [
26349        'group_id',
26350        'id',
26351        'peers_with_group_id',
26352    ]
26353
26354    def __init__(
26355        self,
26356        group_id=None,
26357        id=None,
26358        peers_with_group_id=None,
26359    ):
26360        self.group_id = group_id if group_id is not None else ''
26361        '''
26362         Group ID from which the link will originate.
26363        '''
26364        self.id = id if id is not None else ''
26365        '''
26366         Unique identifier of the Attachment.
26367        '''
26368        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
26369        '''
26370         Peering Group ID to which Group ID will link.
26371        '''
26372
26373    def __repr__(self):
26374        return '<sdm.PeeringGroupPeer ' + \
26375            'group_id: ' + repr(self.group_id) + ' ' +\
26376            'id: ' + repr(self.id) + ' ' +\
26377            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
26378            '>'
26379
26380    def to_dict(self):
26381        return {
26382            'group_id': self.group_id,
26383            'id': self.id,
26384            'peers_with_group_id': self.peers_with_group_id,
26385        }
26386
26387    @classmethod
26388    def from_dict(cls, d):
26389        return cls(
26390            group_id=d.get('group_id'),
26391            id=d.get('id'),
26392            peers_with_group_id=d.get('peers_with_group_id'),
26393        )
26394
26395
26396class PeeringGroupPeerCreateResponse:
26397    '''
26398         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
26399    '''
26400    __slots__ = [
26401        'meta',
26402        'peering_group_peer',
26403        'rate_limit',
26404    ]
26405
26406    def __init__(
26407        self,
26408        meta=None,
26409        peering_group_peer=None,
26410        rate_limit=None,
26411    ):
26412        self.meta = meta if meta is not None else None
26413        '''
26414         Reserved for future use.
26415        '''
26416        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
26417        '''
26418         The created PeeringGroupPeer.
26419        '''
26420        self.rate_limit = rate_limit if rate_limit is not None else None
26421        '''
26422         Rate limit information.
26423        '''
26424
26425    def __repr__(self):
26426        return '<sdm.PeeringGroupPeerCreateResponse ' + \
26427            'meta: ' + repr(self.meta) + ' ' +\
26428            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
26429            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26430            '>'
26431
26432    def to_dict(self):
26433        return {
26434            'meta': self.meta,
26435            'peering_group_peer': self.peering_group_peer,
26436            'rate_limit': self.rate_limit,
26437        }
26438
26439    @classmethod
26440    def from_dict(cls, d):
26441        return cls(
26442            meta=d.get('meta'),
26443            peering_group_peer=d.get('peering_group_peer'),
26444            rate_limit=d.get('rate_limit'),
26445        )
26446
26447
26448class PeeringGroupPeerDeleteResponse:
26449    '''
26450         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
26451    '''
26452    __slots__ = [
26453        'meta',
26454        'rate_limit',
26455    ]
26456
26457    def __init__(
26458        self,
26459        meta=None,
26460        rate_limit=None,
26461    ):
26462        self.meta = meta if meta is not None else None
26463        '''
26464         Reserved for future use.
26465        '''
26466        self.rate_limit = rate_limit if rate_limit is not None else None
26467        '''
26468         Rate limit information.
26469        '''
26470
26471    def __repr__(self):
26472        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
26473            'meta: ' + repr(self.meta) + ' ' +\
26474            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26475            '>'
26476
26477    def to_dict(self):
26478        return {
26479            'meta': self.meta,
26480            'rate_limit': self.rate_limit,
26481        }
26482
26483    @classmethod
26484    def from_dict(cls, d):
26485        return cls(
26486            meta=d.get('meta'),
26487            rate_limit=d.get('rate_limit'),
26488        )
26489
26490
26491class PeeringGroupPeerGetResponse:
26492    '''
26493         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
26494    '''
26495    __slots__ = [
26496        'meta',
26497        'peering_group_peer',
26498        'rate_limit',
26499    ]
26500
26501    def __init__(
26502        self,
26503        meta=None,
26504        peering_group_peer=None,
26505        rate_limit=None,
26506    ):
26507        self.meta = meta if meta is not None else None
26508        '''
26509         Reserved for future use.
26510        '''
26511        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
26512        '''
26513         The requested PeeringGroupPeer.
26514        '''
26515        self.rate_limit = rate_limit if rate_limit is not None else None
26516        '''
26517         Rate limit information.
26518        '''
26519
26520    def __repr__(self):
26521        return '<sdm.PeeringGroupPeerGetResponse ' + \
26522            'meta: ' + repr(self.meta) + ' ' +\
26523            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
26524            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26525            '>'
26526
26527    def to_dict(self):
26528        return {
26529            'meta': self.meta,
26530            'peering_group_peer': self.peering_group_peer,
26531            'rate_limit': self.rate_limit,
26532        }
26533
26534    @classmethod
26535    def from_dict(cls, d):
26536        return cls(
26537            meta=d.get('meta'),
26538            peering_group_peer=d.get('peering_group_peer'),
26539            rate_limit=d.get('rate_limit'),
26540        )
26541
26542
26543class PeeringGroupResource:
26544    '''
26545         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
26546    '''
26547    __slots__ = [
26548        'group_id',
26549        'id',
26550        'resource_id',
26551    ]
26552
26553    def __init__(
26554        self,
26555        group_id=None,
26556        id=None,
26557        resource_id=None,
26558    ):
26559        self.group_id = group_id if group_id is not None else ''
26560        '''
26561         Peering Group ID to which the resource will be attached to.
26562        '''
26563        self.id = id if id is not None else ''
26564        '''
26565         Unique identifier of the Attachment.
26566        '''
26567        self.resource_id = resource_id if resource_id is not None else ''
26568        '''
26569         Resource ID to be attached.
26570        '''
26571
26572    def __repr__(self):
26573        return '<sdm.PeeringGroupResource ' + \
26574            'group_id: ' + repr(self.group_id) + ' ' +\
26575            'id: ' + repr(self.id) + ' ' +\
26576            'resource_id: ' + repr(self.resource_id) + ' ' +\
26577            '>'
26578
26579    def to_dict(self):
26580        return {
26581            'group_id': self.group_id,
26582            'id': self.id,
26583            'resource_id': self.resource_id,
26584        }
26585
26586    @classmethod
26587    def from_dict(cls, d):
26588        return cls(
26589            group_id=d.get('group_id'),
26590            id=d.get('id'),
26591            resource_id=d.get('resource_id'),
26592        )
26593
26594
26595class PeeringGroupResourceCreateResponse:
26596    '''
26597         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
26598    '''
26599    __slots__ = [
26600        'meta',
26601        'peering_group_resource',
26602        'rate_limit',
26603    ]
26604
26605    def __init__(
26606        self,
26607        meta=None,
26608        peering_group_resource=None,
26609        rate_limit=None,
26610    ):
26611        self.meta = meta if meta is not None else None
26612        '''
26613         Reserved for future use.
26614        '''
26615        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
26616        '''
26617         The created PeeringGroupResource.
26618        '''
26619        self.rate_limit = rate_limit if rate_limit is not None else None
26620        '''
26621         Rate limit information.
26622        '''
26623
26624    def __repr__(self):
26625        return '<sdm.PeeringGroupResourceCreateResponse ' + \
26626            'meta: ' + repr(self.meta) + ' ' +\
26627            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
26628            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26629            '>'
26630
26631    def to_dict(self):
26632        return {
26633            'meta': self.meta,
26634            'peering_group_resource': self.peering_group_resource,
26635            'rate_limit': self.rate_limit,
26636        }
26637
26638    @classmethod
26639    def from_dict(cls, d):
26640        return cls(
26641            meta=d.get('meta'),
26642            peering_group_resource=d.get('peering_group_resource'),
26643            rate_limit=d.get('rate_limit'),
26644        )
26645
26646
26647class PeeringGroupResourceDeleteResponse:
26648    '''
26649         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
26650    '''
26651    __slots__ = [
26652        'meta',
26653        'rate_limit',
26654    ]
26655
26656    def __init__(
26657        self,
26658        meta=None,
26659        rate_limit=None,
26660    ):
26661        self.meta = meta if meta is not None else None
26662        '''
26663         Reserved for future use.
26664        '''
26665        self.rate_limit = rate_limit if rate_limit is not None else None
26666        '''
26667         Rate limit information.
26668        '''
26669
26670    def __repr__(self):
26671        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
26672            'meta: ' + repr(self.meta) + ' ' +\
26673            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26674            '>'
26675
26676    def to_dict(self):
26677        return {
26678            'meta': self.meta,
26679            'rate_limit': self.rate_limit,
26680        }
26681
26682    @classmethod
26683    def from_dict(cls, d):
26684        return cls(
26685            meta=d.get('meta'),
26686            rate_limit=d.get('rate_limit'),
26687        )
26688
26689
26690class PeeringGroupResourceGetResponse:
26691    '''
26692         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
26693    '''
26694    __slots__ = [
26695        'meta',
26696        'peering_group_resource',
26697        'rate_limit',
26698    ]
26699
26700    def __init__(
26701        self,
26702        meta=None,
26703        peering_group_resource=None,
26704        rate_limit=None,
26705    ):
26706        self.meta = meta if meta is not None else None
26707        '''
26708         Reserved for future use.
26709        '''
26710        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
26711        '''
26712         The requested PeeringGroupResource.
26713        '''
26714        self.rate_limit = rate_limit if rate_limit is not None else None
26715        '''
26716         Rate limit information.
26717        '''
26718
26719    def __repr__(self):
26720        return '<sdm.PeeringGroupResourceGetResponse ' + \
26721            'meta: ' + repr(self.meta) + ' ' +\
26722            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
26723            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26724            '>'
26725
26726    def to_dict(self):
26727        return {
26728            'meta': self.meta,
26729            'peering_group_resource': self.peering_group_resource,
26730            'rate_limit': self.rate_limit,
26731        }
26732
26733    @classmethod
26734    def from_dict(cls, d):
26735        return cls(
26736            meta=d.get('meta'),
26737            peering_group_resource=d.get('peering_group_resource'),
26738            rate_limit=d.get('rate_limit'),
26739        )
26740
26741
26742class Policy:
26743    '''
26744         Policy is a collection of one or more statements that enforce fine-grained access control
26745     for the users of an organization.
26746    '''
26747    __slots__ = [
26748        'description',
26749        'id',
26750        'name',
26751        'policy',
26752    ]
26753
26754    def __init__(
26755        self,
26756        description=None,
26757        id=None,
26758        name=None,
26759        policy=None,
26760    ):
26761        self.description = description if description is not None else ''
26762        '''
26763         Optional description of the Policy.
26764        '''
26765        self.id = id if id is not None else ''
26766        '''
26767         Unique identifier of the Policy.
26768        '''
26769        self.name = name if name is not None else ''
26770        '''
26771         Unique human-readable name of the Policy.
26772        '''
26773        self.policy = policy if policy is not None else ''
26774        '''
26775         The content of the Policy, in Cedar policy language.
26776        '''
26777
26778    def __repr__(self):
26779        return '<sdm.Policy ' + \
26780            'description: ' + repr(self.description) + ' ' +\
26781            'id: ' + repr(self.id) + ' ' +\
26782            'name: ' + repr(self.name) + ' ' +\
26783            'policy: ' + repr(self.policy) + ' ' +\
26784            '>'
26785
26786    def to_dict(self):
26787        return {
26788            'description': self.description,
26789            'id': self.id,
26790            'name': self.name,
26791            'policy': self.policy,
26792        }
26793
26794    @classmethod
26795    def from_dict(cls, d):
26796        return cls(
26797            description=d.get('description'),
26798            id=d.get('id'),
26799            name=d.get('name'),
26800            policy=d.get('policy'),
26801        )
26802
26803
26804class PolicyCreateResponse:
26805    '''
26806         PolicyCreateResponse reports how the Policy was created in the system.
26807    '''
26808    __slots__ = [
26809        'policy',
26810        'rate_limit',
26811    ]
26812
26813    def __init__(
26814        self,
26815        policy=None,
26816        rate_limit=None,
26817    ):
26818        self.policy = policy if policy is not None else None
26819        '''
26820         The created Policy.
26821        '''
26822        self.rate_limit = rate_limit if rate_limit is not None else None
26823        '''
26824         Rate limit information.
26825        '''
26826
26827    def __repr__(self):
26828        return '<sdm.PolicyCreateResponse ' + \
26829            'policy: ' + repr(self.policy) + ' ' +\
26830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26831            '>'
26832
26833    def to_dict(self):
26834        return {
26835            'policy': self.policy,
26836            'rate_limit': self.rate_limit,
26837        }
26838
26839    @classmethod
26840    def from_dict(cls, d):
26841        return cls(
26842            policy=d.get('policy'),
26843            rate_limit=d.get('rate_limit'),
26844        )
26845
26846
26847class PolicyDeleteResponse:
26848    '''
26849         PolicyDeleteResponse returns information about a Policy that was deleted.
26850    '''
26851    __slots__ = [
26852        'rate_limit',
26853    ]
26854
26855    def __init__(
26856        self,
26857        rate_limit=None,
26858    ):
26859        self.rate_limit = rate_limit if rate_limit is not None else None
26860        '''
26861         Rate limit information.
26862        '''
26863
26864    def __repr__(self):
26865        return '<sdm.PolicyDeleteResponse ' + \
26866            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26867            '>'
26868
26869    def to_dict(self):
26870        return {
26871            'rate_limit': self.rate_limit,
26872        }
26873
26874    @classmethod
26875    def from_dict(cls, d):
26876        return cls(rate_limit=d.get('rate_limit'), )
26877
26878
26879class PolicyGetResponse:
26880    '''
26881         PolicyGetResponse returns a requested Policy.
26882    '''
26883    __slots__ = [
26884        'meta',
26885        'policy',
26886        'rate_limit',
26887    ]
26888
26889    def __init__(
26890        self,
26891        meta=None,
26892        policy=None,
26893        rate_limit=None,
26894    ):
26895        self.meta = meta if meta is not None else None
26896        '''
26897         Reserved for future use.
26898        '''
26899        self.policy = policy if policy is not None else None
26900        '''
26901         The requested Policy.
26902        '''
26903        self.rate_limit = rate_limit if rate_limit is not None else None
26904        '''
26905         Rate limit information.
26906        '''
26907
26908    def __repr__(self):
26909        return '<sdm.PolicyGetResponse ' + \
26910            'meta: ' + repr(self.meta) + ' ' +\
26911            'policy: ' + repr(self.policy) + ' ' +\
26912            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26913            '>'
26914
26915    def to_dict(self):
26916        return {
26917            'meta': self.meta,
26918            'policy': self.policy,
26919            'rate_limit': self.rate_limit,
26920        }
26921
26922    @classmethod
26923    def from_dict(cls, d):
26924        return cls(
26925            meta=d.get('meta'),
26926            policy=d.get('policy'),
26927            rate_limit=d.get('rate_limit'),
26928        )
26929
26930
26931class PolicyHistory:
26932    '''
26933         PolicyHistory records the state of a Policy at a given point in time,
26934     where every change (create, update and delete) to a Policy produces a
26935     PolicyHistory record.
26936    '''
26937    __slots__ = [
26938        'activity_id',
26939        'deleted_at',
26940        'policy',
26941        'timestamp',
26942    ]
26943
26944    def __init__(
26945        self,
26946        activity_id=None,
26947        deleted_at=None,
26948        policy=None,
26949        timestamp=None,
26950    ):
26951        self.activity_id = activity_id if activity_id is not None else ''
26952        '''
26953         The unique identifier of the Activity that produced this change to the Policy.
26954         May be empty for some system-initiated updates.
26955        '''
26956        self.deleted_at = deleted_at if deleted_at is not None else None
26957        '''
26958         If this Policy was deleted, the time it was deleted.
26959        '''
26960        self.policy = policy if policy is not None else None
26961        '''
26962         The complete Policy state at this time.
26963        '''
26964        self.timestamp = timestamp if timestamp is not None else None
26965        '''
26966         The time at which the Policy state was recorded.
26967        '''
26968
26969    def __repr__(self):
26970        return '<sdm.PolicyHistory ' + \
26971            'activity_id: ' + repr(self.activity_id) + ' ' +\
26972            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26973            'policy: ' + repr(self.policy) + ' ' +\
26974            'timestamp: ' + repr(self.timestamp) + ' ' +\
26975            '>'
26976
26977    def to_dict(self):
26978        return {
26979            'activity_id': self.activity_id,
26980            'deleted_at': self.deleted_at,
26981            'policy': self.policy,
26982            'timestamp': self.timestamp,
26983        }
26984
26985    @classmethod
26986    def from_dict(cls, d):
26987        return cls(
26988            activity_id=d.get('activity_id'),
26989            deleted_at=d.get('deleted_at'),
26990            policy=d.get('policy'),
26991            timestamp=d.get('timestamp'),
26992        )
26993
26994
26995class PolicyListResponse:
26996    '''
26997         PolicyListResponse returns a list of Policy records that meet
26998     the criteria of a PolicyListRequest.
26999    '''
27000    __slots__ = [
27001        'rate_limit',
27002    ]
27003
27004    def __init__(
27005        self,
27006        rate_limit=None,
27007    ):
27008        self.rate_limit = rate_limit if rate_limit is not None else None
27009        '''
27010         Rate limit information.
27011        '''
27012
27013    def __repr__(self):
27014        return '<sdm.PolicyListResponse ' + \
27015            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27016            '>'
27017
27018    def to_dict(self):
27019        return {
27020            'rate_limit': self.rate_limit,
27021        }
27022
27023    @classmethod
27024    def from_dict(cls, d):
27025        return cls(rate_limit=d.get('rate_limit'), )
27026
27027
27028class PolicyUpdateResponse:
27029    '''
27030         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
27031     a PolicyUpdateRequest.
27032    '''
27033    __slots__ = [
27034        'policy',
27035        'rate_limit',
27036    ]
27037
27038    def __init__(
27039        self,
27040        policy=None,
27041        rate_limit=None,
27042    ):
27043        self.policy = policy if policy is not None else None
27044        '''
27045         The updated Policy.
27046        '''
27047        self.rate_limit = rate_limit if rate_limit is not None else None
27048        '''
27049         Rate limit information.
27050        '''
27051
27052    def __repr__(self):
27053        return '<sdm.PolicyUpdateResponse ' + \
27054            'policy: ' + repr(self.policy) + ' ' +\
27055            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27056            '>'
27057
27058    def to_dict(self):
27059        return {
27060            'policy': self.policy,
27061            'rate_limit': self.rate_limit,
27062        }
27063
27064    @classmethod
27065    def from_dict(cls, d):
27066        return cls(
27067            policy=d.get('policy'),
27068            rate_limit=d.get('rate_limit'),
27069        )
27070
27071
27072class Postgres:
27073    __slots__ = [
27074        'bind_interface',
27075        'database',
27076        'egress_filter',
27077        'healthy',
27078        'hostname',
27079        'id',
27080        'name',
27081        'override_database',
27082        'password',
27083        'port',
27084        'port_override',
27085        'proxy_cluster_id',
27086        'secret_store_id',
27087        'subdomain',
27088        'tags',
27089        'username',
27090    ]
27091
27092    def __init__(
27093        self,
27094        bind_interface=None,
27095        database=None,
27096        egress_filter=None,
27097        healthy=None,
27098        hostname=None,
27099        id=None,
27100        name=None,
27101        override_database=None,
27102        password=None,
27103        port=None,
27104        port_override=None,
27105        proxy_cluster_id=None,
27106        secret_store_id=None,
27107        subdomain=None,
27108        tags=None,
27109        username=None,
27110    ):
27111        self.bind_interface = bind_interface if bind_interface is not None else ''
27112        '''
27113         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
27114        '''
27115        self.database = database if database is not None else ''
27116        '''
27117         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27118        '''
27119        self.egress_filter = egress_filter if egress_filter is not None else ''
27120        '''
27121         A filter applied to the routing logic to pin datasource to nodes.
27122        '''
27123        self.healthy = healthy if healthy is not None else False
27124        '''
27125         True if the datasource is reachable and the credentials are valid.
27126        '''
27127        self.hostname = hostname if hostname is not None else ''
27128        '''
27129         The host to dial to initiate a connection from the egress node to this resource.
27130        '''
27131        self.id = id if id is not None else ''
27132        '''
27133         Unique identifier of the Resource.
27134        '''
27135        self.name = name if name is not None else ''
27136        '''
27137         Unique human-readable name of the Resource.
27138        '''
27139        self.override_database = override_database if override_database is not None else False
27140        '''
27141         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
27142        '''
27143        self.password = password if password is not None else ''
27144        '''
27145         The password to authenticate with.
27146        '''
27147        self.port = port if port is not None else 0
27148        '''
27149         The port to dial to initiate a connection from the egress node to this resource.
27150        '''
27151        self.port_override = port_override if port_override is not None else 0
27152        '''
27153         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
27154        '''
27155        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27156        '''
27157         ID of the proxy cluster for this resource, if any.
27158        '''
27159        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27160        '''
27161         ID of the secret store containing credentials for this resource, if any.
27162        '''
27163        self.subdomain = subdomain if subdomain is not None else ''
27164        '''
27165         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
27166        '''
27167        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27168        '''
27169         Tags is a map of key, value pairs.
27170        '''
27171        self.username = username if username is not None else ''
27172        '''
27173         The username to authenticate with.
27174        '''
27175
27176    def __repr__(self):
27177        return '<sdm.Postgres ' + \
27178            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27179            'database: ' + repr(self.database) + ' ' +\
27180            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27181            'healthy: ' + repr(self.healthy) + ' ' +\
27182            'hostname: ' + repr(self.hostname) + ' ' +\
27183            'id: ' + repr(self.id) + ' ' +\
27184            'name: ' + repr(self.name) + ' ' +\
27185            'override_database: ' + repr(self.override_database) + ' ' +\
27186            'password: ' + repr(self.password) + ' ' +\
27187            'port: ' + repr(self.port) + ' ' +\
27188            'port_override: ' + repr(self.port_override) + ' ' +\
27189            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27190            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27191            'subdomain: ' + repr(self.subdomain) + ' ' +\
27192            'tags: ' + repr(self.tags) + ' ' +\
27193            'username: ' + repr(self.username) + ' ' +\
27194            '>'
27195
27196    def to_dict(self):
27197        return {
27198            'bind_interface': self.bind_interface,
27199            'database': self.database,
27200            'egress_filter': self.egress_filter,
27201            'healthy': self.healthy,
27202            'hostname': self.hostname,
27203            'id': self.id,
27204            'name': self.name,
27205            'override_database': self.override_database,
27206            'password': self.password,
27207            'port': self.port,
27208            'port_override': self.port_override,
27209            'proxy_cluster_id': self.proxy_cluster_id,
27210            'secret_store_id': self.secret_store_id,
27211            'subdomain': self.subdomain,
27212            'tags': self.tags,
27213            'username': self.username,
27214        }
27215
27216    @classmethod
27217    def from_dict(cls, d):
27218        return cls(
27219            bind_interface=d.get('bind_interface'),
27220            database=d.get('database'),
27221            egress_filter=d.get('egress_filter'),
27222            healthy=d.get('healthy'),
27223            hostname=d.get('hostname'),
27224            id=d.get('id'),
27225            name=d.get('name'),
27226            override_database=d.get('override_database'),
27227            password=d.get('password'),
27228            port=d.get('port'),
27229            port_override=d.get('port_override'),
27230            proxy_cluster_id=d.get('proxy_cluster_id'),
27231            secret_store_id=d.get('secret_store_id'),
27232            subdomain=d.get('subdomain'),
27233            tags=d.get('tags'),
27234            username=d.get('username'),
27235        )
27236
27237
27238class PostgresEngine:
27239    __slots__ = [
27240        'after_read_ttl',
27241        'database',
27242        'hostname',
27243        'id',
27244        'key_rotation_interval_days',
27245        'name',
27246        'node_selector',
27247        'password',
27248        'policy',
27249        'port',
27250        'public_key',
27251        'secret_store_id',
27252        'secret_store_root_path',
27253        'tags',
27254        'tls',
27255        'ttl',
27256        'username',
27257    ]
27258
27259    def __init__(
27260        self,
27261        after_read_ttl=None,
27262        database=None,
27263        hostname=None,
27264        id=None,
27265        key_rotation_interval_days=None,
27266        name=None,
27267        node_selector=None,
27268        password=None,
27269        policy=None,
27270        port=None,
27271        public_key=None,
27272        secret_store_id=None,
27273        secret_store_root_path=None,
27274        tags=None,
27275        tls=None,
27276        ttl=None,
27277        username=None,
27278    ):
27279        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
27280        '''
27281         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
27282        '''
27283        self.database = database if database is not None else ''
27284        '''
27285         Database is the database to verify credential against.
27286        '''
27287        self.hostname = hostname if hostname is not None else ''
27288        '''
27289         Hostname is the hostname or IP address of the Postgres server.
27290        '''
27291        self.id = id if id is not None else ''
27292        '''
27293         Unique identifier of the Secret Engine.
27294        '''
27295        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
27296        '''
27297         An interval of public/private key rotation for secret engine in days
27298        '''
27299        self.name = name if name is not None else ''
27300        '''
27301         Unique human-readable name of the Secret Engine.
27302        '''
27303        self.node_selector = node_selector if node_selector is not None else ''
27304        '''
27305         node selector is used to narrow down the nodes used to communicate with with secret engine
27306        '''
27307        self.password = password if password is not None else ''
27308        '''
27309         Password is the password to connect to the Postgres server.
27310        '''
27311        self.policy = policy if policy is not None else None
27312        '''
27313         Policy for password creation
27314        '''
27315        self.port = port if port is not None else 0
27316        '''
27317         Port is the port number of the Postgres server.
27318        '''
27319        self.public_key = public_key if public_key is not None else b''
27320        '''
27321         Public key linked with a secret engine
27322        '''
27323        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27324        '''
27325         Backing secret store identifier
27326        '''
27327        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
27328        '''
27329         Backing Secret Store root path where managed secrets are going to be stored
27330        '''
27331        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27332        '''
27333         Tags is a map of key, value pairs.
27334        '''
27335        self.tls = tls if tls is not None else False
27336        '''
27337         TLS enables TLS/SSL when connecting to the Postgres server.
27338        '''
27339        self.ttl = ttl if ttl is not None else None
27340        '''
27341         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
27342        '''
27343        self.username = username if username is not None else ''
27344        '''
27345         Username is the username to connect to the Postgres server.
27346        '''
27347
27348    def __repr__(self):
27349        return '<sdm.PostgresEngine ' + \
27350            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
27351            'database: ' + repr(self.database) + ' ' +\
27352            'hostname: ' + repr(self.hostname) + ' ' +\
27353            'id: ' + repr(self.id) + ' ' +\
27354            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
27355            'name: ' + repr(self.name) + ' ' +\
27356            'node_selector: ' + repr(self.node_selector) + ' ' +\
27357            'password: ' + repr(self.password) + ' ' +\
27358            'policy: ' + repr(self.policy) + ' ' +\
27359            'port: ' + repr(self.port) + ' ' +\
27360            'public_key: ' + repr(self.public_key) + ' ' +\
27361            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27362            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
27363            'tags: ' + repr(self.tags) + ' ' +\
27364            'tls: ' + repr(self.tls) + ' ' +\
27365            'ttl: ' + repr(self.ttl) + ' ' +\
27366            'username: ' + repr(self.username) + ' ' +\
27367            '>'
27368
27369    def to_dict(self):
27370        return {
27371            'after_read_ttl': self.after_read_ttl,
27372            'database': self.database,
27373            'hostname': self.hostname,
27374            'id': self.id,
27375            'key_rotation_interval_days': self.key_rotation_interval_days,
27376            'name': self.name,
27377            'node_selector': self.node_selector,
27378            'password': self.password,
27379            'policy': self.policy,
27380            'port': self.port,
27381            'public_key': self.public_key,
27382            'secret_store_id': self.secret_store_id,
27383            'secret_store_root_path': self.secret_store_root_path,
27384            'tags': self.tags,
27385            'tls': self.tls,
27386            'ttl': self.ttl,
27387            'username': self.username,
27388        }
27389
27390    @classmethod
27391    def from_dict(cls, d):
27392        return cls(
27393            after_read_ttl=d.get('after_read_ttl'),
27394            database=d.get('database'),
27395            hostname=d.get('hostname'),
27396            id=d.get('id'),
27397            key_rotation_interval_days=d.get('key_rotation_interval_days'),
27398            name=d.get('name'),
27399            node_selector=d.get('node_selector'),
27400            password=d.get('password'),
27401            policy=d.get('policy'),
27402            port=d.get('port'),
27403            public_key=d.get('public_key'),
27404            secret_store_id=d.get('secret_store_id'),
27405            secret_store_root_path=d.get('secret_store_root_path'),
27406            tags=d.get('tags'),
27407            tls=d.get('tls'),
27408            ttl=d.get('ttl'),
27409            username=d.get('username'),
27410        )
27411
27412
27413class Presto:
27414    __slots__ = [
27415        'bind_interface',
27416        'database',
27417        'egress_filter',
27418        'healthy',
27419        'hostname',
27420        'id',
27421        'name',
27422        'password',
27423        'port',
27424        'port_override',
27425        'proxy_cluster_id',
27426        'secret_store_id',
27427        'subdomain',
27428        'tags',
27429        'tls_required',
27430        'username',
27431    ]
27432
27433    def __init__(
27434        self,
27435        bind_interface=None,
27436        database=None,
27437        egress_filter=None,
27438        healthy=None,
27439        hostname=None,
27440        id=None,
27441        name=None,
27442        password=None,
27443        port=None,
27444        port_override=None,
27445        proxy_cluster_id=None,
27446        secret_store_id=None,
27447        subdomain=None,
27448        tags=None,
27449        tls_required=None,
27450        username=None,
27451    ):
27452        self.bind_interface = bind_interface if bind_interface is not None else ''
27453        '''
27454         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
27455        '''
27456        self.database = database if database is not None else ''
27457        '''
27458         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27459        '''
27460        self.egress_filter = egress_filter if egress_filter is not None else ''
27461        '''
27462         A filter applied to the routing logic to pin datasource to nodes.
27463        '''
27464        self.healthy = healthy if healthy is not None else False
27465        '''
27466         True if the datasource is reachable and the credentials are valid.
27467        '''
27468        self.hostname = hostname if hostname is not None else ''
27469        '''
27470         The host to dial to initiate a connection from the egress node to this resource.
27471        '''
27472        self.id = id if id is not None else ''
27473        '''
27474         Unique identifier of the Resource.
27475        '''
27476        self.name = name if name is not None else ''
27477        '''
27478         Unique human-readable name of the Resource.
27479        '''
27480        self.password = password if password is not None else ''
27481        '''
27482         The password to authenticate with.
27483        '''
27484        self.port = port if port is not None else 0
27485        '''
27486         The port to dial to initiate a connection from the egress node to this resource.
27487        '''
27488        self.port_override = port_override if port_override is not None else 0
27489        '''
27490         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
27491        '''
27492        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27493        '''
27494         ID of the proxy cluster for this resource, if any.
27495        '''
27496        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27497        '''
27498         ID of the secret store containing credentials for this resource, if any.
27499        '''
27500        self.subdomain = subdomain if subdomain is not None else ''
27501        '''
27502         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
27503        '''
27504        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27505        '''
27506         Tags is a map of key, value pairs.
27507        '''
27508        self.tls_required = tls_required if tls_required is not None else False
27509        '''
27510         If set, TLS must be used to connect to this resource.
27511        '''
27512        self.username = username if username is not None else ''
27513        '''
27514         The username to authenticate with.
27515        '''
27516
27517    def __repr__(self):
27518        return '<sdm.Presto ' + \
27519            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27520            'database: ' + repr(self.database) + ' ' +\
27521            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27522            'healthy: ' + repr(self.healthy) + ' ' +\
27523            'hostname: ' + repr(self.hostname) + ' ' +\
27524            'id: ' + repr(self.id) + ' ' +\
27525            'name: ' + repr(self.name) + ' ' +\
27526            'password: ' + repr(self.password) + ' ' +\
27527            'port: ' + repr(self.port) + ' ' +\
27528            'port_override: ' + repr(self.port_override) + ' ' +\
27529            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27530            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27531            'subdomain: ' + repr(self.subdomain) + ' ' +\
27532            'tags: ' + repr(self.tags) + ' ' +\
27533            'tls_required: ' + repr(self.tls_required) + ' ' +\
27534            'username: ' + repr(self.username) + ' ' +\
27535            '>'
27536
27537    def to_dict(self):
27538        return {
27539            'bind_interface': self.bind_interface,
27540            'database': self.database,
27541            'egress_filter': self.egress_filter,
27542            'healthy': self.healthy,
27543            'hostname': self.hostname,
27544            'id': self.id,
27545            'name': self.name,
27546            'password': self.password,
27547            'port': self.port,
27548            'port_override': self.port_override,
27549            'proxy_cluster_id': self.proxy_cluster_id,
27550            'secret_store_id': self.secret_store_id,
27551            'subdomain': self.subdomain,
27552            'tags': self.tags,
27553            'tls_required': self.tls_required,
27554            'username': self.username,
27555        }
27556
27557    @classmethod
27558    def from_dict(cls, d):
27559        return cls(
27560            bind_interface=d.get('bind_interface'),
27561            database=d.get('database'),
27562            egress_filter=d.get('egress_filter'),
27563            healthy=d.get('healthy'),
27564            hostname=d.get('hostname'),
27565            id=d.get('id'),
27566            name=d.get('name'),
27567            password=d.get('password'),
27568            port=d.get('port'),
27569            port_override=d.get('port_override'),
27570            proxy_cluster_id=d.get('proxy_cluster_id'),
27571            secret_store_id=d.get('secret_store_id'),
27572            subdomain=d.get('subdomain'),
27573            tags=d.get('tags'),
27574            tls_required=d.get('tls_required'),
27575            username=d.get('username'),
27576        )
27577
27578
27579class ProxyCluster:
27580    '''
27581         ProxyCluster represents a cluster of StrongDM proxies.
27582    '''
27583    __slots__ = [
27584        'address',
27585        'id',
27586        'maintenance_windows',
27587        'name',
27588        'tags',
27589    ]
27590
27591    def __init__(
27592        self,
27593        address=None,
27594        id=None,
27595        maintenance_windows=None,
27596        name=None,
27597        tags=None,
27598    ):
27599        self.address = address if address is not None else ''
27600        '''
27601         The public hostname/port tuple at which the proxy cluster will be
27602         accessible to clients.
27603        '''
27604        self.id = id if id is not None else ''
27605        '''
27606         Unique identifier of the Proxy Cluster.
27607        '''
27608        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
27609        '''
27610         Maintenance Windows define when this node is allowed to restart. If a node
27611         is requested to restart, it will check each window to determine if any of
27612         them permit it to restart, and if any do, it will. This check is repeated
27613         per window until the restart is successfully completed.
27614         
27615         If not set here, may be set on the command line or via an environment variable
27616         on the process itself; any server setting will take precedence over local
27617         settings. This setting is ineffective for nodes below version 38.44.0.
27618         
27619         If this setting is not applied via this remote configuration or via local
27620         configuration, the default setting is used: always allow restarts if serving
27621         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
27622        '''
27623        self.name = name if name is not None else ''
27624        '''
27625         Unique human-readable name of the proxy cluster. Names must
27626         include only letters, numbers, and hyphens (no spaces, underscores, or
27627         other special characters). Generated if not provided on create.
27628        '''
27629        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27630        '''
27631         Tags is a map of key, value pairs.
27632        '''
27633
27634    def __repr__(self):
27635        return '<sdm.ProxyCluster ' + \
27636            'address: ' + repr(self.address) + ' ' +\
27637            'id: ' + repr(self.id) + ' ' +\
27638            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
27639            'name: ' + repr(self.name) + ' ' +\
27640            'tags: ' + repr(self.tags) + ' ' +\
27641            '>'
27642
27643    def to_dict(self):
27644        return {
27645            'address': self.address,
27646            'id': self.id,
27647            'maintenance_windows': self.maintenance_windows,
27648            'name': self.name,
27649            'tags': self.tags,
27650        }
27651
27652    @classmethod
27653    def from_dict(cls, d):
27654        return cls(
27655            address=d.get('address'),
27656            id=d.get('id'),
27657            maintenance_windows=d.get('maintenance_windows'),
27658            name=d.get('name'),
27659            tags=d.get('tags'),
27660        )
27661
27662
27663class ProxyClusterKey:
27664    '''
27665         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
27666     The proxies within a cluster share the same key. One cluster can have
27667     multiple keys in order to facilitate key rotation.
27668    '''
27669    __slots__ = [
27670        'created_at',
27671        'id',
27672        'last_used_at',
27673        'proxy_cluster_id',
27674    ]
27675
27676    def __init__(
27677        self,
27678        created_at=None,
27679        id=None,
27680        last_used_at=None,
27681        proxy_cluster_id=None,
27682    ):
27683        self.created_at = created_at if created_at is not None else None
27684        '''
27685         The timestamp when this key was created.
27686        '''
27687        self.id = id if id is not None else ''
27688        '''
27689         Unique identifier of the Relay.
27690        '''
27691        self.last_used_at = last_used_at if last_used_at is not None else None
27692        '''
27693         The timestamp when this key was last used, if at all.
27694        '''
27695        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27696        '''
27697         The ID of the proxy cluster which this key authenticates to.
27698        '''
27699
27700    def __repr__(self):
27701        return '<sdm.ProxyClusterKey ' + \
27702            'created_at: ' + repr(self.created_at) + ' ' +\
27703            'id: ' + repr(self.id) + ' ' +\
27704            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
27705            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27706            '>'
27707
27708    def to_dict(self):
27709        return {
27710            'created_at': self.created_at,
27711            'id': self.id,
27712            'last_used_at': self.last_used_at,
27713            'proxy_cluster_id': self.proxy_cluster_id,
27714        }
27715
27716    @classmethod
27717    def from_dict(cls, d):
27718        return cls(
27719            created_at=d.get('created_at'),
27720            id=d.get('id'),
27721            last_used_at=d.get('last_used_at'),
27722            proxy_cluster_id=d.get('proxy_cluster_id'),
27723        )
27724
27725
27726class ProxyClusterKeyCreateResponse:
27727    '''
27728         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
27729    '''
27730    __slots__ = [
27731        'meta',
27732        'proxy_cluster_key',
27733        'rate_limit',
27734        'secret_key',
27735    ]
27736
27737    def __init__(
27738        self,
27739        meta=None,
27740        proxy_cluster_key=None,
27741        rate_limit=None,
27742        secret_key=None,
27743    ):
27744        self.meta = meta if meta is not None else None
27745        '''
27746         Reserved for future use.
27747        '''
27748        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
27749        '''
27750         The created ProxyClusterKey.
27751        '''
27752        self.rate_limit = rate_limit if rate_limit is not None else None
27753        '''
27754         Rate limit information.
27755        '''
27756        self.secret_key = secret_key if secret_key is not None else ''
27757        '''
27758         The secret key component of this key. It must be saved upon creation
27759         because it will not be available for retrieval later.
27760        '''
27761
27762    def __repr__(self):
27763        return '<sdm.ProxyClusterKeyCreateResponse ' + \
27764            'meta: ' + repr(self.meta) + ' ' +\
27765            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
27766            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27767            'secret_key: ' + repr(self.secret_key) + ' ' +\
27768            '>'
27769
27770    def to_dict(self):
27771        return {
27772            'meta': self.meta,
27773            'proxy_cluster_key': self.proxy_cluster_key,
27774            'rate_limit': self.rate_limit,
27775            'secret_key': self.secret_key,
27776        }
27777
27778    @classmethod
27779    def from_dict(cls, d):
27780        return cls(
27781            meta=d.get('meta'),
27782            proxy_cluster_key=d.get('proxy_cluster_key'),
27783            rate_limit=d.get('rate_limit'),
27784            secret_key=d.get('secret_key'),
27785        )
27786
27787
27788class ProxyClusterKeyDeleteResponse:
27789    '''
27790         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
27791    '''
27792    __slots__ = [
27793        'meta',
27794        'rate_limit',
27795    ]
27796
27797    def __init__(
27798        self,
27799        meta=None,
27800        rate_limit=None,
27801    ):
27802        self.meta = meta if meta is not None else None
27803        '''
27804         Reserved for future use.
27805        '''
27806        self.rate_limit = rate_limit if rate_limit is not None else None
27807        '''
27808         Rate limit information.
27809        '''
27810
27811    def __repr__(self):
27812        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
27813            'meta: ' + repr(self.meta) + ' ' +\
27814            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27815            '>'
27816
27817    def to_dict(self):
27818        return {
27819            'meta': self.meta,
27820            'rate_limit': self.rate_limit,
27821        }
27822
27823    @classmethod
27824    def from_dict(cls, d):
27825        return cls(
27826            meta=d.get('meta'),
27827            rate_limit=d.get('rate_limit'),
27828        )
27829
27830
27831class ProxyClusterKeyGetResponse:
27832    '''
27833         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
27834    '''
27835    __slots__ = [
27836        'meta',
27837        'proxy_cluster_key',
27838        'rate_limit',
27839    ]
27840
27841    def __init__(
27842        self,
27843        meta=None,
27844        proxy_cluster_key=None,
27845        rate_limit=None,
27846    ):
27847        self.meta = meta if meta is not None else None
27848        '''
27849         Reserved for future use.
27850        '''
27851        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
27852        '''
27853         The requested ProxyClusterKey.
27854        '''
27855        self.rate_limit = rate_limit if rate_limit is not None else None
27856        '''
27857         Rate limit information.
27858        '''
27859
27860    def __repr__(self):
27861        return '<sdm.ProxyClusterKeyGetResponse ' + \
27862            'meta: ' + repr(self.meta) + ' ' +\
27863            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
27864            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27865            '>'
27866
27867    def to_dict(self):
27868        return {
27869            'meta': self.meta,
27870            'proxy_cluster_key': self.proxy_cluster_key,
27871            'rate_limit': self.rate_limit,
27872        }
27873
27874    @classmethod
27875    def from_dict(cls, d):
27876        return cls(
27877            meta=d.get('meta'),
27878            proxy_cluster_key=d.get('proxy_cluster_key'),
27879            rate_limit=d.get('rate_limit'),
27880        )
27881
27882
27883class Query:
27884    '''
27885         A Query is a record of a single client request to a resource, such as a SQL query.
27886     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
27887     interactive sessions will return two Query records with the same identifier, one record
27888     at the start of the query and a second record upon the completion of the query with
27889     additional detail.
27890    '''
27891    __slots__ = [
27892        'account_email',
27893        'account_first_name',
27894        'account_id',
27895        'account_last_name',
27896        'account_tags',
27897        'authzjson',
27898        'capture',
27899        'client_ip',
27900        'completed_at',
27901        'duration',
27902        'egress_node_id',
27903        'encrypted',
27904        'id',
27905        'identity_alias_username',
27906        'metadata_json',
27907        'query_body',
27908        'query_category',
27909        'query_hash',
27910        'query_key',
27911        'record_count',
27912        'remote_identity_username',
27913        'replayable',
27914        'resource_id',
27915        'resource_name',
27916        'resource_tags',
27917        'resource_type',
27918        'source_ip',
27919        'target',
27920        'timestamp',
27921    ]
27922
27923    def __init__(
27924        self,
27925        account_email=None,
27926        account_first_name=None,
27927        account_id=None,
27928        account_last_name=None,
27929        account_tags=None,
27930        authzjson=None,
27931        capture=None,
27932        client_ip=None,
27933        completed_at=None,
27934        duration=None,
27935        egress_node_id=None,
27936        encrypted=None,
27937        id=None,
27938        identity_alias_username=None,
27939        metadata_json=None,
27940        query_body=None,
27941        query_category=None,
27942        query_hash=None,
27943        query_key=None,
27944        record_count=None,
27945        remote_identity_username=None,
27946        replayable=None,
27947        resource_id=None,
27948        resource_name=None,
27949        resource_tags=None,
27950        resource_type=None,
27951        source_ip=None,
27952        target=None,
27953        timestamp=None,
27954    ):
27955        self.account_email = account_email if account_email is not None else ''
27956        '''
27957         The email of the account performing this query, at the time the query was executed.
27958         If the account email is later changed, that change will not be reflected via this field.
27959        '''
27960        self.account_first_name = account_first_name if account_first_name is not None else ''
27961        '''
27962         The given name of the account performing this query, at the time the query was executed.
27963         If the account is later renamed, that change will not be reflected via this field.
27964        '''
27965        self.account_id = account_id if account_id is not None else ''
27966        '''
27967         Unique identifier of the Account that performed the Query.
27968        '''
27969        self.account_last_name = account_last_name if account_last_name is not None else ''
27970        '''
27971         The family name of the account performing this query, at the time the query was executed.
27972         If the account is later renamed, that change will not be reflected via this field.
27973        '''
27974        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
27975        )
27976        '''
27977         The tags of the account accessed, at the time the query was executed. If the account
27978         tags are later changed, that change will not be reflected via this field.
27979        '''
27980        self.authzjson = authzjson if authzjson is not None else ''
27981        '''
27982         Authorization metadata associated with this query.
27983        '''
27984        self.capture = capture if capture is not None else None
27985        '''
27986         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
27987         about the captured query.
27988        '''
27989        self.client_ip = client_ip if client_ip is not None else ''
27990        '''
27991         The IP address the Query was performed from, as detected at the StrongDM control plane.
27992        '''
27993        self.completed_at = completed_at if completed_at is not None else None
27994        '''
27995         The time at which the Query was completed.
27996         Empty if this record indicates the start of a long-running query.
27997        '''
27998        self.duration = duration if duration is not None else None
27999        '''
28000         The duration of the Query.
28001        '''
28002        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
28003        '''
28004         The unique ID of the node through which the Resource was accessed.
28005        '''
28006        self.encrypted = encrypted if encrypted is not None else False
28007        '''
28008         Indicates that the body of the Query is encrypted.
28009        '''
28010        self.id = id if id is not None else ''
28011        '''
28012         Unique identifier of the Query.
28013        '''
28014        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
28015        '''
28016         The username of the IdentityAlias used to access the Resource.
28017        '''
28018        self.metadata_json = metadata_json if metadata_json is not None else ''
28019        '''
28020         Driver specific metadata associated with this query.
28021        '''
28022        self.query_body = query_body if query_body is not None else ''
28023        '''
28024         The captured content of the Query.
28025         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
28026        '''
28027        self.query_category = query_category if query_category is not None else ''
28028        '''
28029         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
28030        '''
28031        self.query_hash = query_hash if query_hash is not None else ''
28032        '''
28033         The hash of the body of the Query.
28034        '''
28035        self.query_key = query_key if query_key is not None else ''
28036        '''
28037         The symmetric key used to encrypt the body of this Query and its replay if replayable.
28038         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
28039         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
28040         If the Query is not encrypted, this field is empty.
28041        '''
28042        self.record_count = record_count if record_count is not None else 0
28043        '''
28044         The number of records returned by the Query, for a database Resource.
28045        '''
28046        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
28047        '''
28048         The username of the RemoteIdentity used to access the Resource.
28049        '''
28050        self.replayable = replayable if replayable is not None else False
28051        '''
28052         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
28053        '''
28054        self.resource_id = resource_id if resource_id is not None else ''
28055        '''
28056         Unique identifier of the Resource against which the Query was performed.
28057        '''
28058        self.resource_name = resource_name if resource_name is not None else ''
28059        '''
28060         The name of the resource accessed, at the time the query was executed. If the resource
28061         is later renamed, that change will not be reflected via this field.
28062        '''
28063        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
28064        )
28065        '''
28066         The tags of the resource accessed, at the time the query was executed. If the resource
28067         tags are later changed, that change will not be reflected via this field.
28068        '''
28069        self.resource_type = resource_type if resource_type is not None else ''
28070        '''
28071         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
28072        '''
28073        self.source_ip = source_ip if source_ip is not None else ''
28074        '''
28075         The IP address the Query was performed from, as detected at the ingress gateway.
28076        '''
28077        self.target = target if target is not None else ''
28078        '''
28079         The target destination of the query, in host:port format.
28080        '''
28081        self.timestamp = timestamp if timestamp is not None else None
28082        '''
28083         The time at which the Query was started.
28084        '''
28085
28086    def __repr__(self):
28087        return '<sdm.Query ' + \
28088            'account_email: ' + repr(self.account_email) + ' ' +\
28089            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
28090            'account_id: ' + repr(self.account_id) + ' ' +\
28091            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
28092            'account_tags: ' + repr(self.account_tags) + ' ' +\
28093            'authzjson: ' + repr(self.authzjson) + ' ' +\
28094            'capture: ' + repr(self.capture) + ' ' +\
28095            'client_ip: ' + repr(self.client_ip) + ' ' +\
28096            'completed_at: ' + repr(self.completed_at) + ' ' +\
28097            'duration: ' + repr(self.duration) + ' ' +\
28098            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
28099            'encrypted: ' + repr(self.encrypted) + ' ' +\
28100            'id: ' + repr(self.id) + ' ' +\
28101            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
28102            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
28103            'query_body: ' + repr(self.query_body) + ' ' +\
28104            'query_category: ' + repr(self.query_category) + ' ' +\
28105            'query_hash: ' + repr(self.query_hash) + ' ' +\
28106            'query_key: ' + repr(self.query_key) + ' ' +\
28107            'record_count: ' + repr(self.record_count) + ' ' +\
28108            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
28109            'replayable: ' + repr(self.replayable) + ' ' +\
28110            'resource_id: ' + repr(self.resource_id) + ' ' +\
28111            'resource_name: ' + repr(self.resource_name) + ' ' +\
28112            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
28113            'resource_type: ' + repr(self.resource_type) + ' ' +\
28114            'source_ip: ' + repr(self.source_ip) + ' ' +\
28115            'target: ' + repr(self.target) + ' ' +\
28116            'timestamp: ' + repr(self.timestamp) + ' ' +\
28117            '>'
28118
28119    def to_dict(self):
28120        return {
28121            'account_email': self.account_email,
28122            'account_first_name': self.account_first_name,
28123            'account_id': self.account_id,
28124            'account_last_name': self.account_last_name,
28125            'account_tags': self.account_tags,
28126            'authzjson': self.authzjson,
28127            'capture': self.capture,
28128            'client_ip': self.client_ip,
28129            'completed_at': self.completed_at,
28130            'duration': self.duration,
28131            'egress_node_id': self.egress_node_id,
28132            'encrypted': self.encrypted,
28133            'id': self.id,
28134            'identity_alias_username': self.identity_alias_username,
28135            'metadata_json': self.metadata_json,
28136            'query_body': self.query_body,
28137            'query_category': self.query_category,
28138            'query_hash': self.query_hash,
28139            'query_key': self.query_key,
28140            'record_count': self.record_count,
28141            'remote_identity_username': self.remote_identity_username,
28142            'replayable': self.replayable,
28143            'resource_id': self.resource_id,
28144            'resource_name': self.resource_name,
28145            'resource_tags': self.resource_tags,
28146            'resource_type': self.resource_type,
28147            'source_ip': self.source_ip,
28148            'target': self.target,
28149            'timestamp': self.timestamp,
28150        }
28151
28152    @classmethod
28153    def from_dict(cls, d):
28154        return cls(
28155            account_email=d.get('account_email'),
28156            account_first_name=d.get('account_first_name'),
28157            account_id=d.get('account_id'),
28158            account_last_name=d.get('account_last_name'),
28159            account_tags=d.get('account_tags'),
28160            authzjson=d.get('authzjson'),
28161            capture=d.get('capture'),
28162            client_ip=d.get('client_ip'),
28163            completed_at=d.get('completed_at'),
28164            duration=d.get('duration'),
28165            egress_node_id=d.get('egress_node_id'),
28166            encrypted=d.get('encrypted'),
28167            id=d.get('id'),
28168            identity_alias_username=d.get('identity_alias_username'),
28169            metadata_json=d.get('metadata_json'),
28170            query_body=d.get('query_body'),
28171            query_category=d.get('query_category'),
28172            query_hash=d.get('query_hash'),
28173            query_key=d.get('query_key'),
28174            record_count=d.get('record_count'),
28175            remote_identity_username=d.get('remote_identity_username'),
28176            replayable=d.get('replayable'),
28177            resource_id=d.get('resource_id'),
28178            resource_name=d.get('resource_name'),
28179            resource_tags=d.get('resource_tags'),
28180            resource_type=d.get('resource_type'),
28181            source_ip=d.get('source_ip'),
28182            target=d.get('target'),
28183            timestamp=d.get('timestamp'),
28184        )
28185
28186
28187class QueryCapture:
28188    '''
28189         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
28190    '''
28191    __slots__ = [
28192        'client_command',
28193        'command',
28194        'container',
28195        'env',
28196        'file_name',
28197        'file_size',
28198        'height',
28199        'impersonation_groups',
28200        'impersonation_user',
28201        'pod',
28202        'privilege_groups',
28203        'request_body',
28204        'request_method',
28205        'request_uri',
28206        'type',
28207        'width',
28208    ]
28209
28210    def __init__(
28211        self,
28212        client_command=None,
28213        command=None,
28214        container=None,
28215        env=None,
28216        file_name=None,
28217        file_size=None,
28218        height=None,
28219        impersonation_groups=None,
28220        impersonation_user=None,
28221        pod=None,
28222        privilege_groups=None,
28223        request_body=None,
28224        request_method=None,
28225        request_uri=None,
28226        type=None,
28227        width=None,
28228    ):
28229        self.client_command = client_command if client_command is not None else ''
28230        '''
28231         The command executed on the client for a Kubernetes session.
28232        '''
28233        self.command = command if command is not None else ''
28234        '''
28235         The command executed over an SSH or Kubernetes session.
28236        '''
28237        self.container = container if container is not None else ''
28238        '''
28239         The target container of a Kubernetes operation.
28240        '''
28241        self.env = env if env is not None else {}
28242        '''
28243         The environment variables for an SSH or Kubernetes session.
28244        '''
28245        self.file_name = file_name if file_name is not None else ''
28246        '''
28247         The remote file name of an SCP operation.
28248        '''
28249        self.file_size = file_size if file_size is not None else 0
28250        '''
28251         The file size transferred for an SCP operation.
28252        '''
28253        self.height = height if height is not None else 0
28254        '''
28255         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
28256        '''
28257        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
28258        '''
28259         The impersonation groups of a Kubernetes operation.
28260        '''
28261        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
28262        '''
28263         The impersonation user of a Kubernetes operation.
28264        '''
28265        self.pod = pod if pod is not None else ''
28266        '''
28267         The target pod of a Kubernetes operation.
28268        '''
28269        self.privilege_groups = privilege_groups if privilege_groups is not None else []
28270        '''
28271         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
28272        '''
28273        self.request_body = request_body if request_body is not None else b''
28274        '''
28275         The HTTP request body of a Kubernetes operation.
28276        '''
28277        self.request_method = request_method if request_method is not None else ''
28278        '''
28279         The HTTP request method of a Kubernetes operation.
28280        '''
28281        self.request_uri = request_uri if request_uri is not None else ''
28282        '''
28283         The HTTP request URI of a Kubernetes operation.
28284        '''
28285        self.type = type if type is not None else ''
28286        '''
28287         The CaptureType of this query capture, one of the CaptureType constants.
28288        '''
28289        self.width = width if width is not None else 0
28290        '''
28291         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
28292        '''
28293
28294    def __repr__(self):
28295        return '<sdm.QueryCapture ' + \
28296            'client_command: ' + repr(self.client_command) + ' ' +\
28297            'command: ' + repr(self.command) + ' ' +\
28298            'container: ' + repr(self.container) + ' ' +\
28299            'env: ' + repr(self.env) + ' ' +\
28300            'file_name: ' + repr(self.file_name) + ' ' +\
28301            'file_size: ' + repr(self.file_size) + ' ' +\
28302            'height: ' + repr(self.height) + ' ' +\
28303            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
28304            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
28305            'pod: ' + repr(self.pod) + ' ' +\
28306            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
28307            'request_body: ' + repr(self.request_body) + ' ' +\
28308            'request_method: ' + repr(self.request_method) + ' ' +\
28309            'request_uri: ' + repr(self.request_uri) + ' ' +\
28310            'type: ' + repr(self.type) + ' ' +\
28311            'width: ' + repr(self.width) + ' ' +\
28312            '>'
28313
28314    def to_dict(self):
28315        return {
28316            'client_command': self.client_command,
28317            'command': self.command,
28318            'container': self.container,
28319            'env': self.env,
28320            'file_name': self.file_name,
28321            'file_size': self.file_size,
28322            'height': self.height,
28323            'impersonation_groups': self.impersonation_groups,
28324            'impersonation_user': self.impersonation_user,
28325            'pod': self.pod,
28326            'privilege_groups': self.privilege_groups,
28327            'request_body': self.request_body,
28328            'request_method': self.request_method,
28329            'request_uri': self.request_uri,
28330            'type': self.type,
28331            'width': self.width,
28332        }
28333
28334    @classmethod
28335    def from_dict(cls, d):
28336        return cls(
28337            client_command=d.get('client_command'),
28338            command=d.get('command'),
28339            container=d.get('container'),
28340            env=d.get('env'),
28341            file_name=d.get('file_name'),
28342            file_size=d.get('file_size'),
28343            height=d.get('height'),
28344            impersonation_groups=d.get('impersonation_groups'),
28345            impersonation_user=d.get('impersonation_user'),
28346            pod=d.get('pod'),
28347            privilege_groups=d.get('privilege_groups'),
28348            request_body=d.get('request_body'),
28349            request_method=d.get('request_method'),
28350            request_uri=d.get('request_uri'),
28351            type=d.get('type'),
28352            width=d.get('width'),
28353        )
28354
28355
28356class RDP:
28357    __slots__ = [
28358        'bind_interface',
28359        'downgrade_nla_connections',
28360        'egress_filter',
28361        'healthy',
28362        'hostname',
28363        'id',
28364        'identity_alias_healthcheck_username',
28365        'identity_set_id',
28366        'lock_required',
28367        'name',
28368        'password',
28369        'port',
28370        'port_override',
28371        'proxy_cluster_id',
28372        'secret_store_id',
28373        'subdomain',
28374        'tags',
28375        'username',
28376    ]
28377
28378    def __init__(
28379        self,
28380        bind_interface=None,
28381        downgrade_nla_connections=None,
28382        egress_filter=None,
28383        healthy=None,
28384        hostname=None,
28385        id=None,
28386        identity_alias_healthcheck_username=None,
28387        identity_set_id=None,
28388        lock_required=None,
28389        name=None,
28390        password=None,
28391        port=None,
28392        port_override=None,
28393        proxy_cluster_id=None,
28394        secret_store_id=None,
28395        subdomain=None,
28396        tags=None,
28397        username=None,
28398    ):
28399        self.bind_interface = bind_interface if bind_interface is not None else ''
28400        '''
28401         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28402        '''
28403        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
28404        '''
28405         When set, network level authentication will not be used. May resolve unexpected authentication errors to older servers. When set, healthchecks cannot detect if a provided username / password pair is correct.
28406        '''
28407        self.egress_filter = egress_filter if egress_filter is not None else ''
28408        '''
28409         A filter applied to the routing logic to pin datasource to nodes.
28410        '''
28411        self.healthy = healthy if healthy is not None else False
28412        '''
28413         True if the datasource is reachable and the credentials are valid.
28414        '''
28415        self.hostname = hostname if hostname is not None else ''
28416        '''
28417         The host to dial to initiate a connection from the egress node to this resource.
28418        '''
28419        self.id = id if id is not None else ''
28420        '''
28421         Unique identifier of the Resource.
28422        '''
28423        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
28424        '''
28425         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
28426        '''
28427        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
28428        '''
28429         if provided use identity_set to map username to secret store path
28430        '''
28431        self.lock_required = lock_required if lock_required is not None else False
28432        '''
28433         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
28434        '''
28435        self.name = name if name is not None else ''
28436        '''
28437         Unique human-readable name of the Resource.
28438        '''
28439        self.password = password if password is not None else ''
28440        '''
28441         The password to authenticate with.
28442        '''
28443        self.port = port if port is not None else 0
28444        '''
28445         The port to dial to initiate a connection from the egress node to this resource.
28446        '''
28447        self.port_override = port_override if port_override is not None else 0
28448        '''
28449         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28450        '''
28451        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28452        '''
28453         ID of the proxy cluster for this resource, if any.
28454        '''
28455        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28456        '''
28457         ID of the secret store containing credentials for this resource, if any.
28458        '''
28459        self.subdomain = subdomain if subdomain is not None else ''
28460        '''
28461         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28462        '''
28463        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28464        '''
28465         Tags is a map of key, value pairs.
28466        '''
28467        self.username = username if username is not None else ''
28468        '''
28469         The username to authenticate with.
28470        '''
28471
28472    def __repr__(self):
28473        return '<sdm.RDP ' + \
28474            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28475            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
28476            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28477            'healthy: ' + repr(self.healthy) + ' ' +\
28478            'hostname: ' + repr(self.hostname) + ' ' +\
28479            'id: ' + repr(self.id) + ' ' +\
28480            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
28481            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
28482            'lock_required: ' + repr(self.lock_required) + ' ' +\
28483            'name: ' + repr(self.name) + ' ' +\
28484            'password: ' + repr(self.password) + ' ' +\
28485            'port: ' + repr(self.port) + ' ' +\
28486            'port_override: ' + repr(self.port_override) + ' ' +\
28487            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28488            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28489            'subdomain: ' + repr(self.subdomain) + ' ' +\
28490            'tags: ' + repr(self.tags) + ' ' +\
28491            'username: ' + repr(self.username) + ' ' +\
28492            '>'
28493
28494    def to_dict(self):
28495        return {
28496            'bind_interface': self.bind_interface,
28497            'downgrade_nla_connections': self.downgrade_nla_connections,
28498            'egress_filter': self.egress_filter,
28499            'healthy': self.healthy,
28500            'hostname': self.hostname,
28501            'id': self.id,
28502            'identity_alias_healthcheck_username':
28503            self.identity_alias_healthcheck_username,
28504            'identity_set_id': self.identity_set_id,
28505            'lock_required': self.lock_required,
28506            'name': self.name,
28507            'password': self.password,
28508            'port': self.port,
28509            'port_override': self.port_override,
28510            'proxy_cluster_id': self.proxy_cluster_id,
28511            'secret_store_id': self.secret_store_id,
28512            'subdomain': self.subdomain,
28513            'tags': self.tags,
28514            'username': self.username,
28515        }
28516
28517    @classmethod
28518    def from_dict(cls, d):
28519        return cls(
28520            bind_interface=d.get('bind_interface'),
28521            downgrade_nla_connections=d.get('downgrade_nla_connections'),
28522            egress_filter=d.get('egress_filter'),
28523            healthy=d.get('healthy'),
28524            hostname=d.get('hostname'),
28525            id=d.get('id'),
28526            identity_alias_healthcheck_username=d.get(
28527                'identity_alias_healthcheck_username'),
28528            identity_set_id=d.get('identity_set_id'),
28529            lock_required=d.get('lock_required'),
28530            name=d.get('name'),
28531            password=d.get('password'),
28532            port=d.get('port'),
28533            port_override=d.get('port_override'),
28534            proxy_cluster_id=d.get('proxy_cluster_id'),
28535            secret_store_id=d.get('secret_store_id'),
28536            subdomain=d.get('subdomain'),
28537            tags=d.get('tags'),
28538            username=d.get('username'),
28539        )
28540
28541
28542class RDPCert:
28543    __slots__ = [
28544        'bind_interface',
28545        'dc_hostnames',
28546        'egress_filter',
28547        'healthy',
28548        'hostname',
28549        'id',
28550        'identity_alias_healthcheck_username',
28551        'identity_set_id',
28552        'lock_required',
28553        'name',
28554        'port',
28555        'port_override',
28556        'proxy_cluster_id',
28557        'secret_store_id',
28558        'server_fqdn',
28559        'sid',
28560        'subdomain',
28561        'tags',
28562        'username',
28563    ]
28564
28565    def __init__(
28566        self,
28567        bind_interface=None,
28568        dc_hostnames=None,
28569        egress_filter=None,
28570        healthy=None,
28571        hostname=None,
28572        id=None,
28573        identity_alias_healthcheck_username=None,
28574        identity_set_id=None,
28575        lock_required=None,
28576        name=None,
28577        port=None,
28578        port_override=None,
28579        proxy_cluster_id=None,
28580        secret_store_id=None,
28581        server_fqdn=None,
28582        sid=None,
28583        subdomain=None,
28584        tags=None,
28585        username=None,
28586    ):
28587        self.bind_interface = bind_interface if bind_interface is not None else ''
28588        '''
28589         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28590        '''
28591        self.dc_hostnames = dc_hostnames if dc_hostnames is not None else ''
28592        '''
28593         Comma-separated list of Active Directory Domain Controller hostnames. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), and for LDAPS SID resolution for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID. Unused for Entra ID.
28594        '''
28595        self.egress_filter = egress_filter if egress_filter is not None else ''
28596        '''
28597         A filter applied to the routing logic to pin datasource to nodes.
28598        '''
28599        self.healthy = healthy if healthy is not None else False
28600        '''
28601         True if the datasource is reachable and the credentials are valid.
28602        '''
28603        self.hostname = hostname if hostname is not None else ''
28604        '''
28605         The host to dial to initiate a connection from the egress node to this resource.
28606        '''
28607        self.id = id if id is not None else ''
28608        '''
28609         Unique identifier of the Resource.
28610        '''
28611        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
28612        '''
28613         Username of the AD service account for health checks, and LDAPS SID resolution if necessary. Required for on-premises AD environments, unused for Entra ID.
28614        '''
28615        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
28616        '''
28617         The ID of the identity set to use for identity connections.
28618        '''
28619        self.lock_required = lock_required if lock_required is not None else False
28620        '''
28621         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
28622        '''
28623        self.name = name if name is not None else ''
28624        '''
28625         Unique human-readable name of the Resource.
28626        '''
28627        self.port = port if port is not None else 0
28628        '''
28629         The port to dial to initiate a connection from the egress node to this resource.
28630        '''
28631        self.port_override = port_override if port_override is not None else 0
28632        '''
28633         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28634        '''
28635        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28636        '''
28637         ID of the proxy cluster for this resource, if any.
28638        '''
28639        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28640        '''
28641         ID of the secret store containing credentials for this resource, if any.
28642        '''
28643        self.server_fqdn = server_fqdn if server_fqdn is not None else ''
28644        '''
28645         Fully-qualified DNS name of the target Windows server, including the AD domain. Must match the Service Principal Name (SPN) of the server in AD. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), unused for Entra ID.
28646        '''
28647        self.sid = sid if sid is not None else ''
28648        '''
28649         Windows Security Identifier (SID) of the configured Username, or AD service account if using LDAPS SID resolution. Required in on-premises AD environments for strong certificate mapping in full enforcement mode, unused for Entra ID.
28650        '''
28651        self.subdomain = subdomain if subdomain is not None else ''
28652        '''
28653         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28654        '''
28655        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28656        '''
28657         Tags is a map of key, value pairs.
28658        '''
28659        self.username = username if username is not None else ''
28660        '''
28661         The username to authenticate with.
28662        '''
28663
28664    def __repr__(self):
28665        return '<sdm.RDPCert ' + \
28666            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28667            'dc_hostnames: ' + repr(self.dc_hostnames) + ' ' +\
28668            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28669            'healthy: ' + repr(self.healthy) + ' ' +\
28670            'hostname: ' + repr(self.hostname) + ' ' +\
28671            'id: ' + repr(self.id) + ' ' +\
28672            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
28673            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
28674            'lock_required: ' + repr(self.lock_required) + ' ' +\
28675            'name: ' + repr(self.name) + ' ' +\
28676            'port: ' + repr(self.port) + ' ' +\
28677            'port_override: ' + repr(self.port_override) + ' ' +\
28678            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28679            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28680            'server_fqdn: ' + repr(self.server_fqdn) + ' ' +\
28681            'sid: ' + repr(self.sid) + ' ' +\
28682            'subdomain: ' + repr(self.subdomain) + ' ' +\
28683            'tags: ' + repr(self.tags) + ' ' +\
28684            'username: ' + repr(self.username) + ' ' +\
28685            '>'
28686
28687    def to_dict(self):
28688        return {
28689            'bind_interface': self.bind_interface,
28690            'dc_hostnames': self.dc_hostnames,
28691            'egress_filter': self.egress_filter,
28692            'healthy': self.healthy,
28693            'hostname': self.hostname,
28694            'id': self.id,
28695            'identity_alias_healthcheck_username':
28696            self.identity_alias_healthcheck_username,
28697            'identity_set_id': self.identity_set_id,
28698            'lock_required': self.lock_required,
28699            'name': self.name,
28700            'port': self.port,
28701            'port_override': self.port_override,
28702            'proxy_cluster_id': self.proxy_cluster_id,
28703            'secret_store_id': self.secret_store_id,
28704            'server_fqdn': self.server_fqdn,
28705            'sid': self.sid,
28706            'subdomain': self.subdomain,
28707            'tags': self.tags,
28708            'username': self.username,
28709        }
28710
28711    @classmethod
28712    def from_dict(cls, d):
28713        return cls(
28714            bind_interface=d.get('bind_interface'),
28715            dc_hostnames=d.get('dc_hostnames'),
28716            egress_filter=d.get('egress_filter'),
28717            healthy=d.get('healthy'),
28718            hostname=d.get('hostname'),
28719            id=d.get('id'),
28720            identity_alias_healthcheck_username=d.get(
28721                'identity_alias_healthcheck_username'),
28722            identity_set_id=d.get('identity_set_id'),
28723            lock_required=d.get('lock_required'),
28724            name=d.get('name'),
28725            port=d.get('port'),
28726            port_override=d.get('port_override'),
28727            proxy_cluster_id=d.get('proxy_cluster_id'),
28728            secret_store_id=d.get('secret_store_id'),
28729            server_fqdn=d.get('server_fqdn'),
28730            sid=d.get('sid'),
28731            subdomain=d.get('subdomain'),
28732            tags=d.get('tags'),
28733            username=d.get('username'),
28734        )
28735
28736
28737class RDSPostgresIAM:
28738    __slots__ = [
28739        'bind_interface',
28740        'database',
28741        'egress_filter',
28742        'healthy',
28743        'hostname',
28744        'id',
28745        'name',
28746        'override_database',
28747        'port',
28748        'port_override',
28749        'proxy_cluster_id',
28750        'region',
28751        'role_assumption_arn',
28752        'secret_store_id',
28753        'subdomain',
28754        'tags',
28755        'username',
28756    ]
28757
28758    def __init__(
28759        self,
28760        bind_interface=None,
28761        database=None,
28762        egress_filter=None,
28763        healthy=None,
28764        hostname=None,
28765        id=None,
28766        name=None,
28767        override_database=None,
28768        port=None,
28769        port_override=None,
28770        proxy_cluster_id=None,
28771        region=None,
28772        role_assumption_arn=None,
28773        secret_store_id=None,
28774        subdomain=None,
28775        tags=None,
28776        username=None,
28777    ):
28778        self.bind_interface = bind_interface if bind_interface is not None else ''
28779        '''
28780         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28781        '''
28782        self.database = database if database is not None else ''
28783        '''
28784         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28785        '''
28786        self.egress_filter = egress_filter if egress_filter is not None else ''
28787        '''
28788         A filter applied to the routing logic to pin datasource to nodes.
28789        '''
28790        self.healthy = healthy if healthy is not None else False
28791        '''
28792         True if the datasource is reachable and the credentials are valid.
28793        '''
28794        self.hostname = hostname if hostname is not None else ''
28795        '''
28796         The host to dial to initiate a connection from the egress node to this resource.
28797        '''
28798        self.id = id if id is not None else ''
28799        '''
28800         Unique identifier of the Resource.
28801        '''
28802        self.name = name if name is not None else ''
28803        '''
28804         Unique human-readable name of the Resource.
28805        '''
28806        self.override_database = override_database if override_database is not None else False
28807        '''
28808         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28809        '''
28810        self.port = port if port is not None else 0
28811        '''
28812         The port to dial to initiate a connection from the egress node to this resource.
28813        '''
28814        self.port_override = port_override if port_override is not None else 0
28815        '''
28816         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28817        '''
28818        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28819        '''
28820         ID of the proxy cluster for this resource, if any.
28821        '''
28822        self.region = region if region is not None else ''
28823        '''
28824         The AWS region to connect to.
28825        '''
28826        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
28827        '''
28828         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
28829        '''
28830        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28831        '''
28832         ID of the secret store containing credentials for this resource, if any.
28833        '''
28834        self.subdomain = subdomain if subdomain is not None else ''
28835        '''
28836         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28837        '''
28838        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28839        '''
28840         Tags is a map of key, value pairs.
28841        '''
28842        self.username = username if username is not None else ''
28843        '''
28844         The username to authenticate with.
28845        '''
28846
28847    def __repr__(self):
28848        return '<sdm.RDSPostgresIAM ' + \
28849            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28850            'database: ' + repr(self.database) + ' ' +\
28851            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28852            'healthy: ' + repr(self.healthy) + ' ' +\
28853            'hostname: ' + repr(self.hostname) + ' ' +\
28854            'id: ' + repr(self.id) + ' ' +\
28855            'name: ' + repr(self.name) + ' ' +\
28856            'override_database: ' + repr(self.override_database) + ' ' +\
28857            'port: ' + repr(self.port) + ' ' +\
28858            'port_override: ' + repr(self.port_override) + ' ' +\
28859            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28860            'region: ' + repr(self.region) + ' ' +\
28861            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
28862            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28863            'subdomain: ' + repr(self.subdomain) + ' ' +\
28864            'tags: ' + repr(self.tags) + ' ' +\
28865            'username: ' + repr(self.username) + ' ' +\
28866            '>'
28867
28868    def to_dict(self):
28869        return {
28870            'bind_interface': self.bind_interface,
28871            'database': self.database,
28872            'egress_filter': self.egress_filter,
28873            'healthy': self.healthy,
28874            'hostname': self.hostname,
28875            'id': self.id,
28876            'name': self.name,
28877            'override_database': self.override_database,
28878            'port': self.port,
28879            'port_override': self.port_override,
28880            'proxy_cluster_id': self.proxy_cluster_id,
28881            'region': self.region,
28882            'role_assumption_arn': self.role_assumption_arn,
28883            'secret_store_id': self.secret_store_id,
28884            'subdomain': self.subdomain,
28885            'tags': self.tags,
28886            'username': self.username,
28887        }
28888
28889    @classmethod
28890    def from_dict(cls, d):
28891        return cls(
28892            bind_interface=d.get('bind_interface'),
28893            database=d.get('database'),
28894            egress_filter=d.get('egress_filter'),
28895            healthy=d.get('healthy'),
28896            hostname=d.get('hostname'),
28897            id=d.get('id'),
28898            name=d.get('name'),
28899            override_database=d.get('override_database'),
28900            port=d.get('port'),
28901            port_override=d.get('port_override'),
28902            proxy_cluster_id=d.get('proxy_cluster_id'),
28903            region=d.get('region'),
28904            role_assumption_arn=d.get('role_assumption_arn'),
28905            secret_store_id=d.get('secret_store_id'),
28906            subdomain=d.get('subdomain'),
28907            tags=d.get('tags'),
28908            username=d.get('username'),
28909        )
28910
28911
28912class RabbitMQAMQP091:
28913    __slots__ = [
28914        'bind_interface',
28915        'egress_filter',
28916        'healthy',
28917        'hostname',
28918        'id',
28919        'name',
28920        'password',
28921        'port',
28922        'port_override',
28923        'proxy_cluster_id',
28924        'secret_store_id',
28925        'subdomain',
28926        'tags',
28927        'tls_required',
28928        'username',
28929    ]
28930
28931    def __init__(
28932        self,
28933        bind_interface=None,
28934        egress_filter=None,
28935        healthy=None,
28936        hostname=None,
28937        id=None,
28938        name=None,
28939        password=None,
28940        port=None,
28941        port_override=None,
28942        proxy_cluster_id=None,
28943        secret_store_id=None,
28944        subdomain=None,
28945        tags=None,
28946        tls_required=None,
28947        username=None,
28948    ):
28949        self.bind_interface = bind_interface if bind_interface is not None else ''
28950        '''
28951         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28952        '''
28953        self.egress_filter = egress_filter if egress_filter is not None else ''
28954        '''
28955         A filter applied to the routing logic to pin datasource to nodes.
28956        '''
28957        self.healthy = healthy if healthy is not None else False
28958        '''
28959         True if the datasource is reachable and the credentials are valid.
28960        '''
28961        self.hostname = hostname if hostname is not None else ''
28962        '''
28963         The host to dial to initiate a connection from the egress node to this resource.
28964        '''
28965        self.id = id if id is not None else ''
28966        '''
28967         Unique identifier of the Resource.
28968        '''
28969        self.name = name if name is not None else ''
28970        '''
28971         Unique human-readable name of the Resource.
28972        '''
28973        self.password = password if password is not None else ''
28974        '''
28975         The password to authenticate with.
28976        '''
28977        self.port = port if port is not None else 0
28978        '''
28979         The port to dial to initiate a connection from the egress node to this resource.
28980        '''
28981        self.port_override = port_override if port_override is not None else 0
28982        '''
28983         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28984        '''
28985        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28986        '''
28987         ID of the proxy cluster for this resource, if any.
28988        '''
28989        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28990        '''
28991         ID of the secret store containing credentials for this resource, if any.
28992        '''
28993        self.subdomain = subdomain if subdomain is not None else ''
28994        '''
28995         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28996        '''
28997        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28998        '''
28999         Tags is a map of key, value pairs.
29000        '''
29001        self.tls_required = tls_required if tls_required is not None else False
29002        '''
29003         If set, TLS must be used to connect to this resource.
29004        '''
29005        self.username = username if username is not None else ''
29006        '''
29007         The username to authenticate with.
29008        '''
29009
29010    def __repr__(self):
29011        return '<sdm.RabbitMQAMQP091 ' + \
29012            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29013            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29014            'healthy: ' + repr(self.healthy) + ' ' +\
29015            'hostname: ' + repr(self.hostname) + ' ' +\
29016            'id: ' + repr(self.id) + ' ' +\
29017            'name: ' + repr(self.name) + ' ' +\
29018            'password: ' + repr(self.password) + ' ' +\
29019            'port: ' + repr(self.port) + ' ' +\
29020            'port_override: ' + repr(self.port_override) + ' ' +\
29021            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29022            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29023            'subdomain: ' + repr(self.subdomain) + ' ' +\
29024            'tags: ' + repr(self.tags) + ' ' +\
29025            'tls_required: ' + repr(self.tls_required) + ' ' +\
29026            'username: ' + repr(self.username) + ' ' +\
29027            '>'
29028
29029    def to_dict(self):
29030        return {
29031            'bind_interface': self.bind_interface,
29032            'egress_filter': self.egress_filter,
29033            'healthy': self.healthy,
29034            'hostname': self.hostname,
29035            'id': self.id,
29036            'name': self.name,
29037            'password': self.password,
29038            'port': self.port,
29039            'port_override': self.port_override,
29040            'proxy_cluster_id': self.proxy_cluster_id,
29041            'secret_store_id': self.secret_store_id,
29042            'subdomain': self.subdomain,
29043            'tags': self.tags,
29044            'tls_required': self.tls_required,
29045            'username': self.username,
29046        }
29047
29048    @classmethod
29049    def from_dict(cls, d):
29050        return cls(
29051            bind_interface=d.get('bind_interface'),
29052            egress_filter=d.get('egress_filter'),
29053            healthy=d.get('healthy'),
29054            hostname=d.get('hostname'),
29055            id=d.get('id'),
29056            name=d.get('name'),
29057            password=d.get('password'),
29058            port=d.get('port'),
29059            port_override=d.get('port_override'),
29060            proxy_cluster_id=d.get('proxy_cluster_id'),
29061            secret_store_id=d.get('secret_store_id'),
29062            subdomain=d.get('subdomain'),
29063            tags=d.get('tags'),
29064            tls_required=d.get('tls_required'),
29065            username=d.get('username'),
29066        )
29067
29068
29069class RateLimitMetadata:
29070    '''
29071         RateLimitMetadata contains information about remaining requests avaialable
29072     to the user over some timeframe.
29073    '''
29074    __slots__ = [
29075        'bucket',
29076        'limit',
29077        'remaining',
29078        'reset_at',
29079    ]
29080
29081    def __init__(
29082        self,
29083        bucket=None,
29084        limit=None,
29085        remaining=None,
29086        reset_at=None,
29087    ):
29088        self.bucket = bucket if bucket is not None else ''
29089        '''
29090         The bucket this user/token is associated with, which may be shared between
29091         multiple users/tokens.
29092        '''
29093        self.limit = limit if limit is not None else 0
29094        '''
29095         How many total requests the user/token is authorized to make before being
29096         rate limited.
29097        '''
29098        self.remaining = remaining if remaining is not None else 0
29099        '''
29100         How many remaining requests out of the limit are still avaialable.
29101        '''
29102        self.reset_at = reset_at if reset_at is not None else None
29103        '''
29104         The time when remaining will be reset to limit.
29105        '''
29106
29107    def __repr__(self):
29108        return '<sdm.RateLimitMetadata ' + \
29109            'bucket: ' + repr(self.bucket) + ' ' +\
29110            'limit: ' + repr(self.limit) + ' ' +\
29111            'remaining: ' + repr(self.remaining) + ' ' +\
29112            'reset_at: ' + repr(self.reset_at) + ' ' +\
29113            '>'
29114
29115    def to_dict(self):
29116        return {
29117            'bucket': self.bucket,
29118            'limit': self.limit,
29119            'remaining': self.remaining,
29120            'reset_at': self.reset_at,
29121        }
29122
29123    @classmethod
29124    def from_dict(cls, d):
29125        return cls(
29126            bucket=d.get('bucket'),
29127            limit=d.get('limit'),
29128            remaining=d.get('remaining'),
29129            reset_at=d.get('reset_at'),
29130        )
29131
29132
29133class RawTCP:
29134    __slots__ = [
29135        'bind_interface',
29136        'egress_filter',
29137        'healthy',
29138        'hostname',
29139        'id',
29140        'name',
29141        'port',
29142        'port_override',
29143        'proxy_cluster_id',
29144        'secret_store_id',
29145        'subdomain',
29146        'tags',
29147    ]
29148
29149    def __init__(
29150        self,
29151        bind_interface=None,
29152        egress_filter=None,
29153        healthy=None,
29154        hostname=None,
29155        id=None,
29156        name=None,
29157        port=None,
29158        port_override=None,
29159        proxy_cluster_id=None,
29160        secret_store_id=None,
29161        subdomain=None,
29162        tags=None,
29163    ):
29164        self.bind_interface = bind_interface if bind_interface is not None else ''
29165        '''
29166         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29167        '''
29168        self.egress_filter = egress_filter if egress_filter is not None else ''
29169        '''
29170         A filter applied to the routing logic to pin datasource to nodes.
29171        '''
29172        self.healthy = healthy if healthy is not None else False
29173        '''
29174         True if the datasource is reachable and the credentials are valid.
29175        '''
29176        self.hostname = hostname if hostname is not None else ''
29177        '''
29178         The host to dial to initiate a connection from the egress node to this resource.
29179        '''
29180        self.id = id if id is not None else ''
29181        '''
29182         Unique identifier of the Resource.
29183        '''
29184        self.name = name if name is not None else ''
29185        '''
29186         Unique human-readable name of the Resource.
29187        '''
29188        self.port = port if port is not None else 0
29189        '''
29190         The port to dial to initiate a connection from the egress node to this resource.
29191        '''
29192        self.port_override = port_override if port_override is not None else 0
29193        '''
29194         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29195        '''
29196        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29197        '''
29198         ID of the proxy cluster for this resource, if any.
29199        '''
29200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29201        '''
29202         ID of the secret store containing credentials for this resource, if any.
29203        '''
29204        self.subdomain = subdomain if subdomain is not None else ''
29205        '''
29206         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29207        '''
29208        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29209        '''
29210         Tags is a map of key, value pairs.
29211        '''
29212
29213    def __repr__(self):
29214        return '<sdm.RawTCP ' + \
29215            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29216            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29217            'healthy: ' + repr(self.healthy) + ' ' +\
29218            'hostname: ' + repr(self.hostname) + ' ' +\
29219            'id: ' + repr(self.id) + ' ' +\
29220            'name: ' + repr(self.name) + ' ' +\
29221            'port: ' + repr(self.port) + ' ' +\
29222            'port_override: ' + repr(self.port_override) + ' ' +\
29223            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29224            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29225            'subdomain: ' + repr(self.subdomain) + ' ' +\
29226            'tags: ' + repr(self.tags) + ' ' +\
29227            '>'
29228
29229    def to_dict(self):
29230        return {
29231            'bind_interface': self.bind_interface,
29232            'egress_filter': self.egress_filter,
29233            'healthy': self.healthy,
29234            'hostname': self.hostname,
29235            'id': self.id,
29236            'name': self.name,
29237            'port': self.port,
29238            'port_override': self.port_override,
29239            'proxy_cluster_id': self.proxy_cluster_id,
29240            'secret_store_id': self.secret_store_id,
29241            'subdomain': self.subdomain,
29242            'tags': self.tags,
29243        }
29244
29245    @classmethod
29246    def from_dict(cls, d):
29247        return cls(
29248            bind_interface=d.get('bind_interface'),
29249            egress_filter=d.get('egress_filter'),
29250            healthy=d.get('healthy'),
29251            hostname=d.get('hostname'),
29252            id=d.get('id'),
29253            name=d.get('name'),
29254            port=d.get('port'),
29255            port_override=d.get('port_override'),
29256            proxy_cluster_id=d.get('proxy_cluster_id'),
29257            secret_store_id=d.get('secret_store_id'),
29258            subdomain=d.get('subdomain'),
29259            tags=d.get('tags'),
29260        )
29261
29262
29263class Redis:
29264    __slots__ = [
29265        'bind_interface',
29266        'egress_filter',
29267        'healthy',
29268        'hostname',
29269        'id',
29270        'name',
29271        'password',
29272        'port',
29273        'port_override',
29274        'proxy_cluster_id',
29275        'secret_store_id',
29276        'subdomain',
29277        'tags',
29278        'tls_required',
29279        'username',
29280    ]
29281
29282    def __init__(
29283        self,
29284        bind_interface=None,
29285        egress_filter=None,
29286        healthy=None,
29287        hostname=None,
29288        id=None,
29289        name=None,
29290        password=None,
29291        port=None,
29292        port_override=None,
29293        proxy_cluster_id=None,
29294        secret_store_id=None,
29295        subdomain=None,
29296        tags=None,
29297        tls_required=None,
29298        username=None,
29299    ):
29300        self.bind_interface = bind_interface if bind_interface is not None else ''
29301        '''
29302         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29303        '''
29304        self.egress_filter = egress_filter if egress_filter is not None else ''
29305        '''
29306         A filter applied to the routing logic to pin datasource to nodes.
29307        '''
29308        self.healthy = healthy if healthy is not None else False
29309        '''
29310         True if the datasource is reachable and the credentials are valid.
29311        '''
29312        self.hostname = hostname if hostname is not None else ''
29313        '''
29314         The host to dial to initiate a connection from the egress node to this resource.
29315        '''
29316        self.id = id if id is not None else ''
29317        '''
29318         Unique identifier of the Resource.
29319        '''
29320        self.name = name if name is not None else ''
29321        '''
29322         Unique human-readable name of the Resource.
29323        '''
29324        self.password = password if password is not None else ''
29325        '''
29326         The password to authenticate with.
29327        '''
29328        self.port = port if port is not None else 0
29329        '''
29330         The port to dial to initiate a connection from the egress node to this resource.
29331        '''
29332        self.port_override = port_override if port_override is not None else 0
29333        '''
29334         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29335        '''
29336        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29337        '''
29338         ID of the proxy cluster for this resource, if any.
29339        '''
29340        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29341        '''
29342         ID of the secret store containing credentials for this resource, if any.
29343        '''
29344        self.subdomain = subdomain if subdomain is not None else ''
29345        '''
29346         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29347        '''
29348        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29349        '''
29350         Tags is a map of key, value pairs.
29351        '''
29352        self.tls_required = tls_required if tls_required is not None else False
29353        '''
29354         If set, TLS must be used to connect to this resource.
29355        '''
29356        self.username = username if username is not None else ''
29357        '''
29358         The username to authenticate with.
29359        '''
29360
29361    def __repr__(self):
29362        return '<sdm.Redis ' + \
29363            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29364            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29365            'healthy: ' + repr(self.healthy) + ' ' +\
29366            'hostname: ' + repr(self.hostname) + ' ' +\
29367            'id: ' + repr(self.id) + ' ' +\
29368            'name: ' + repr(self.name) + ' ' +\
29369            'password: ' + repr(self.password) + ' ' +\
29370            'port: ' + repr(self.port) + ' ' +\
29371            'port_override: ' + repr(self.port_override) + ' ' +\
29372            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29373            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29374            'subdomain: ' + repr(self.subdomain) + ' ' +\
29375            'tags: ' + repr(self.tags) + ' ' +\
29376            'tls_required: ' + repr(self.tls_required) + ' ' +\
29377            'username: ' + repr(self.username) + ' ' +\
29378            '>'
29379
29380    def to_dict(self):
29381        return {
29382            'bind_interface': self.bind_interface,
29383            'egress_filter': self.egress_filter,
29384            'healthy': self.healthy,
29385            'hostname': self.hostname,
29386            'id': self.id,
29387            'name': self.name,
29388            'password': self.password,
29389            'port': self.port,
29390            'port_override': self.port_override,
29391            'proxy_cluster_id': self.proxy_cluster_id,
29392            'secret_store_id': self.secret_store_id,
29393            'subdomain': self.subdomain,
29394            'tags': self.tags,
29395            'tls_required': self.tls_required,
29396            'username': self.username,
29397        }
29398
29399    @classmethod
29400    def from_dict(cls, d):
29401        return cls(
29402            bind_interface=d.get('bind_interface'),
29403            egress_filter=d.get('egress_filter'),
29404            healthy=d.get('healthy'),
29405            hostname=d.get('hostname'),
29406            id=d.get('id'),
29407            name=d.get('name'),
29408            password=d.get('password'),
29409            port=d.get('port'),
29410            port_override=d.get('port_override'),
29411            proxy_cluster_id=d.get('proxy_cluster_id'),
29412            secret_store_id=d.get('secret_store_id'),
29413            subdomain=d.get('subdomain'),
29414            tags=d.get('tags'),
29415            tls_required=d.get('tls_required'),
29416            username=d.get('username'),
29417        )
29418
29419
29420class RedisCluster:
29421    __slots__ = [
29422        'bind_interface',
29423        'egress_filter',
29424        'healthy',
29425        'hostname',
29426        'id',
29427        'name',
29428        'password',
29429        'port',
29430        'port_override',
29431        'proxy_cluster_id',
29432        'secret_store_id',
29433        'subdomain',
29434        'tags',
29435        'tls_required',
29436        'username',
29437    ]
29438
29439    def __init__(
29440        self,
29441        bind_interface=None,
29442        egress_filter=None,
29443        healthy=None,
29444        hostname=None,
29445        id=None,
29446        name=None,
29447        password=None,
29448        port=None,
29449        port_override=None,
29450        proxy_cluster_id=None,
29451        secret_store_id=None,
29452        subdomain=None,
29453        tags=None,
29454        tls_required=None,
29455        username=None,
29456    ):
29457        self.bind_interface = bind_interface if bind_interface is not None else ''
29458        '''
29459         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29460        '''
29461        self.egress_filter = egress_filter if egress_filter is not None else ''
29462        '''
29463         A filter applied to the routing logic to pin datasource to nodes.
29464        '''
29465        self.healthy = healthy if healthy is not None else False
29466        '''
29467         True if the datasource is reachable and the credentials are valid.
29468        '''
29469        self.hostname = hostname if hostname is not None else ''
29470        '''
29471         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
29472        '''
29473        self.id = id if id is not None else ''
29474        '''
29475         Unique identifier of the Resource.
29476        '''
29477        self.name = name if name is not None else ''
29478        '''
29479         Unique human-readable name of the Resource.
29480        '''
29481        self.password = password if password is not None else ''
29482        '''
29483         The password to authenticate with.
29484        '''
29485        self.port = port if port is not None else 0
29486        '''
29487         The port to dial to initiate a connection from the egress node to this resource.
29488        '''
29489        self.port_override = port_override if port_override is not None else 0
29490        '''
29491         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29492        '''
29493        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29494        '''
29495         ID of the proxy cluster for this resource, if any.
29496        '''
29497        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29498        '''
29499         ID of the secret store containing credentials for this resource, if any.
29500        '''
29501        self.subdomain = subdomain if subdomain is not None else ''
29502        '''
29503         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29504        '''
29505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29506        '''
29507         Tags is a map of key, value pairs.
29508        '''
29509        self.tls_required = tls_required if tls_required is not None else False
29510        '''
29511         If set, TLS must be used to connect to this resource.
29512        '''
29513        self.username = username if username is not None else ''
29514        '''
29515         The username to authenticate with.
29516        '''
29517
29518    def __repr__(self):
29519        return '<sdm.RedisCluster ' + \
29520            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29521            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29522            'healthy: ' + repr(self.healthy) + ' ' +\
29523            'hostname: ' + repr(self.hostname) + ' ' +\
29524            'id: ' + repr(self.id) + ' ' +\
29525            'name: ' + repr(self.name) + ' ' +\
29526            'password: ' + repr(self.password) + ' ' +\
29527            'port: ' + repr(self.port) + ' ' +\
29528            'port_override: ' + repr(self.port_override) + ' ' +\
29529            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29530            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29531            'subdomain: ' + repr(self.subdomain) + ' ' +\
29532            'tags: ' + repr(self.tags) + ' ' +\
29533            'tls_required: ' + repr(self.tls_required) + ' ' +\
29534            'username: ' + repr(self.username) + ' ' +\
29535            '>'
29536
29537    def to_dict(self):
29538        return {
29539            'bind_interface': self.bind_interface,
29540            'egress_filter': self.egress_filter,
29541            'healthy': self.healthy,
29542            'hostname': self.hostname,
29543            'id': self.id,
29544            'name': self.name,
29545            'password': self.password,
29546            'port': self.port,
29547            'port_override': self.port_override,
29548            'proxy_cluster_id': self.proxy_cluster_id,
29549            'secret_store_id': self.secret_store_id,
29550            'subdomain': self.subdomain,
29551            'tags': self.tags,
29552            'tls_required': self.tls_required,
29553            'username': self.username,
29554        }
29555
29556    @classmethod
29557    def from_dict(cls, d):
29558        return cls(
29559            bind_interface=d.get('bind_interface'),
29560            egress_filter=d.get('egress_filter'),
29561            healthy=d.get('healthy'),
29562            hostname=d.get('hostname'),
29563            id=d.get('id'),
29564            name=d.get('name'),
29565            password=d.get('password'),
29566            port=d.get('port'),
29567            port_override=d.get('port_override'),
29568            proxy_cluster_id=d.get('proxy_cluster_id'),
29569            secret_store_id=d.get('secret_store_id'),
29570            subdomain=d.get('subdomain'),
29571            tags=d.get('tags'),
29572            tls_required=d.get('tls_required'),
29573            username=d.get('username'),
29574        )
29575
29576
29577class Redshift:
29578    __slots__ = [
29579        'bind_interface',
29580        'database',
29581        'egress_filter',
29582        'healthy',
29583        'hostname',
29584        'id',
29585        'name',
29586        'override_database',
29587        'password',
29588        'port',
29589        'port_override',
29590        'proxy_cluster_id',
29591        'secret_store_id',
29592        'subdomain',
29593        'tags',
29594        'username',
29595    ]
29596
29597    def __init__(
29598        self,
29599        bind_interface=None,
29600        database=None,
29601        egress_filter=None,
29602        healthy=None,
29603        hostname=None,
29604        id=None,
29605        name=None,
29606        override_database=None,
29607        password=None,
29608        port=None,
29609        port_override=None,
29610        proxy_cluster_id=None,
29611        secret_store_id=None,
29612        subdomain=None,
29613        tags=None,
29614        username=None,
29615    ):
29616        self.bind_interface = bind_interface if bind_interface is not None else ''
29617        '''
29618         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29619        '''
29620        self.database = database if database is not None else ''
29621        '''
29622         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29623        '''
29624        self.egress_filter = egress_filter if egress_filter is not None else ''
29625        '''
29626         A filter applied to the routing logic to pin datasource to nodes.
29627        '''
29628        self.healthy = healthy if healthy is not None else False
29629        '''
29630         True if the datasource is reachable and the credentials are valid.
29631        '''
29632        self.hostname = hostname if hostname is not None else ''
29633        '''
29634         The host to dial to initiate a connection from the egress node to this resource.
29635        '''
29636        self.id = id if id is not None else ''
29637        '''
29638         Unique identifier of the Resource.
29639        '''
29640        self.name = name if name is not None else ''
29641        '''
29642         Unique human-readable name of the Resource.
29643        '''
29644        self.override_database = override_database if override_database is not None else False
29645        '''
29646         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29647        '''
29648        self.password = password if password is not None else ''
29649        '''
29650         The password to authenticate with.
29651        '''
29652        self.port = port if port is not None else 0
29653        '''
29654         The port to dial to initiate a connection from the egress node to this resource.
29655        '''
29656        self.port_override = port_override if port_override is not None else 0
29657        '''
29658         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29659        '''
29660        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29661        '''
29662         ID of the proxy cluster for this resource, if any.
29663        '''
29664        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29665        '''
29666         ID of the secret store containing credentials for this resource, if any.
29667        '''
29668        self.subdomain = subdomain if subdomain is not None else ''
29669        '''
29670         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29671        '''
29672        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29673        '''
29674         Tags is a map of key, value pairs.
29675        '''
29676        self.username = username if username is not None else ''
29677        '''
29678         The username to authenticate with.
29679        '''
29680
29681    def __repr__(self):
29682        return '<sdm.Redshift ' + \
29683            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29684            'database: ' + repr(self.database) + ' ' +\
29685            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29686            'healthy: ' + repr(self.healthy) + ' ' +\
29687            'hostname: ' + repr(self.hostname) + ' ' +\
29688            'id: ' + repr(self.id) + ' ' +\
29689            'name: ' + repr(self.name) + ' ' +\
29690            'override_database: ' + repr(self.override_database) + ' ' +\
29691            'password: ' + repr(self.password) + ' ' +\
29692            'port: ' + repr(self.port) + ' ' +\
29693            'port_override: ' + repr(self.port_override) + ' ' +\
29694            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29695            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29696            'subdomain: ' + repr(self.subdomain) + ' ' +\
29697            'tags: ' + repr(self.tags) + ' ' +\
29698            'username: ' + repr(self.username) + ' ' +\
29699            '>'
29700
29701    def to_dict(self):
29702        return {
29703            'bind_interface': self.bind_interface,
29704            'database': self.database,
29705            'egress_filter': self.egress_filter,
29706            'healthy': self.healthy,
29707            'hostname': self.hostname,
29708            'id': self.id,
29709            'name': self.name,
29710            'override_database': self.override_database,
29711            'password': self.password,
29712            'port': self.port,
29713            'port_override': self.port_override,
29714            'proxy_cluster_id': self.proxy_cluster_id,
29715            'secret_store_id': self.secret_store_id,
29716            'subdomain': self.subdomain,
29717            'tags': self.tags,
29718            'username': self.username,
29719        }
29720
29721    @classmethod
29722    def from_dict(cls, d):
29723        return cls(
29724            bind_interface=d.get('bind_interface'),
29725            database=d.get('database'),
29726            egress_filter=d.get('egress_filter'),
29727            healthy=d.get('healthy'),
29728            hostname=d.get('hostname'),
29729            id=d.get('id'),
29730            name=d.get('name'),
29731            override_database=d.get('override_database'),
29732            password=d.get('password'),
29733            port=d.get('port'),
29734            port_override=d.get('port_override'),
29735            proxy_cluster_id=d.get('proxy_cluster_id'),
29736            secret_store_id=d.get('secret_store_id'),
29737            subdomain=d.get('subdomain'),
29738            tags=d.get('tags'),
29739            username=d.get('username'),
29740        )
29741
29742
29743class RedshiftIAM:
29744    __slots__ = [
29745        'bind_interface',
29746        'cluster_id',
29747        'database',
29748        'egress_filter',
29749        'healthy',
29750        'hostname',
29751        'id',
29752        'name',
29753        'override_database',
29754        'port',
29755        'port_override',
29756        'proxy_cluster_id',
29757        'region',
29758        'role_assumption_arn',
29759        'secret_store_id',
29760        'subdomain',
29761        'tags',
29762    ]
29763
29764    def __init__(
29765        self,
29766        bind_interface=None,
29767        cluster_id=None,
29768        database=None,
29769        egress_filter=None,
29770        healthy=None,
29771        hostname=None,
29772        id=None,
29773        name=None,
29774        override_database=None,
29775        port=None,
29776        port_override=None,
29777        proxy_cluster_id=None,
29778        region=None,
29779        role_assumption_arn=None,
29780        secret_store_id=None,
29781        subdomain=None,
29782        tags=None,
29783    ):
29784        self.bind_interface = bind_interface if bind_interface is not None else ''
29785        '''
29786         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29787        '''
29788        self.cluster_id = cluster_id if cluster_id is not None else ''
29789        '''
29790         Cluster Identified of Redshift cluster
29791        '''
29792        self.database = database if database is not None else ''
29793        '''
29794         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29795        '''
29796        self.egress_filter = egress_filter if egress_filter is not None else ''
29797        '''
29798         A filter applied to the routing logic to pin datasource to nodes.
29799        '''
29800        self.healthy = healthy if healthy is not None else False
29801        '''
29802         True if the datasource is reachable and the credentials are valid.
29803        '''
29804        self.hostname = hostname if hostname is not None else ''
29805        '''
29806         The host to dial to initiate a connection from the egress node to this resource.
29807        '''
29808        self.id = id if id is not None else ''
29809        '''
29810         Unique identifier of the Resource.
29811        '''
29812        self.name = name if name is not None else ''
29813        '''
29814         Unique human-readable name of the Resource.
29815        '''
29816        self.override_database = override_database if override_database is not None else False
29817        '''
29818         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29819        '''
29820        self.port = port if port is not None else 0
29821        '''
29822         The port to dial to initiate a connection from the egress node to this resource.
29823        '''
29824        self.port_override = port_override if port_override is not None else 0
29825        '''
29826         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29827        '''
29828        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29829        '''
29830         ID of the proxy cluster for this resource, if any.
29831        '''
29832        self.region = region if region is not None else ''
29833        '''
29834         The AWS region to connect to.
29835        '''
29836        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
29837        '''
29838         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
29839        '''
29840        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29841        '''
29842         ID of the secret store containing credentials for this resource, if any.
29843        '''
29844        self.subdomain = subdomain if subdomain is not None else ''
29845        '''
29846         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29847        '''
29848        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29849        '''
29850         Tags is a map of key, value pairs.
29851        '''
29852
29853    def __repr__(self):
29854        return '<sdm.RedshiftIAM ' + \
29855            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29856            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
29857            'database: ' + repr(self.database) + ' ' +\
29858            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29859            'healthy: ' + repr(self.healthy) + ' ' +\
29860            'hostname: ' + repr(self.hostname) + ' ' +\
29861            'id: ' + repr(self.id) + ' ' +\
29862            'name: ' + repr(self.name) + ' ' +\
29863            'override_database: ' + repr(self.override_database) + ' ' +\
29864            'port: ' + repr(self.port) + ' ' +\
29865            'port_override: ' + repr(self.port_override) + ' ' +\
29866            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29867            'region: ' + repr(self.region) + ' ' +\
29868            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
29869            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29870            'subdomain: ' + repr(self.subdomain) + ' ' +\
29871            'tags: ' + repr(self.tags) + ' ' +\
29872            '>'
29873
29874    def to_dict(self):
29875        return {
29876            'bind_interface': self.bind_interface,
29877            'cluster_id': self.cluster_id,
29878            'database': self.database,
29879            'egress_filter': self.egress_filter,
29880            'healthy': self.healthy,
29881            'hostname': self.hostname,
29882            'id': self.id,
29883            'name': self.name,
29884            'override_database': self.override_database,
29885            'port': self.port,
29886            'port_override': self.port_override,
29887            'proxy_cluster_id': self.proxy_cluster_id,
29888            'region': self.region,
29889            'role_assumption_arn': self.role_assumption_arn,
29890            'secret_store_id': self.secret_store_id,
29891            'subdomain': self.subdomain,
29892            'tags': self.tags,
29893        }
29894
29895    @classmethod
29896    def from_dict(cls, d):
29897        return cls(
29898            bind_interface=d.get('bind_interface'),
29899            cluster_id=d.get('cluster_id'),
29900            database=d.get('database'),
29901            egress_filter=d.get('egress_filter'),
29902            healthy=d.get('healthy'),
29903            hostname=d.get('hostname'),
29904            id=d.get('id'),
29905            name=d.get('name'),
29906            override_database=d.get('override_database'),
29907            port=d.get('port'),
29908            port_override=d.get('port_override'),
29909            proxy_cluster_id=d.get('proxy_cluster_id'),
29910            region=d.get('region'),
29911            role_assumption_arn=d.get('role_assumption_arn'),
29912            secret_store_id=d.get('secret_store_id'),
29913            subdomain=d.get('subdomain'),
29914            tags=d.get('tags'),
29915        )
29916
29917
29918class RedshiftServerlessIAM:
29919    __slots__ = [
29920        'bind_interface',
29921        'database',
29922        'egress_filter',
29923        'healthy',
29924        'hostname',
29925        'id',
29926        'name',
29927        'override_database',
29928        'port',
29929        'port_override',
29930        'proxy_cluster_id',
29931        'region',
29932        'role_assumption_arn',
29933        'secret_store_id',
29934        'subdomain',
29935        'tags',
29936        'workgroup',
29937    ]
29938
29939    def __init__(
29940        self,
29941        bind_interface=None,
29942        database=None,
29943        egress_filter=None,
29944        healthy=None,
29945        hostname=None,
29946        id=None,
29947        name=None,
29948        override_database=None,
29949        port=None,
29950        port_override=None,
29951        proxy_cluster_id=None,
29952        region=None,
29953        role_assumption_arn=None,
29954        secret_store_id=None,
29955        subdomain=None,
29956        tags=None,
29957        workgroup=None,
29958    ):
29959        self.bind_interface = bind_interface if bind_interface is not None else ''
29960        '''
29961         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29962        '''
29963        self.database = database if database is not None else ''
29964        '''
29965         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29966        '''
29967        self.egress_filter = egress_filter if egress_filter is not None else ''
29968        '''
29969         A filter applied to the routing logic to pin datasource to nodes.
29970        '''
29971        self.healthy = healthy if healthy is not None else False
29972        '''
29973         True if the datasource is reachable and the credentials are valid.
29974        '''
29975        self.hostname = hostname if hostname is not None else ''
29976        '''
29977         The host to dial to initiate a connection from the egress node to this resource.
29978        '''
29979        self.id = id if id is not None else ''
29980        '''
29981         Unique identifier of the Resource.
29982        '''
29983        self.name = name if name is not None else ''
29984        '''
29985         Unique human-readable name of the Resource.
29986        '''
29987        self.override_database = override_database if override_database is not None else False
29988        '''
29989         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29990        '''
29991        self.port = port if port is not None else 0
29992        '''
29993         The port to dial to initiate a connection from the egress node to this resource.
29994        '''
29995        self.port_override = port_override if port_override is not None else 0
29996        '''
29997         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29998        '''
29999        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30000        '''
30001         ID of the proxy cluster for this resource, if any.
30002        '''
30003        self.region = region if region is not None else ''
30004        '''
30005         The AWS region to connect to.
30006        '''
30007        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
30008        '''
30009         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
30010        '''
30011        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30012        '''
30013         ID of the secret store containing credentials for this resource, if any.
30014        '''
30015        self.subdomain = subdomain if subdomain is not None else ''
30016        '''
30017         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
30018        '''
30019        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30020        '''
30021         Tags is a map of key, value pairs.
30022        '''
30023        self.workgroup = workgroup if workgroup is not None else ''
30024        '''
30025         Workgroup name in the serverless Redshift
30026        '''
30027
30028    def __repr__(self):
30029        return '<sdm.RedshiftServerlessIAM ' + \
30030            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30031            'database: ' + repr(self.database) + ' ' +\
30032            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30033            'healthy: ' + repr(self.healthy) + ' ' +\
30034            'hostname: ' + repr(self.hostname) + ' ' +\
30035            'id: ' + repr(self.id) + ' ' +\
30036            'name: ' + repr(self.name) + ' ' +\
30037            'override_database: ' + repr(self.override_database) + ' ' +\
30038            'port: ' + repr(self.port) + ' ' +\
30039            'port_override: ' + repr(self.port_override) + ' ' +\
30040            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30041            'region: ' + repr(self.region) + ' ' +\
30042            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
30043            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30044            'subdomain: ' + repr(self.subdomain) + ' ' +\
30045            'tags: ' + repr(self.tags) + ' ' +\
30046            'workgroup: ' + repr(self.workgroup) + ' ' +\
30047            '>'
30048
30049    def to_dict(self):
30050        return {
30051            'bind_interface': self.bind_interface,
30052            'database': self.database,
30053            'egress_filter': self.egress_filter,
30054            'healthy': self.healthy,
30055            'hostname': self.hostname,
30056            'id': self.id,
30057            'name': self.name,
30058            'override_database': self.override_database,
30059            'port': self.port,
30060            'port_override': self.port_override,
30061            'proxy_cluster_id': self.proxy_cluster_id,
30062            'region': self.region,
30063            'role_assumption_arn': self.role_assumption_arn,
30064            'secret_store_id': self.secret_store_id,
30065            'subdomain': self.subdomain,
30066            'tags': self.tags,
30067            'workgroup': self.workgroup,
30068        }
30069
30070    @classmethod
30071    def from_dict(cls, d):
30072        return cls(
30073            bind_interface=d.get('bind_interface'),
30074            database=d.get('database'),
30075            egress_filter=d.get('egress_filter'),
30076            healthy=d.get('healthy'),
30077            hostname=d.get('hostname'),
30078            id=d.get('id'),
30079            name=d.get('name'),
30080            override_database=d.get('override_database'),
30081            port=d.get('port'),
30082            port_override=d.get('port_override'),
30083            proxy_cluster_id=d.get('proxy_cluster_id'),
30084            region=d.get('region'),
30085            role_assumption_arn=d.get('role_assumption_arn'),
30086            secret_store_id=d.get('secret_store_id'),
30087            subdomain=d.get('subdomain'),
30088            tags=d.get('tags'),
30089            workgroup=d.get('workgroup'),
30090        )
30091
30092
30093class Relay:
30094    '''
30095         Relay represents a StrongDM CLI installation running in relay mode.
30096    '''
30097    __slots__ = [
30098        'device',
30099        'gateway_filter',
30100        'id',
30101        'location',
30102        'maintenance_windows',
30103        'name',
30104        'state',
30105        'tags',
30106        'version',
30107    ]
30108
30109    def __init__(
30110        self,
30111        device=None,
30112        gateway_filter=None,
30113        id=None,
30114        location=None,
30115        maintenance_windows=None,
30116        name=None,
30117        state=None,
30118        tags=None,
30119        version=None,
30120    ):
30121        self.device = device if device is not None else ''
30122        '''
30123         Device is a read only device name uploaded by the gateway process when
30124         it comes online.
30125        '''
30126        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
30127        '''
30128         GatewayFilter can be used to restrict the peering between relays and
30129         gateways. Deprecated.
30130        '''
30131        self.id = id if id is not None else ''
30132        '''
30133         Unique identifier of the Relay.
30134        '''
30135        self.location = location if location is not None else ''
30136        '''
30137         Location is a read only network location uploaded by the gateway process
30138         when it comes online.
30139        '''
30140        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
30141        '''
30142         Maintenance Windows define when this node is allowed to restart. If a node
30143         is requested to restart, it will check each window to determine if any of
30144         them permit it to restart, and if any do, it will. This check is repeated
30145         per window until the restart is successfully completed.
30146         
30147         If not set here, may be set on the command line or via an environment variable
30148         on the process itself; any server setting will take precedence over local
30149         settings. This setting is ineffective for nodes below version 38.44.0.
30150         
30151         If this setting is not applied via this remote configuration or via local
30152         configuration, the default setting is used: always allow restarts if serving
30153         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
30154        '''
30155        self.name = name if name is not None else ''
30156        '''
30157         Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
30158        '''
30159        self.state = state if state is not None else ''
30160        '''
30161         The current state of the relay, one of the NodeState constants.
30162        '''
30163        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30164        '''
30165         Tags is a map of key, value pairs.
30166        '''
30167        self.version = version if version is not None else ''
30168        '''
30169         Version is a read only sdm binary version uploaded by the gateway process
30170         when it comes online.
30171        '''
30172
30173    def __repr__(self):
30174        return '<sdm.Relay ' + \
30175            'device: ' + repr(self.device) + ' ' +\
30176            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
30177            'id: ' + repr(self.id) + ' ' +\
30178            'location: ' + repr(self.location) + ' ' +\
30179            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
30180            'name: ' + repr(self.name) + ' ' +\
30181            'state: ' + repr(self.state) + ' ' +\
30182            'tags: ' + repr(self.tags) + ' ' +\
30183            'version: ' + repr(self.version) + ' ' +\
30184            '>'
30185
30186    def to_dict(self):
30187        return {
30188            'device': self.device,
30189            'gateway_filter': self.gateway_filter,
30190            'id': self.id,
30191            'location': self.location,
30192            'maintenance_windows': self.maintenance_windows,
30193            'name': self.name,
30194            'state': self.state,
30195            'tags': self.tags,
30196            'version': self.version,
30197        }
30198
30199    @classmethod
30200    def from_dict(cls, d):
30201        return cls(
30202            device=d.get('device'),
30203            gateway_filter=d.get('gateway_filter'),
30204            id=d.get('id'),
30205            location=d.get('location'),
30206            maintenance_windows=d.get('maintenance_windows'),
30207            name=d.get('name'),
30208            state=d.get('state'),
30209            tags=d.get('tags'),
30210            version=d.get('version'),
30211        )
30212
30213
30214class RemoteIdentity:
30215    '''
30216         RemoteIdentities define the username to be used for a specific account
30217     when connecting to a remote resource using that group.
30218    '''
30219    __slots__ = [
30220        'account_id',
30221        'id',
30222        'remote_identity_group_id',
30223        'username',
30224    ]
30225
30226    def __init__(
30227        self,
30228        account_id=None,
30229        id=None,
30230        remote_identity_group_id=None,
30231        username=None,
30232    ):
30233        self.account_id = account_id if account_id is not None else ''
30234        '''
30235         The account for this remote identity.
30236        '''
30237        self.id = id if id is not None else ''
30238        '''
30239         Unique identifier of the RemoteIdentity.
30240        '''
30241        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
30242        '''
30243         The remote identity group.
30244        '''
30245        self.username = username if username is not None else ''
30246        '''
30247         The username to be used as the remote identity for this account.
30248        '''
30249
30250    def __repr__(self):
30251        return '<sdm.RemoteIdentity ' + \
30252            'account_id: ' + repr(self.account_id) + ' ' +\
30253            'id: ' + repr(self.id) + ' ' +\
30254            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
30255            'username: ' + repr(self.username) + ' ' +\
30256            '>'
30257
30258    def to_dict(self):
30259        return {
30260            'account_id': self.account_id,
30261            'id': self.id,
30262            'remote_identity_group_id': self.remote_identity_group_id,
30263            'username': self.username,
30264        }
30265
30266    @classmethod
30267    def from_dict(cls, d):
30268        return cls(
30269            account_id=d.get('account_id'),
30270            id=d.get('id'),
30271            remote_identity_group_id=d.get('remote_identity_group_id'),
30272            username=d.get('username'),
30273        )
30274
30275
30276class RemoteIdentityCreateResponse:
30277    '''
30278         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
30279    '''
30280    __slots__ = [
30281        'meta',
30282        'rate_limit',
30283        'remote_identity',
30284    ]
30285
30286    def __init__(
30287        self,
30288        meta=None,
30289        rate_limit=None,
30290        remote_identity=None,
30291    ):
30292        self.meta = meta if meta is not None else None
30293        '''
30294         Reserved for future use.
30295        '''
30296        self.rate_limit = rate_limit if rate_limit is not None else None
30297        '''
30298         Rate limit information.
30299        '''
30300        self.remote_identity = remote_identity if remote_identity is not None else None
30301        '''
30302         The created RemoteIdentity.
30303        '''
30304
30305    def __repr__(self):
30306        return '<sdm.RemoteIdentityCreateResponse ' + \
30307            'meta: ' + repr(self.meta) + ' ' +\
30308            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30309            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30310            '>'
30311
30312    def to_dict(self):
30313        return {
30314            'meta': self.meta,
30315            'rate_limit': self.rate_limit,
30316            'remote_identity': self.remote_identity,
30317        }
30318
30319    @classmethod
30320    def from_dict(cls, d):
30321        return cls(
30322            meta=d.get('meta'),
30323            rate_limit=d.get('rate_limit'),
30324            remote_identity=d.get('remote_identity'),
30325        )
30326
30327
30328class RemoteIdentityDeleteResponse:
30329    '''
30330         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
30331    '''
30332    __slots__ = [
30333        'meta',
30334        'rate_limit',
30335    ]
30336
30337    def __init__(
30338        self,
30339        meta=None,
30340        rate_limit=None,
30341    ):
30342        self.meta = meta if meta is not None else None
30343        '''
30344         Reserved for future use.
30345        '''
30346        self.rate_limit = rate_limit if rate_limit is not None else None
30347        '''
30348         Rate limit information.
30349        '''
30350
30351    def __repr__(self):
30352        return '<sdm.RemoteIdentityDeleteResponse ' + \
30353            'meta: ' + repr(self.meta) + ' ' +\
30354            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30355            '>'
30356
30357    def to_dict(self):
30358        return {
30359            'meta': self.meta,
30360            'rate_limit': self.rate_limit,
30361        }
30362
30363    @classmethod
30364    def from_dict(cls, d):
30365        return cls(
30366            meta=d.get('meta'),
30367            rate_limit=d.get('rate_limit'),
30368        )
30369
30370
30371class RemoteIdentityGetResponse:
30372    '''
30373         RemoteIdentityGetResponse returns a requested RemoteIdentity.
30374    '''
30375    __slots__ = [
30376        'meta',
30377        'rate_limit',
30378        'remote_identity',
30379    ]
30380
30381    def __init__(
30382        self,
30383        meta=None,
30384        rate_limit=None,
30385        remote_identity=None,
30386    ):
30387        self.meta = meta if meta is not None else None
30388        '''
30389         Reserved for future use.
30390        '''
30391        self.rate_limit = rate_limit if rate_limit is not None else None
30392        '''
30393         Rate limit information.
30394        '''
30395        self.remote_identity = remote_identity if remote_identity is not None else None
30396        '''
30397         The requested RemoteIdentity.
30398        '''
30399
30400    def __repr__(self):
30401        return '<sdm.RemoteIdentityGetResponse ' + \
30402            'meta: ' + repr(self.meta) + ' ' +\
30403            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30404            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30405            '>'
30406
30407    def to_dict(self):
30408        return {
30409            'meta': self.meta,
30410            'rate_limit': self.rate_limit,
30411            'remote_identity': self.remote_identity,
30412        }
30413
30414    @classmethod
30415    def from_dict(cls, d):
30416        return cls(
30417            meta=d.get('meta'),
30418            rate_limit=d.get('rate_limit'),
30419            remote_identity=d.get('remote_identity'),
30420        )
30421
30422
30423class RemoteIdentityGroup:
30424    '''
30425         A RemoteIdentityGroup defines a group of remote identities.
30426    '''
30427    __slots__ = [
30428        'id',
30429        'name',
30430    ]
30431
30432    def __init__(
30433        self,
30434        id=None,
30435        name=None,
30436    ):
30437        self.id = id if id is not None else ''
30438        '''
30439         Unique identifier of the RemoteIdentityGroup.
30440        '''
30441        self.name = name if name is not None else ''
30442        '''
30443         Unique human-readable name of the RemoteIdentityGroup.
30444        '''
30445
30446    def __repr__(self):
30447        return '<sdm.RemoteIdentityGroup ' + \
30448            'id: ' + repr(self.id) + ' ' +\
30449            'name: ' + repr(self.name) + ' ' +\
30450            '>'
30451
30452    def to_dict(self):
30453        return {
30454            'id': self.id,
30455            'name': self.name,
30456        }
30457
30458    @classmethod
30459    def from_dict(cls, d):
30460        return cls(
30461            id=d.get('id'),
30462            name=d.get('name'),
30463        )
30464
30465
30466class RemoteIdentityGroupGetResponse:
30467    '''
30468         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
30469    '''
30470    __slots__ = [
30471        'meta',
30472        'rate_limit',
30473        'remote_identity_group',
30474    ]
30475
30476    def __init__(
30477        self,
30478        meta=None,
30479        rate_limit=None,
30480        remote_identity_group=None,
30481    ):
30482        self.meta = meta if meta is not None else None
30483        '''
30484         Reserved for future use.
30485        '''
30486        self.rate_limit = rate_limit if rate_limit is not None else None
30487        '''
30488         Rate limit information.
30489        '''
30490        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
30491        '''
30492         The requested RemoteIdentityGroup.
30493        '''
30494
30495    def __repr__(self):
30496        return '<sdm.RemoteIdentityGroupGetResponse ' + \
30497            'meta: ' + repr(self.meta) + ' ' +\
30498            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30499            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
30500            '>'
30501
30502    def to_dict(self):
30503        return {
30504            'meta': self.meta,
30505            'rate_limit': self.rate_limit,
30506            'remote_identity_group': self.remote_identity_group,
30507        }
30508
30509    @classmethod
30510    def from_dict(cls, d):
30511        return cls(
30512            meta=d.get('meta'),
30513            rate_limit=d.get('rate_limit'),
30514            remote_identity_group=d.get('remote_identity_group'),
30515        )
30516
30517
30518class RemoteIdentityGroupHistory:
30519    '''
30520         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
30521     where every change (create, update and delete) to a RemoteIdentityGroup produces an
30522     RemoteIdentityGroupHistory record.
30523    '''
30524    __slots__ = [
30525        'activity_id',
30526        'deleted_at',
30527        'remote_identity_group',
30528        'timestamp',
30529    ]
30530
30531    def __init__(
30532        self,
30533        activity_id=None,
30534        deleted_at=None,
30535        remote_identity_group=None,
30536        timestamp=None,
30537    ):
30538        self.activity_id = activity_id if activity_id is not None else ''
30539        '''
30540         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
30541         May be empty for some system-initiated updates.
30542        '''
30543        self.deleted_at = deleted_at if deleted_at is not None else None
30544        '''
30545         If this RemoteIdentityGroup was deleted, the time it was deleted.
30546        '''
30547        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
30548        '''
30549         The complete RemoteIdentityGroup state at this time.
30550        '''
30551        self.timestamp = timestamp if timestamp is not None else None
30552        '''
30553         The time at which the RemoteIdentityGroup state was recorded.
30554        '''
30555
30556    def __repr__(self):
30557        return '<sdm.RemoteIdentityGroupHistory ' + \
30558            'activity_id: ' + repr(self.activity_id) + ' ' +\
30559            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
30560            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
30561            'timestamp: ' + repr(self.timestamp) + ' ' +\
30562            '>'
30563
30564    def to_dict(self):
30565        return {
30566            'activity_id': self.activity_id,
30567            'deleted_at': self.deleted_at,
30568            'remote_identity_group': self.remote_identity_group,
30569            'timestamp': self.timestamp,
30570        }
30571
30572    @classmethod
30573    def from_dict(cls, d):
30574        return cls(
30575            activity_id=d.get('activity_id'),
30576            deleted_at=d.get('deleted_at'),
30577            remote_identity_group=d.get('remote_identity_group'),
30578            timestamp=d.get('timestamp'),
30579        )
30580
30581
30582class RemoteIdentityHistory:
30583    '''
30584         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
30585     where every change (create, update and delete) to a RemoteIdentity produces an
30586     RemoteIdentityHistory record.
30587    '''
30588    __slots__ = [
30589        'activity_id',
30590        'deleted_at',
30591        'remote_identity',
30592        'timestamp',
30593    ]
30594
30595    def __init__(
30596        self,
30597        activity_id=None,
30598        deleted_at=None,
30599        remote_identity=None,
30600        timestamp=None,
30601    ):
30602        self.activity_id = activity_id if activity_id is not None else ''
30603        '''
30604         The unique identifier of the Activity that produced this change to the RemoteIdentity.
30605         May be empty for some system-initiated updates.
30606        '''
30607        self.deleted_at = deleted_at if deleted_at is not None else None
30608        '''
30609         If this RemoteIdentity was deleted, the time it was deleted.
30610        '''
30611        self.remote_identity = remote_identity if remote_identity is not None else None
30612        '''
30613         The complete RemoteIdentity state at this time.
30614        '''
30615        self.timestamp = timestamp if timestamp is not None else None
30616        '''
30617         The time at which the RemoteIdentity state was recorded.
30618        '''
30619
30620    def __repr__(self):
30621        return '<sdm.RemoteIdentityHistory ' + \
30622            'activity_id: ' + repr(self.activity_id) + ' ' +\
30623            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
30624            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30625            'timestamp: ' + repr(self.timestamp) + ' ' +\
30626            '>'
30627
30628    def to_dict(self):
30629        return {
30630            'activity_id': self.activity_id,
30631            'deleted_at': self.deleted_at,
30632            'remote_identity': self.remote_identity,
30633            'timestamp': self.timestamp,
30634        }
30635
30636    @classmethod
30637    def from_dict(cls, d):
30638        return cls(
30639            activity_id=d.get('activity_id'),
30640            deleted_at=d.get('deleted_at'),
30641            remote_identity=d.get('remote_identity'),
30642            timestamp=d.get('timestamp'),
30643        )
30644
30645
30646class RemoteIdentityUpdateResponse:
30647    '''
30648         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
30649     a RemoteIdentityUpdateRequest.
30650    '''
30651    __slots__ = [
30652        'meta',
30653        'rate_limit',
30654        'remote_identity',
30655    ]
30656
30657    def __init__(
30658        self,
30659        meta=None,
30660        rate_limit=None,
30661        remote_identity=None,
30662    ):
30663        self.meta = meta if meta is not None else None
30664        '''
30665         Reserved for future use.
30666        '''
30667        self.rate_limit = rate_limit if rate_limit is not None else None
30668        '''
30669         Rate limit information.
30670        '''
30671        self.remote_identity = remote_identity if remote_identity is not None else None
30672        '''
30673         The updated RemoteIdentity.
30674        '''
30675
30676    def __repr__(self):
30677        return '<sdm.RemoteIdentityUpdateResponse ' + \
30678            'meta: ' + repr(self.meta) + ' ' +\
30679            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30680            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30681            '>'
30682
30683    def to_dict(self):
30684        return {
30685            'meta': self.meta,
30686            'rate_limit': self.rate_limit,
30687            'remote_identity': self.remote_identity,
30688        }
30689
30690    @classmethod
30691    def from_dict(cls, d):
30692        return cls(
30693            meta=d.get('meta'),
30694            rate_limit=d.get('rate_limit'),
30695            remote_identity=d.get('remote_identity'),
30696        )
30697
30698
30699class ReplayChunk:
30700    '''
30701         A ReplayChunk represents a single "chunk" of data from the query replay.
30702    '''
30703    __slots__ = [
30704        'data',
30705        'events',
30706        'symmetric_key',
30707    ]
30708
30709    def __init__(
30710        self,
30711        data=None,
30712        events=None,
30713        symmetric_key=None,
30714    ):
30715        self.data = data if data is not None else b''
30716        '''
30717         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
30718        '''
30719        self.events = events if events is not None else []
30720        '''
30721         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
30722         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
30723        '''
30724        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
30725        '''
30726         If the data is encrypted, this contains the encrypted symmetric key
30727        '''
30728
30729    def __repr__(self):
30730        return '<sdm.ReplayChunk ' + \
30731            'data: ' + repr(self.data) + ' ' +\
30732            'events: ' + repr(self.events) + ' ' +\
30733            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
30734            '>'
30735
30736    def to_dict(self):
30737        return {
30738            'data': self.data,
30739            'events': self.events,
30740            'symmetric_key': self.symmetric_key,
30741        }
30742
30743    @classmethod
30744    def from_dict(cls, d):
30745        return cls(
30746            data=d.get('data'),
30747            events=d.get('events'),
30748            symmetric_key=d.get('symmetric_key'),
30749        )
30750
30751
30752class ReplayChunkEvent:
30753    '''
30754         A ReplayChunkEvent represents a single event within a query replay.
30755     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
30756    '''
30757    __slots__ = [
30758        'data',
30759        'duration',
30760    ]
30761
30762    def __init__(
30763        self,
30764        data=None,
30765        duration=None,
30766    ):
30767        self.data = data if data is not None else b''
30768        '''
30769         The raw data of the ReplayChunkEvent.
30770        '''
30771        self.duration = duration if duration is not None else None
30772        '''
30773         The time duration over which the data in this ReplayChunkEvent was transferred.
30774        '''
30775
30776    def __repr__(self):
30777        return '<sdm.ReplayChunkEvent ' + \
30778            'data: ' + repr(self.data) + ' ' +\
30779            'duration: ' + repr(self.duration) + ' ' +\
30780            '>'
30781
30782    def to_dict(self):
30783        return {
30784            'data': self.data,
30785            'duration': self.duration,
30786        }
30787
30788    @classmethod
30789    def from_dict(cls, d):
30790        return cls(
30791            data=d.get('data'),
30792            duration=d.get('duration'),
30793        )
30794
30795
30796class RequestableAccountEntitlement:
30797    '''
30798         RequestableAccountEntitlement represents an individual resource that an Account is permitted to request access to.
30799    '''
30800    __slots__ = [
30801        'group_id',
30802        'mapped_identities',
30803        'origin_id',
30804        'resource_id',
30805    ]
30806
30807    def __init__(
30808        self,
30809        group_id=None,
30810        mapped_identities=None,
30811        origin_id=None,
30812        resource_id=None,
30813    ):
30814        self.group_id = group_id if group_id is not None else ''
30815        '''
30816         The unique identifier of the group associated with this entitlement, if any.
30817        '''
30818        self.mapped_identities = mapped_identities if mapped_identities is not None else None
30819        '''
30820         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
30821        '''
30822        self.origin_id = origin_id if origin_id is not None else ''
30823        '''
30824         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
30825        '''
30826        self.resource_id = resource_id if resource_id is not None else ''
30827        '''
30828         The unique identifier of the Resource to which access can be requested.
30829        '''
30830
30831    def __repr__(self):
30832        return '<sdm.RequestableAccountEntitlement ' + \
30833            'group_id: ' + repr(self.group_id) + ' ' +\
30834            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
30835            'origin_id: ' + repr(self.origin_id) + ' ' +\
30836            'resource_id: ' + repr(self.resource_id) + ' ' +\
30837            '>'
30838
30839    def to_dict(self):
30840        return {
30841            'group_id': self.group_id,
30842            'mapped_identities': self.mapped_identities,
30843            'origin_id': self.origin_id,
30844            'resource_id': self.resource_id,
30845        }
30846
30847    @classmethod
30848    def from_dict(cls, d):
30849        return cls(
30850            group_id=d.get('group_id'),
30851            mapped_identities=d.get('mapped_identities'),
30852            origin_id=d.get('origin_id'),
30853            resource_id=d.get('resource_id'),
30854        )
30855
30856
30857class RequestableResource:
30858    '''
30859         RequestableResource is a resource that can be requested via an AccessRequestConfig
30860    '''
30861    __slots__ = [
30862        'access',
30863        'authentication',
30864        'healthy',
30865        'id',
30866        'name',
30867        'tags',
30868        'type',
30869    ]
30870
30871    def __init__(
30872        self,
30873        access=None,
30874        authentication=None,
30875        healthy=None,
30876        id=None,
30877        name=None,
30878        tags=None,
30879        type=None,
30880    ):
30881        self.access = access if access is not None else ''
30882        '''
30883         The current state of the user's access to the resources
30884        '''
30885        self.authentication = authentication if authentication is not None else ''
30886        '''
30887         The type of authentication for the resource
30888        '''
30889        self.healthy = healthy if healthy is not None else False
30890        '''
30891         The health check status of the reasource
30892        '''
30893        self.id = id if id is not None else ''
30894        '''
30895         The resource id.
30896        '''
30897        self.name = name if name is not None else ''
30898        '''
30899         The resource name.
30900        '''
30901        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30902        '''
30903         Any tags attached to this resource
30904        '''
30905        self.type = type if type is not None else ''
30906        '''
30907         The resource type
30908        '''
30909
30910    def __repr__(self):
30911        return '<sdm.RequestableResource ' + \
30912            'access: ' + repr(self.access) + ' ' +\
30913            'authentication: ' + repr(self.authentication) + ' ' +\
30914            'healthy: ' + repr(self.healthy) + ' ' +\
30915            'id: ' + repr(self.id) + ' ' +\
30916            'name: ' + repr(self.name) + ' ' +\
30917            'tags: ' + repr(self.tags) + ' ' +\
30918            'type: ' + repr(self.type) + ' ' +\
30919            '>'
30920
30921    def to_dict(self):
30922        return {
30923            'access': self.access,
30924            'authentication': self.authentication,
30925            'healthy': self.healthy,
30926            'id': self.id,
30927            'name': self.name,
30928            'tags': self.tags,
30929            'type': self.type,
30930        }
30931
30932    @classmethod
30933    def from_dict(cls, d):
30934        return cls(
30935            access=d.get('access'),
30936            authentication=d.get('authentication'),
30937            healthy=d.get('healthy'),
30938            id=d.get('id'),
30939            name=d.get('name'),
30940            tags=d.get('tags'),
30941            type=d.get('type'),
30942        )
30943
30944
30945class RequestableResourceEntitlement:
30946    '''
30947         RequestableResourceEntitlement represents an individual account that is permitted to request access to a Resource.
30948    '''
30949    __slots__ = [
30950        'account_id',
30951        'group_id',
30952        'mapped_identities',
30953        'origin_id',
30954    ]
30955
30956    def __init__(
30957        self,
30958        account_id=None,
30959        group_id=None,
30960        mapped_identities=None,
30961        origin_id=None,
30962    ):
30963        self.account_id = account_id if account_id is not None else ''
30964        '''
30965         The unique identifier of the Account that can request access to this resource.
30966        '''
30967        self.group_id = group_id if group_id is not None else ''
30968        '''
30969         The unique identifier of the group associated with this entitlement, if any.
30970        '''
30971        self.mapped_identities = mapped_identities if mapped_identities is not None else None
30972        '''
30973         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
30974        '''
30975        self.origin_id = origin_id if origin_id is not None else ''
30976        '''
30977         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
30978        '''
30979
30980    def __repr__(self):
30981        return '<sdm.RequestableResourceEntitlement ' + \
30982            'account_id: ' + repr(self.account_id) + ' ' +\
30983            'group_id: ' + repr(self.group_id) + ' ' +\
30984            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
30985            'origin_id: ' + repr(self.origin_id) + ' ' +\
30986            '>'
30987
30988    def to_dict(self):
30989        return {
30990            'account_id': self.account_id,
30991            'group_id': self.group_id,
30992            'mapped_identities': self.mapped_identities,
30993            'origin_id': self.origin_id,
30994        }
30995
30996    @classmethod
30997    def from_dict(cls, d):
30998        return cls(
30999            account_id=d.get('account_id'),
31000            group_id=d.get('group_id'),
31001            mapped_identities=d.get('mapped_identities'),
31002            origin_id=d.get('origin_id'),
31003        )
31004
31005
31006class RequestableRoleEntitlement:
31007    '''
31008         RequestableRoleEntitlement represents an individual resource that a Role permits its members to request access to.
31009    '''
31010    __slots__ = [
31011        'group_id',
31012        'mapped_identities',
31013        'origin_id',
31014        'resource_id',
31015    ]
31016
31017    def __init__(
31018        self,
31019        group_id=None,
31020        mapped_identities=None,
31021        origin_id=None,
31022        resource_id=None,
31023    ):
31024        self.group_id = group_id if group_id is not None else ''
31025        '''
31026         The unique identifier of the group associated with this entitlement, if any.
31027        '''
31028        self.mapped_identities = mapped_identities if mapped_identities is not None else None
31029        '''
31030         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
31031        '''
31032        self.origin_id = origin_id if origin_id is not None else ''
31033        '''
31034         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
31035        '''
31036        self.resource_id = resource_id if resource_id is not None else ''
31037        '''
31038         The unique identifier of the Resource to which access can be requested through this role.
31039        '''
31040
31041    def __repr__(self):
31042        return '<sdm.RequestableRoleEntitlement ' + \
31043            'group_id: ' + repr(self.group_id) + ' ' +\
31044            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
31045            'origin_id: ' + repr(self.origin_id) + ' ' +\
31046            'resource_id: ' + repr(self.resource_id) + ' ' +\
31047            '>'
31048
31049    def to_dict(self):
31050        return {
31051            'group_id': self.group_id,
31052            'mapped_identities': self.mapped_identities,
31053            'origin_id': self.origin_id,
31054            'resource_id': self.resource_id,
31055        }
31056
31057    @classmethod
31058    def from_dict(cls, d):
31059        return cls(
31060            group_id=d.get('group_id'),
31061            mapped_identities=d.get('mapped_identities'),
31062            origin_id=d.get('origin_id'),
31063            resource_id=d.get('resource_id'),
31064        )
31065
31066
31067class ResourceCreateResponse:
31068    '''
31069         ResourceCreateResponse reports how the Resources were created in the system.
31070    '''
31071    __slots__ = [
31072        'meta',
31073        'rate_limit',
31074        'resource',
31075    ]
31076
31077    def __init__(
31078        self,
31079        meta=None,
31080        rate_limit=None,
31081        resource=None,
31082    ):
31083        self.meta = meta if meta is not None else None
31084        '''
31085         Reserved for future use.
31086        '''
31087        self.rate_limit = rate_limit if rate_limit is not None else None
31088        '''
31089         Rate limit information.
31090        '''
31091        self.resource = resource if resource is not None else None
31092        '''
31093         The created Resource.
31094        '''
31095
31096    def __repr__(self):
31097        return '<sdm.ResourceCreateResponse ' + \
31098            'meta: ' + repr(self.meta) + ' ' +\
31099            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31100            'resource: ' + repr(self.resource) + ' ' +\
31101            '>'
31102
31103    def to_dict(self):
31104        return {
31105            'meta': self.meta,
31106            'rate_limit': self.rate_limit,
31107            'resource': self.resource,
31108        }
31109
31110    @classmethod
31111    def from_dict(cls, d):
31112        return cls(
31113            meta=d.get('meta'),
31114            rate_limit=d.get('rate_limit'),
31115            resource=d.get('resource'),
31116        )
31117
31118
31119class ResourceDeleteResponse:
31120    '''
31121         ResourceDeleteResponse returns information about a Resource that was deleted.
31122    '''
31123    __slots__ = [
31124        'meta',
31125        'rate_limit',
31126    ]
31127
31128    def __init__(
31129        self,
31130        meta=None,
31131        rate_limit=None,
31132    ):
31133        self.meta = meta if meta is not None else None
31134        '''
31135         Reserved for future use.
31136        '''
31137        self.rate_limit = rate_limit if rate_limit is not None else None
31138        '''
31139         Rate limit information.
31140        '''
31141
31142    def __repr__(self):
31143        return '<sdm.ResourceDeleteResponse ' + \
31144            'meta: ' + repr(self.meta) + ' ' +\
31145            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31146            '>'
31147
31148    def to_dict(self):
31149        return {
31150            'meta': self.meta,
31151            'rate_limit': self.rate_limit,
31152        }
31153
31154    @classmethod
31155    def from_dict(cls, d):
31156        return cls(
31157            meta=d.get('meta'),
31158            rate_limit=d.get('rate_limit'),
31159        )
31160
31161
31162class ResourceGetResponse:
31163    '''
31164         ResourceGetResponse returns a requested Resource.
31165    '''
31166    __slots__ = [
31167        'meta',
31168        'rate_limit',
31169        'resource',
31170    ]
31171
31172    def __init__(
31173        self,
31174        meta=None,
31175        rate_limit=None,
31176        resource=None,
31177    ):
31178        self.meta = meta if meta is not None else None
31179        '''
31180         Reserved for future use.
31181        '''
31182        self.rate_limit = rate_limit if rate_limit is not None else None
31183        '''
31184         Rate limit information.
31185        '''
31186        self.resource = resource if resource is not None else None
31187        '''
31188         The requested Resource.
31189        '''
31190
31191    def __repr__(self):
31192        return '<sdm.ResourceGetResponse ' + \
31193            'meta: ' + repr(self.meta) + ' ' +\
31194            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31195            'resource: ' + repr(self.resource) + ' ' +\
31196            '>'
31197
31198    def to_dict(self):
31199        return {
31200            'meta': self.meta,
31201            'rate_limit': self.rate_limit,
31202            'resource': self.resource,
31203        }
31204
31205    @classmethod
31206    def from_dict(cls, d):
31207        return cls(
31208            meta=d.get('meta'),
31209            rate_limit=d.get('rate_limit'),
31210            resource=d.get('resource'),
31211        )
31212
31213
31214class ResourceHealthcheckRequest:
31215    '''
31216         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
31217    '''
31218    __slots__ = [
31219        'id',
31220    ]
31221
31222    def __init__(
31223        self,
31224        id=None,
31225    ):
31226        self.id = id if id is not None else ''
31227        '''
31228         The unique identifier of the Resource to healthcheck.
31229        '''
31230
31231    def __repr__(self):
31232        return '<sdm.ResourceHealthcheckRequest ' + \
31233            'id: ' + repr(self.id) + ' ' +\
31234            '>'
31235
31236    def to_dict(self):
31237        return {
31238            'id': self.id,
31239        }
31240
31241    @classmethod
31242    def from_dict(cls, d):
31243        return cls(id=d.get('id'), )
31244
31245
31246class ResourceHealthcheckResponse:
31247    '''
31248         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
31249     Healthchecks are non blocking, and this contains no non-metadata.
31250    '''
31251    __slots__ = [
31252        'meta',
31253        'rate_limit',
31254    ]
31255
31256    def __init__(
31257        self,
31258        meta=None,
31259        rate_limit=None,
31260    ):
31261        self.meta = meta if meta is not None else None
31262        '''
31263         Reserved for future use.
31264        '''
31265        self.rate_limit = rate_limit if rate_limit is not None else None
31266        '''
31267         Rate limit information.
31268        '''
31269
31270    def __repr__(self):
31271        return '<sdm.ResourceHealthcheckResponse ' + \
31272            'meta: ' + repr(self.meta) + ' ' +\
31273            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31274            '>'
31275
31276    def to_dict(self):
31277        return {
31278            'meta': self.meta,
31279            'rate_limit': self.rate_limit,
31280        }
31281
31282    @classmethod
31283    def from_dict(cls, d):
31284        return cls(
31285            meta=d.get('meta'),
31286            rate_limit=d.get('rate_limit'),
31287        )
31288
31289
31290class ResourceHistory:
31291    '''
31292         ResourceHistory records the state of a Resource at a given point in time,
31293     where every change (create, update and delete) to a Resource produces an
31294     ResourceHistory record.
31295    '''
31296    __slots__ = [
31297        'activity_id',
31298        'deleted_at',
31299        'resource',
31300        'timestamp',
31301    ]
31302
31303    def __init__(
31304        self,
31305        activity_id=None,
31306        deleted_at=None,
31307        resource=None,
31308        timestamp=None,
31309    ):
31310        self.activity_id = activity_id if activity_id is not None else ''
31311        '''
31312         The unique identifier of the Activity that produced this change to the Resource.
31313         May be empty for some system-initiated updates.
31314        '''
31315        self.deleted_at = deleted_at if deleted_at is not None else None
31316        '''
31317         If this Resource was deleted, the time it was deleted.
31318        '''
31319        self.resource = resource if resource is not None else None
31320        '''
31321         The complete Resource state at this time.
31322        '''
31323        self.timestamp = timestamp if timestamp is not None else None
31324        '''
31325         The time at which the Resource state was recorded.
31326        '''
31327
31328    def __repr__(self):
31329        return '<sdm.ResourceHistory ' + \
31330            'activity_id: ' + repr(self.activity_id) + ' ' +\
31331            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31332            'resource: ' + repr(self.resource) + ' ' +\
31333            'timestamp: ' + repr(self.timestamp) + ' ' +\
31334            '>'
31335
31336    def to_dict(self):
31337        return {
31338            'activity_id': self.activity_id,
31339            'deleted_at': self.deleted_at,
31340            'resource': self.resource,
31341            'timestamp': self.timestamp,
31342        }
31343
31344    @classmethod
31345    def from_dict(cls, d):
31346        return cls(
31347            activity_id=d.get('activity_id'),
31348            deleted_at=d.get('deleted_at'),
31349            resource=d.get('resource'),
31350            timestamp=d.get('timestamp'),
31351        )
31352
31353
31354class ResourceUpdateResponse:
31355    '''
31356         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
31357     a ResourceUpdateRequest.
31358    '''
31359    __slots__ = [
31360        'meta',
31361        'rate_limit',
31362        'resource',
31363    ]
31364
31365    def __init__(
31366        self,
31367        meta=None,
31368        rate_limit=None,
31369        resource=None,
31370    ):
31371        self.meta = meta if meta is not None else None
31372        '''
31373         Reserved for future use.
31374        '''
31375        self.rate_limit = rate_limit if rate_limit is not None else None
31376        '''
31377         Rate limit information.
31378        '''
31379        self.resource = resource if resource is not None else None
31380        '''
31381         The updated Resource.
31382        '''
31383
31384    def __repr__(self):
31385        return '<sdm.ResourceUpdateResponse ' + \
31386            'meta: ' + repr(self.meta) + ' ' +\
31387            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31388            'resource: ' + repr(self.resource) + ' ' +\
31389            '>'
31390
31391    def to_dict(self):
31392        return {
31393            'meta': self.meta,
31394            'rate_limit': self.rate_limit,
31395            'resource': self.resource,
31396        }
31397
31398    @classmethod
31399    def from_dict(cls, d):
31400        return cls(
31401            meta=d.get('meta'),
31402            rate_limit=d.get('rate_limit'),
31403            resource=d.get('resource'),
31404        )
31405
31406
31407class Role:
31408    '''
31409         A Role has a list of access rules which determine which Resources the members
31410     of the Role have access to. An Account can be a member of multiple Roles via
31411     AccountAttachments.
31412    '''
31413    __slots__ = [
31414        'access_rules',
31415        'id',
31416        'managed_by',
31417        'name',
31418        'tags',
31419    ]
31420
31421    def __init__(
31422        self,
31423        access_rules=None,
31424        id=None,
31425        managed_by=None,
31426        name=None,
31427        tags=None,
31428    ):
31429        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31430        )
31431        '''
31432         AccessRules is a list of access rules defining the resources this Role has access to.
31433        '''
31434        self.id = id if id is not None else ''
31435        '''
31436         Unique identifier of the Role.
31437        '''
31438        self.managed_by = managed_by if managed_by is not None else ''
31439        '''
31440         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
31441        '''
31442        self.name = name if name is not None else ''
31443        '''
31444         Unique human-readable name of the Role.
31445        '''
31446        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31447        '''
31448         Tags is a map of key, value pairs.
31449        '''
31450
31451    def __repr__(self):
31452        return '<sdm.Role ' + \
31453            'access_rules: ' + repr(self.access_rules) + ' ' +\
31454            'id: ' + repr(self.id) + ' ' +\
31455            'managed_by: ' + repr(self.managed_by) + ' ' +\
31456            'name: ' + repr(self.name) + ' ' +\
31457            'tags: ' + repr(self.tags) + ' ' +\
31458            '>'
31459
31460    def to_dict(self):
31461        return {
31462            'access_rules': self.access_rules,
31463            'id': self.id,
31464            'managed_by': self.managed_by,
31465            'name': self.name,
31466            'tags': self.tags,
31467        }
31468
31469    @classmethod
31470    def from_dict(cls, d):
31471        return cls(
31472            access_rules=d.get('access_rules'),
31473            id=d.get('id'),
31474            managed_by=d.get('managed_by'),
31475            name=d.get('name'),
31476            tags=d.get('tags'),
31477        )
31478
31479
31480class RoleCreateResponse:
31481    '''
31482         RoleCreateResponse reports how the Roles were created in the system. It can
31483     communicate partial successes or failures.
31484    '''
31485    __slots__ = [
31486        'meta',
31487        'rate_limit',
31488        'role',
31489    ]
31490
31491    def __init__(
31492        self,
31493        meta=None,
31494        rate_limit=None,
31495        role=None,
31496    ):
31497        self.meta = meta if meta is not None else None
31498        '''
31499         Reserved for future use.
31500        '''
31501        self.rate_limit = rate_limit if rate_limit is not None else None
31502        '''
31503         Rate limit information.
31504        '''
31505        self.role = role if role is not None else None
31506        '''
31507         The created Role.
31508        '''
31509
31510    def __repr__(self):
31511        return '<sdm.RoleCreateResponse ' + \
31512            'meta: ' + repr(self.meta) + ' ' +\
31513            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31514            'role: ' + repr(self.role) + ' ' +\
31515            '>'
31516
31517    def to_dict(self):
31518        return {
31519            'meta': self.meta,
31520            'rate_limit': self.rate_limit,
31521            'role': self.role,
31522        }
31523
31524    @classmethod
31525    def from_dict(cls, d):
31526        return cls(
31527            meta=d.get('meta'),
31528            rate_limit=d.get('rate_limit'),
31529            role=d.get('role'),
31530        )
31531
31532
31533class RoleDeleteResponse:
31534    '''
31535         RoleDeleteResponse returns information about a Role that was deleted.
31536    '''
31537    __slots__ = [
31538        'meta',
31539        'rate_limit',
31540    ]
31541
31542    def __init__(
31543        self,
31544        meta=None,
31545        rate_limit=None,
31546    ):
31547        self.meta = meta if meta is not None else None
31548        '''
31549         Reserved for future use.
31550        '''
31551        self.rate_limit = rate_limit if rate_limit is not None else None
31552        '''
31553         Rate limit information.
31554        '''
31555
31556    def __repr__(self):
31557        return '<sdm.RoleDeleteResponse ' + \
31558            'meta: ' + repr(self.meta) + ' ' +\
31559            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31560            '>'
31561
31562    def to_dict(self):
31563        return {
31564            'meta': self.meta,
31565            'rate_limit': self.rate_limit,
31566        }
31567
31568    @classmethod
31569    def from_dict(cls, d):
31570        return cls(
31571            meta=d.get('meta'),
31572            rate_limit=d.get('rate_limit'),
31573        )
31574
31575
31576class RoleGetResponse:
31577    '''
31578         RoleGetResponse returns a requested Role.
31579    '''
31580    __slots__ = [
31581        'meta',
31582        'rate_limit',
31583        'role',
31584    ]
31585
31586    def __init__(
31587        self,
31588        meta=None,
31589        rate_limit=None,
31590        role=None,
31591    ):
31592        self.meta = meta if meta is not None else None
31593        '''
31594         Reserved for future use.
31595        '''
31596        self.rate_limit = rate_limit if rate_limit is not None else None
31597        '''
31598         Rate limit information.
31599        '''
31600        self.role = role if role is not None else None
31601        '''
31602         The requested Role.
31603        '''
31604
31605    def __repr__(self):
31606        return '<sdm.RoleGetResponse ' + \
31607            'meta: ' + repr(self.meta) + ' ' +\
31608            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31609            'role: ' + repr(self.role) + ' ' +\
31610            '>'
31611
31612    def to_dict(self):
31613        return {
31614            'meta': self.meta,
31615            'rate_limit': self.rate_limit,
31616            'role': self.role,
31617        }
31618
31619    @classmethod
31620    def from_dict(cls, d):
31621        return cls(
31622            meta=d.get('meta'),
31623            rate_limit=d.get('rate_limit'),
31624            role=d.get('role'),
31625        )
31626
31627
31628class RoleHistory:
31629    '''
31630         RoleHistory records the state of a Role at a given point in time,
31631     where every change (create, update and delete) to a Role produces an
31632     RoleHistory record.
31633    '''
31634    __slots__ = [
31635        'activity_id',
31636        'deleted_at',
31637        'role',
31638        'timestamp',
31639    ]
31640
31641    def __init__(
31642        self,
31643        activity_id=None,
31644        deleted_at=None,
31645        role=None,
31646        timestamp=None,
31647    ):
31648        self.activity_id = activity_id if activity_id is not None else ''
31649        '''
31650         The unique identifier of the Activity that produced this change to the Role.
31651         May be empty for some system-initiated updates.
31652        '''
31653        self.deleted_at = deleted_at if deleted_at is not None else None
31654        '''
31655         If this Role was deleted, the time it was deleted.
31656        '''
31657        self.role = role if role is not None else None
31658        '''
31659         The complete Role state at this time.
31660        '''
31661        self.timestamp = timestamp if timestamp is not None else None
31662        '''
31663         The time at which the Role state was recorded.
31664        '''
31665
31666    def __repr__(self):
31667        return '<sdm.RoleHistory ' + \
31668            'activity_id: ' + repr(self.activity_id) + ' ' +\
31669            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31670            'role: ' + repr(self.role) + ' ' +\
31671            'timestamp: ' + repr(self.timestamp) + ' ' +\
31672            '>'
31673
31674    def to_dict(self):
31675        return {
31676            'activity_id': self.activity_id,
31677            'deleted_at': self.deleted_at,
31678            'role': self.role,
31679            'timestamp': self.timestamp,
31680        }
31681
31682    @classmethod
31683    def from_dict(cls, d):
31684        return cls(
31685            activity_id=d.get('activity_id'),
31686            deleted_at=d.get('deleted_at'),
31687            role=d.get('role'),
31688            timestamp=d.get('timestamp'),
31689        )
31690
31691
31692class RoleResource:
31693    '''
31694         RoleResource represents an individual access grant of a Role to a Resource.
31695    '''
31696    __slots__ = [
31697        'granted_at',
31698        'resource_id',
31699        'role_id',
31700    ]
31701
31702    def __init__(
31703        self,
31704        granted_at=None,
31705        resource_id=None,
31706        role_id=None,
31707    ):
31708        self.granted_at = granted_at if granted_at is not None else None
31709        '''
31710         The most recent time at which access was granted. If access was granted,
31711         revoked, and granted again, this will reflect the later time.
31712        '''
31713        self.resource_id = resource_id if resource_id is not None else ''
31714        '''
31715         The unique identifier of the Resource to which access is granted.
31716        '''
31717        self.role_id = role_id if role_id is not None else ''
31718        '''
31719         The unique identifier of the Role to which access is granted.
31720        '''
31721
31722    def __repr__(self):
31723        return '<sdm.RoleResource ' + \
31724            'granted_at: ' + repr(self.granted_at) + ' ' +\
31725            'resource_id: ' + repr(self.resource_id) + ' ' +\
31726            'role_id: ' + repr(self.role_id) + ' ' +\
31727            '>'
31728
31729    def to_dict(self):
31730        return {
31731            'granted_at': self.granted_at,
31732            'resource_id': self.resource_id,
31733            'role_id': self.role_id,
31734        }
31735
31736    @classmethod
31737    def from_dict(cls, d):
31738        return cls(
31739            granted_at=d.get('granted_at'),
31740            resource_id=d.get('resource_id'),
31741            role_id=d.get('role_id'),
31742        )
31743
31744
31745class RoleResourceHistory:
31746    '''
31747         RoleResourceHistory records the state of a RoleResource at a given point in time,
31748     where every change (create or delete) to a RoleResource produces an
31749     RoleResourceHistory record.
31750    '''
31751    __slots__ = [
31752        'activity_id',
31753        'deleted_at',
31754        'role_resource',
31755        'timestamp',
31756    ]
31757
31758    def __init__(
31759        self,
31760        activity_id=None,
31761        deleted_at=None,
31762        role_resource=None,
31763        timestamp=None,
31764    ):
31765        self.activity_id = activity_id if activity_id is not None else ''
31766        '''
31767         The unique identifier of the Activity that produced this change to the RoleResource.
31768         May be empty for some system-initiated updates.
31769        '''
31770        self.deleted_at = deleted_at if deleted_at is not None else None
31771        '''
31772         If this RoleResource was deleted, the time it was deleted.
31773        '''
31774        self.role_resource = role_resource if role_resource is not None else None
31775        '''
31776         The complete RoleResource state at this time.
31777        '''
31778        self.timestamp = timestamp if timestamp is not None else None
31779        '''
31780         The time at which the RoleResource state was recorded.
31781        '''
31782
31783    def __repr__(self):
31784        return '<sdm.RoleResourceHistory ' + \
31785            'activity_id: ' + repr(self.activity_id) + ' ' +\
31786            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31787            'role_resource: ' + repr(self.role_resource) + ' ' +\
31788            'timestamp: ' + repr(self.timestamp) + ' ' +\
31789            '>'
31790
31791    def to_dict(self):
31792        return {
31793            'activity_id': self.activity_id,
31794            'deleted_at': self.deleted_at,
31795            'role_resource': self.role_resource,
31796            'timestamp': self.timestamp,
31797        }
31798
31799    @classmethod
31800    def from_dict(cls, d):
31801        return cls(
31802            activity_id=d.get('activity_id'),
31803            deleted_at=d.get('deleted_at'),
31804            role_resource=d.get('role_resource'),
31805            timestamp=d.get('timestamp'),
31806        )
31807
31808
31809class RoleUpdateResponse:
31810    '''
31811         RoleUpdateResponse returns the fields of a Role after it has been updated by
31812     a RoleUpdateRequest.
31813    '''
31814    __slots__ = [
31815        'meta',
31816        'rate_limit',
31817        'role',
31818    ]
31819
31820    def __init__(
31821        self,
31822        meta=None,
31823        rate_limit=None,
31824        role=None,
31825    ):
31826        self.meta = meta if meta is not None else None
31827        '''
31828         Reserved for future use.
31829        '''
31830        self.rate_limit = rate_limit if rate_limit is not None else None
31831        '''
31832         Rate limit information.
31833        '''
31834        self.role = role if role is not None else None
31835        '''
31836         The updated Role.
31837        '''
31838
31839    def __repr__(self):
31840        return '<sdm.RoleUpdateResponse ' + \
31841            'meta: ' + repr(self.meta) + ' ' +\
31842            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31843            'role: ' + repr(self.role) + ' ' +\
31844            '>'
31845
31846    def to_dict(self):
31847        return {
31848            'meta': self.meta,
31849            'rate_limit': self.rate_limit,
31850            'role': self.role,
31851        }
31852
31853    @classmethod
31854    def from_dict(cls, d):
31855        return cls(
31856            meta=d.get('meta'),
31857            rate_limit=d.get('rate_limit'),
31858            role=d.get('role'),
31859        )
31860
31861
31862class SQLServer:
31863    __slots__ = [
31864        'allow_deprecated_encryption',
31865        'bind_interface',
31866        'database',
31867        'egress_filter',
31868        'healthy',
31869        'hostname',
31870        'id',
31871        'name',
31872        'override_database',
31873        'password',
31874        'port',
31875        'port_override',
31876        'proxy_cluster_id',
31877        'schema',
31878        'secret_store_id',
31879        'subdomain',
31880        'tags',
31881        'username',
31882    ]
31883
31884    def __init__(
31885        self,
31886        allow_deprecated_encryption=None,
31887        bind_interface=None,
31888        database=None,
31889        egress_filter=None,
31890        healthy=None,
31891        hostname=None,
31892        id=None,
31893        name=None,
31894        override_database=None,
31895        password=None,
31896        port=None,
31897        port_override=None,
31898        proxy_cluster_id=None,
31899        schema=None,
31900        secret_store_id=None,
31901        subdomain=None,
31902        tags=None,
31903        username=None,
31904    ):
31905        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
31906        '''
31907         Whether to allow deprecated encryption protocols to be used for this resource. For example,
31908         TLS 1.0.
31909        '''
31910        self.bind_interface = bind_interface if bind_interface is not None else ''
31911        '''
31912         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31913        '''
31914        self.database = database if database is not None else ''
31915        '''
31916         The database for healthchecks, and used for clients if Override Default Database is true.
31917        '''
31918        self.egress_filter = egress_filter if egress_filter is not None else ''
31919        '''
31920         A filter applied to the routing logic to pin datasource to nodes.
31921        '''
31922        self.healthy = healthy if healthy is not None else False
31923        '''
31924         True if the datasource is reachable and the credentials are valid.
31925        '''
31926        self.hostname = hostname if hostname is not None else ''
31927        '''
31928         The host to dial to initiate a connection from the egress node to this resource.
31929        '''
31930        self.id = id if id is not None else ''
31931        '''
31932         Unique identifier of the Resource.
31933        '''
31934        self.name = name if name is not None else ''
31935        '''
31936         Unique human-readable name of the Resource.
31937        '''
31938        self.override_database = override_database if override_database is not None else False
31939        '''
31940         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
31941        '''
31942        self.password = password if password is not None else ''
31943        '''
31944         The password to authenticate with.
31945        '''
31946        self.port = port if port is not None else 0
31947        '''
31948         The port to dial to initiate a connection from the egress node to this resource.
31949        '''
31950        self.port_override = port_override if port_override is not None else 0
31951        '''
31952         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31953        '''
31954        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31955        '''
31956         ID of the proxy cluster for this resource, if any.
31957        '''
31958        self.schema = schema if schema is not None else ''
31959        '''
31960         The Schema to use to direct initial requests.
31961        '''
31962        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31963        '''
31964         ID of the secret store containing credentials for this resource, if any.
31965        '''
31966        self.subdomain = subdomain if subdomain is not None else ''
31967        '''
31968         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31969        '''
31970        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31971        '''
31972         Tags is a map of key, value pairs.
31973        '''
31974        self.username = username if username is not None else ''
31975        '''
31976         The username to authenticate with.
31977        '''
31978
31979    def __repr__(self):
31980        return '<sdm.SQLServer ' + \
31981            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
31982            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31983            'database: ' + repr(self.database) + ' ' +\
31984            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31985            'healthy: ' + repr(self.healthy) + ' ' +\
31986            'hostname: ' + repr(self.hostname) + ' ' +\
31987            'id: ' + repr(self.id) + ' ' +\
31988            'name: ' + repr(self.name) + ' ' +\
31989            'override_database: ' + repr(self.override_database) + ' ' +\
31990            'password: ' + repr(self.password) + ' ' +\
31991            'port: ' + repr(self.port) + ' ' +\
31992            'port_override: ' + repr(self.port_override) + ' ' +\
31993            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31994            'schema: ' + repr(self.schema) + ' ' +\
31995            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31996            'subdomain: ' + repr(self.subdomain) + ' ' +\
31997            'tags: ' + repr(self.tags) + ' ' +\
31998            'username: ' + repr(self.username) + ' ' +\
31999            '>'
32000
32001    def to_dict(self):
32002        return {
32003            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32004            'bind_interface': self.bind_interface,
32005            'database': self.database,
32006            'egress_filter': self.egress_filter,
32007            'healthy': self.healthy,
32008            'hostname': self.hostname,
32009            'id': self.id,
32010            'name': self.name,
32011            'override_database': self.override_database,
32012            'password': self.password,
32013            'port': self.port,
32014            'port_override': self.port_override,
32015            'proxy_cluster_id': self.proxy_cluster_id,
32016            'schema': self.schema,
32017            'secret_store_id': self.secret_store_id,
32018            'subdomain': self.subdomain,
32019            'tags': self.tags,
32020            'username': self.username,
32021        }
32022
32023    @classmethod
32024    def from_dict(cls, d):
32025        return cls(
32026            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32027            bind_interface=d.get('bind_interface'),
32028            database=d.get('database'),
32029            egress_filter=d.get('egress_filter'),
32030            healthy=d.get('healthy'),
32031            hostname=d.get('hostname'),
32032            id=d.get('id'),
32033            name=d.get('name'),
32034            override_database=d.get('override_database'),
32035            password=d.get('password'),
32036            port=d.get('port'),
32037            port_override=d.get('port_override'),
32038            proxy_cluster_id=d.get('proxy_cluster_id'),
32039            schema=d.get('schema'),
32040            secret_store_id=d.get('secret_store_id'),
32041            subdomain=d.get('subdomain'),
32042            tags=d.get('tags'),
32043            username=d.get('username'),
32044        )
32045
32046
32047class SQLServerAzureAD:
32048    __slots__ = [
32049        'allow_deprecated_encryption',
32050        'bind_interface',
32051        'client_id',
32052        'database',
32053        'egress_filter',
32054        'healthy',
32055        'hostname',
32056        'id',
32057        'name',
32058        'override_database',
32059        'port',
32060        'port_override',
32061        'proxy_cluster_id',
32062        'schema',
32063        'secret',
32064        'secret_store_id',
32065        'subdomain',
32066        'tags',
32067        'tenant_id',
32068    ]
32069
32070    def __init__(
32071        self,
32072        allow_deprecated_encryption=None,
32073        bind_interface=None,
32074        client_id=None,
32075        database=None,
32076        egress_filter=None,
32077        healthy=None,
32078        hostname=None,
32079        id=None,
32080        name=None,
32081        override_database=None,
32082        port=None,
32083        port_override=None,
32084        proxy_cluster_id=None,
32085        schema=None,
32086        secret=None,
32087        secret_store_id=None,
32088        subdomain=None,
32089        tags=None,
32090        tenant_id=None,
32091    ):
32092        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
32093        '''
32094         Whether to allow deprecated encryption protocols to be used for this resource. For example,
32095         TLS 1.0.
32096        '''
32097        self.bind_interface = bind_interface if bind_interface is not None else ''
32098        '''
32099         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32100        '''
32101        self.client_id = client_id if client_id is not None else ''
32102        '''
32103         The Azure AD application (client) ID with which to authenticate.
32104        '''
32105        self.database = database if database is not None else ''
32106        '''
32107         The database for healthchecks, and used for clients if Override Default Database is true.
32108        '''
32109        self.egress_filter = egress_filter if egress_filter is not None else ''
32110        '''
32111         A filter applied to the routing logic to pin datasource to nodes.
32112        '''
32113        self.healthy = healthy if healthy is not None else False
32114        '''
32115         True if the datasource is reachable and the credentials are valid.
32116        '''
32117        self.hostname = hostname if hostname is not None else ''
32118        '''
32119         The host to dial to initiate a connection from the egress node to this resource.
32120        '''
32121        self.id = id if id is not None else ''
32122        '''
32123         Unique identifier of the Resource.
32124        '''
32125        self.name = name if name is not None else ''
32126        '''
32127         Unique human-readable name of the Resource.
32128        '''
32129        self.override_database = override_database if override_database is not None else False
32130        '''
32131         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
32132        '''
32133        self.port = port if port is not None else 0
32134        '''
32135         The port to dial to initiate a connection from the egress node to this resource.
32136        '''
32137        self.port_override = port_override if port_override is not None else 0
32138        '''
32139         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32140        '''
32141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32142        '''
32143         ID of the proxy cluster for this resource, if any.
32144        '''
32145        self.schema = schema if schema is not None else ''
32146        '''
32147         The Schema to use to direct initial requests.
32148        '''
32149        self.secret = secret if secret is not None else ''
32150        '''
32151         The Azure AD client secret (application password) with which to authenticate.
32152        '''
32153        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32154        '''
32155         ID of the secret store containing credentials for this resource, if any.
32156        '''
32157        self.subdomain = subdomain if subdomain is not None else ''
32158        '''
32159         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32160        '''
32161        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32162        '''
32163         Tags is a map of key, value pairs.
32164        '''
32165        self.tenant_id = tenant_id if tenant_id is not None else ''
32166        '''
32167         The Azure AD directory (tenant) ID with which to authenticate.
32168        '''
32169
32170    def __repr__(self):
32171        return '<sdm.SQLServerAzureAD ' + \
32172            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
32173            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32174            'client_id: ' + repr(self.client_id) + ' ' +\
32175            'database: ' + repr(self.database) + ' ' +\
32176            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32177            'healthy: ' + repr(self.healthy) + ' ' +\
32178            'hostname: ' + repr(self.hostname) + ' ' +\
32179            'id: ' + repr(self.id) + ' ' +\
32180            'name: ' + repr(self.name) + ' ' +\
32181            'override_database: ' + repr(self.override_database) + ' ' +\
32182            'port: ' + repr(self.port) + ' ' +\
32183            'port_override: ' + repr(self.port_override) + ' ' +\
32184            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32185            'schema: ' + repr(self.schema) + ' ' +\
32186            'secret: ' + repr(self.secret) + ' ' +\
32187            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32188            'subdomain: ' + repr(self.subdomain) + ' ' +\
32189            'tags: ' + repr(self.tags) + ' ' +\
32190            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
32191            '>'
32192
32193    def to_dict(self):
32194        return {
32195            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32196            'bind_interface': self.bind_interface,
32197            'client_id': self.client_id,
32198            'database': self.database,
32199            'egress_filter': self.egress_filter,
32200            'healthy': self.healthy,
32201            'hostname': self.hostname,
32202            'id': self.id,
32203            'name': self.name,
32204            'override_database': self.override_database,
32205            'port': self.port,
32206            'port_override': self.port_override,
32207            'proxy_cluster_id': self.proxy_cluster_id,
32208            'schema': self.schema,
32209            'secret': self.secret,
32210            'secret_store_id': self.secret_store_id,
32211            'subdomain': self.subdomain,
32212            'tags': self.tags,
32213            'tenant_id': self.tenant_id,
32214        }
32215
32216    @classmethod
32217    def from_dict(cls, d):
32218        return cls(
32219            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32220            bind_interface=d.get('bind_interface'),
32221            client_id=d.get('client_id'),
32222            database=d.get('database'),
32223            egress_filter=d.get('egress_filter'),
32224            healthy=d.get('healthy'),
32225            hostname=d.get('hostname'),
32226            id=d.get('id'),
32227            name=d.get('name'),
32228            override_database=d.get('override_database'),
32229            port=d.get('port'),
32230            port_override=d.get('port_override'),
32231            proxy_cluster_id=d.get('proxy_cluster_id'),
32232            schema=d.get('schema'),
32233            secret=d.get('secret'),
32234            secret_store_id=d.get('secret_store_id'),
32235            subdomain=d.get('subdomain'),
32236            tags=d.get('tags'),
32237            tenant_id=d.get('tenant_id'),
32238        )
32239
32240
32241class SQLServerKerberosAD:
32242    __slots__ = [
32243        'allow_deprecated_encryption',
32244        'bind_interface',
32245        'database',
32246        'egress_filter',
32247        'healthy',
32248        'hostname',
32249        'id',
32250        'identity_alias_healthcheck_username',
32251        'identity_set_id',
32252        'keytab',
32253        'krb_config',
32254        'name',
32255        'override_database',
32256        'port',
32257        'port_override',
32258        'proxy_cluster_id',
32259        'realm',
32260        'schema',
32261        'secret_store_id',
32262        'server_spn',
32263        'subdomain',
32264        'tags',
32265        'username',
32266    ]
32267
32268    def __init__(
32269        self,
32270        allow_deprecated_encryption=None,
32271        bind_interface=None,
32272        database=None,
32273        egress_filter=None,
32274        healthy=None,
32275        hostname=None,
32276        id=None,
32277        identity_alias_healthcheck_username=None,
32278        identity_set_id=None,
32279        keytab=None,
32280        krb_config=None,
32281        name=None,
32282        override_database=None,
32283        port=None,
32284        port_override=None,
32285        proxy_cluster_id=None,
32286        realm=None,
32287        schema=None,
32288        secret_store_id=None,
32289        server_spn=None,
32290        subdomain=None,
32291        tags=None,
32292        username=None,
32293    ):
32294        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
32295        '''
32296         Whether to allow deprecated encryption protocols to be used for this resource. For example,
32297         TLS 1.0.
32298        '''
32299        self.bind_interface = bind_interface if bind_interface is not None else ''
32300        '''
32301         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32302        '''
32303        self.database = database if database is not None else ''
32304        '''
32305         The database for healthchecks, and used for clients if Override Default Database is true.
32306        '''
32307        self.egress_filter = egress_filter if egress_filter is not None else ''
32308        '''
32309         A filter applied to the routing logic to pin datasource to nodes.
32310        '''
32311        self.healthy = healthy if healthy is not None else False
32312        '''
32313         True if the datasource is reachable and the credentials are valid.
32314        '''
32315        self.hostname = hostname if hostname is not None else ''
32316        '''
32317         The host to dial to initiate a connection from the egress node to this resource.
32318        '''
32319        self.id = id if id is not None else ''
32320        '''
32321         Unique identifier of the Resource.
32322        '''
32323        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32324        '''
32325         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32326        '''
32327        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32328        '''
32329         The ID of the identity set to use for identity connections.
32330        '''
32331        self.keytab = keytab if keytab is not None else ''
32332        '''
32333         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
32334        '''
32335        self.krb_config = krb_config if krb_config is not None else ''
32336        '''
32337         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
32338        '''
32339        self.name = name if name is not None else ''
32340        '''
32341         Unique human-readable name of the Resource.
32342        '''
32343        self.override_database = override_database if override_database is not None else False
32344        '''
32345         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
32346        '''
32347        self.port = port if port is not None else 0
32348        '''
32349         The port to dial to initiate a connection from the egress node to this resource.
32350        '''
32351        self.port_override = port_override if port_override is not None else 0
32352        '''
32353         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32354        '''
32355        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32356        '''
32357         ID of the proxy cluster for this resource, if any.
32358        '''
32359        self.realm = realm if realm is not None else ''
32360        '''
32361         The Active Directory domain (realm) to which the configured username belongs.
32362        '''
32363        self.schema = schema if schema is not None else ''
32364        '''
32365         The Schema to use to direct initial requests.
32366        '''
32367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32368        '''
32369         ID of the secret store containing credentials for this resource, if any.
32370        '''
32371        self.server_spn = server_spn if server_spn is not None else ''
32372        '''
32373         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
32374        '''
32375        self.subdomain = subdomain if subdomain is not None else ''
32376        '''
32377         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32378        '''
32379        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32380        '''
32381         Tags is a map of key, value pairs.
32382        '''
32383        self.username = username if username is not None else ''
32384        '''
32385         The username to authenticate with.
32386        '''
32387
32388    def __repr__(self):
32389        return '<sdm.SQLServerKerberosAD ' + \
32390            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
32391            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32392            'database: ' + repr(self.database) + ' ' +\
32393            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32394            'healthy: ' + repr(self.healthy) + ' ' +\
32395            'hostname: ' + repr(self.hostname) + ' ' +\
32396            'id: ' + repr(self.id) + ' ' +\
32397            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
32398            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
32399            'keytab: ' + repr(self.keytab) + ' ' +\
32400            'krb_config: ' + repr(self.krb_config) + ' ' +\
32401            'name: ' + repr(self.name) + ' ' +\
32402            'override_database: ' + repr(self.override_database) + ' ' +\
32403            'port: ' + repr(self.port) + ' ' +\
32404            'port_override: ' + repr(self.port_override) + ' ' +\
32405            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32406            'realm: ' + repr(self.realm) + ' ' +\
32407            'schema: ' + repr(self.schema) + ' ' +\
32408            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32409            'server_spn: ' + repr(self.server_spn) + ' ' +\
32410            'subdomain: ' + repr(self.subdomain) + ' ' +\
32411            'tags: ' + repr(self.tags) + ' ' +\
32412            'username: ' + repr(self.username) + ' ' +\
32413            '>'
32414
32415    def to_dict(self):
32416        return {
32417            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32418            'bind_interface': self.bind_interface,
32419            'database': self.database,
32420            'egress_filter': self.egress_filter,
32421            'healthy': self.healthy,
32422            'hostname': self.hostname,
32423            'id': self.id,
32424            'identity_alias_healthcheck_username':
32425            self.identity_alias_healthcheck_username,
32426            'identity_set_id': self.identity_set_id,
32427            'keytab': self.keytab,
32428            'krb_config': self.krb_config,
32429            'name': self.name,
32430            'override_database': self.override_database,
32431            'port': self.port,
32432            'port_override': self.port_override,
32433            'proxy_cluster_id': self.proxy_cluster_id,
32434            'realm': self.realm,
32435            'schema': self.schema,
32436            'secret_store_id': self.secret_store_id,
32437            'server_spn': self.server_spn,
32438            'subdomain': self.subdomain,
32439            'tags': self.tags,
32440            'username': self.username,
32441        }
32442
32443    @classmethod
32444    def from_dict(cls, d):
32445        return cls(
32446            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32447            bind_interface=d.get('bind_interface'),
32448            database=d.get('database'),
32449            egress_filter=d.get('egress_filter'),
32450            healthy=d.get('healthy'),
32451            hostname=d.get('hostname'),
32452            id=d.get('id'),
32453            identity_alias_healthcheck_username=d.get(
32454                'identity_alias_healthcheck_username'),
32455            identity_set_id=d.get('identity_set_id'),
32456            keytab=d.get('keytab'),
32457            krb_config=d.get('krb_config'),
32458            name=d.get('name'),
32459            override_database=d.get('override_database'),
32460            port=d.get('port'),
32461            port_override=d.get('port_override'),
32462            proxy_cluster_id=d.get('proxy_cluster_id'),
32463            realm=d.get('realm'),
32464            schema=d.get('schema'),
32465            secret_store_id=d.get('secret_store_id'),
32466            server_spn=d.get('server_spn'),
32467            subdomain=d.get('subdomain'),
32468            tags=d.get('tags'),
32469            username=d.get('username'),
32470        )
32471
32472
32473class SSH:
32474    __slots__ = [
32475        'allow_deprecated_key_exchanges',
32476        'bind_interface',
32477        'egress_filter',
32478        'healthy',
32479        'hostname',
32480        'id',
32481        'key_type',
32482        'lock_required',
32483        'name',
32484        'port',
32485        'port_forwarding',
32486        'port_override',
32487        'proxy_cluster_id',
32488        'public_key',
32489        'secret_store_id',
32490        'subdomain',
32491        'tags',
32492        'username',
32493    ]
32494
32495    def __init__(
32496        self,
32497        allow_deprecated_key_exchanges=None,
32498        bind_interface=None,
32499        egress_filter=None,
32500        healthy=None,
32501        hostname=None,
32502        id=None,
32503        key_type=None,
32504        lock_required=None,
32505        name=None,
32506        port=None,
32507        port_forwarding=None,
32508        port_override=None,
32509        proxy_cluster_id=None,
32510        public_key=None,
32511        secret_store_id=None,
32512        subdomain=None,
32513        tags=None,
32514        username=None,
32515    ):
32516        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32517        '''
32518         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32519        '''
32520        self.bind_interface = bind_interface if bind_interface is not None else ''
32521        '''
32522         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32523        '''
32524        self.egress_filter = egress_filter if egress_filter is not None else ''
32525        '''
32526         A filter applied to the routing logic to pin datasource to nodes.
32527        '''
32528        self.healthy = healthy if healthy is not None else False
32529        '''
32530         True if the datasource is reachable and the credentials are valid.
32531        '''
32532        self.hostname = hostname if hostname is not None else ''
32533        '''
32534         The host to dial to initiate a connection from the egress node to this resource.
32535        '''
32536        self.id = id if id is not None else ''
32537        '''
32538         Unique identifier of the Resource.
32539        '''
32540        self.key_type = key_type if key_type is not None else ''
32541        '''
32542         The key type to use e.g. rsa-2048 or ed25519
32543        '''
32544        self.lock_required = lock_required if lock_required is not None else False
32545        '''
32546         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32547        '''
32548        self.name = name if name is not None else ''
32549        '''
32550         Unique human-readable name of the Resource.
32551        '''
32552        self.port = port if port is not None else 0
32553        '''
32554         The port to dial to initiate a connection from the egress node to this resource.
32555        '''
32556        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32557        '''
32558         Whether port forwarding is allowed through this server.
32559        '''
32560        self.port_override = port_override if port_override is not None else 0
32561        '''
32562         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32563        '''
32564        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32565        '''
32566         ID of the proxy cluster for this resource, if any.
32567        '''
32568        self.public_key = public_key if public_key is not None else ''
32569        '''
32570         The public key to append to a server's authorized keys. This will be generated after resource creation.
32571        '''
32572        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32573        '''
32574         ID of the secret store containing credentials for this resource, if any.
32575        '''
32576        self.subdomain = subdomain if subdomain is not None else ''
32577        '''
32578         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32579        '''
32580        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32581        '''
32582         Tags is a map of key, value pairs.
32583        '''
32584        self.username = username if username is not None else ''
32585        '''
32586         The username to authenticate with.
32587        '''
32588
32589    def __repr__(self):
32590        return '<sdm.SSH ' + \
32591            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
32592            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32593            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32594            'healthy: ' + repr(self.healthy) + ' ' +\
32595            'hostname: ' + repr(self.hostname) + ' ' +\
32596            'id: ' + repr(self.id) + ' ' +\
32597            'key_type: ' + repr(self.key_type) + ' ' +\
32598            'lock_required: ' + repr(self.lock_required) + ' ' +\
32599            'name: ' + repr(self.name) + ' ' +\
32600            'port: ' + repr(self.port) + ' ' +\
32601            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
32602            'port_override: ' + repr(self.port_override) + ' ' +\
32603            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32604            'public_key: ' + repr(self.public_key) + ' ' +\
32605            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32606            'subdomain: ' + repr(self.subdomain) + ' ' +\
32607            'tags: ' + repr(self.tags) + ' ' +\
32608            'username: ' + repr(self.username) + ' ' +\
32609            '>'
32610
32611    def to_dict(self):
32612        return {
32613            'allow_deprecated_key_exchanges':
32614            self.allow_deprecated_key_exchanges,
32615            'bind_interface': self.bind_interface,
32616            'egress_filter': self.egress_filter,
32617            'healthy': self.healthy,
32618            'hostname': self.hostname,
32619            'id': self.id,
32620            'key_type': self.key_type,
32621            'lock_required': self.lock_required,
32622            'name': self.name,
32623            'port': self.port,
32624            'port_forwarding': self.port_forwarding,
32625            'port_override': self.port_override,
32626            'proxy_cluster_id': self.proxy_cluster_id,
32627            'public_key': self.public_key,
32628            'secret_store_id': self.secret_store_id,
32629            'subdomain': self.subdomain,
32630            'tags': self.tags,
32631            'username': self.username,
32632        }
32633
32634    @classmethod
32635    def from_dict(cls, d):
32636        return cls(
32637            allow_deprecated_key_exchanges=d.get(
32638                'allow_deprecated_key_exchanges'),
32639            bind_interface=d.get('bind_interface'),
32640            egress_filter=d.get('egress_filter'),
32641            healthy=d.get('healthy'),
32642            hostname=d.get('hostname'),
32643            id=d.get('id'),
32644            key_type=d.get('key_type'),
32645            lock_required=d.get('lock_required'),
32646            name=d.get('name'),
32647            port=d.get('port'),
32648            port_forwarding=d.get('port_forwarding'),
32649            port_override=d.get('port_override'),
32650            proxy_cluster_id=d.get('proxy_cluster_id'),
32651            public_key=d.get('public_key'),
32652            secret_store_id=d.get('secret_store_id'),
32653            subdomain=d.get('subdomain'),
32654            tags=d.get('tags'),
32655            username=d.get('username'),
32656        )
32657
32658
32659class SSHCert:
32660    __slots__ = [
32661        'allow_deprecated_key_exchanges',
32662        'bind_interface',
32663        'egress_filter',
32664        'healthy',
32665        'hostname',
32666        'id',
32667        'identity_alias_healthcheck_username',
32668        'identity_set_id',
32669        'key_type',
32670        'lock_required',
32671        'name',
32672        'port',
32673        'port_forwarding',
32674        'port_override',
32675        'proxy_cluster_id',
32676        'secret_store_id',
32677        'subdomain',
32678        'tags',
32679        'username',
32680    ]
32681
32682    def __init__(
32683        self,
32684        allow_deprecated_key_exchanges=None,
32685        bind_interface=None,
32686        egress_filter=None,
32687        healthy=None,
32688        hostname=None,
32689        id=None,
32690        identity_alias_healthcheck_username=None,
32691        identity_set_id=None,
32692        key_type=None,
32693        lock_required=None,
32694        name=None,
32695        port=None,
32696        port_forwarding=None,
32697        port_override=None,
32698        proxy_cluster_id=None,
32699        secret_store_id=None,
32700        subdomain=None,
32701        tags=None,
32702        username=None,
32703    ):
32704        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32705        '''
32706         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32707        '''
32708        self.bind_interface = bind_interface if bind_interface is not None else ''
32709        '''
32710         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32711        '''
32712        self.egress_filter = egress_filter if egress_filter is not None else ''
32713        '''
32714         A filter applied to the routing logic to pin datasource to nodes.
32715        '''
32716        self.healthy = healthy if healthy is not None else False
32717        '''
32718         True if the datasource is reachable and the credentials are valid.
32719        '''
32720        self.hostname = hostname if hostname is not None else ''
32721        '''
32722         The host to dial to initiate a connection from the egress node to this resource.
32723        '''
32724        self.id = id if id is not None else ''
32725        '''
32726         Unique identifier of the Resource.
32727        '''
32728        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32729        '''
32730         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32731        '''
32732        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32733        '''
32734         The ID of the identity set to use for identity connections.
32735        '''
32736        self.key_type = key_type if key_type is not None else ''
32737        '''
32738         The key type to use e.g. rsa-2048 or ed25519
32739        '''
32740        self.lock_required = lock_required if lock_required is not None else False
32741        '''
32742         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32743        '''
32744        self.name = name if name is not None else ''
32745        '''
32746         Unique human-readable name of the Resource.
32747        '''
32748        self.port = port if port is not None else 0
32749        '''
32750         The port to dial to initiate a connection from the egress node to this resource.
32751        '''
32752        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32753        '''
32754         Whether port forwarding is allowed through this server.
32755        '''
32756        self.port_override = port_override if port_override is not None else 0
32757        '''
32758         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32759        '''
32760        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32761        '''
32762         ID of the proxy cluster for this resource, if any.
32763        '''
32764        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32765        '''
32766         ID of the secret store containing credentials for this resource, if any.
32767        '''
32768        self.subdomain = subdomain if subdomain is not None else ''
32769        '''
32770         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32771        '''
32772        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32773        '''
32774         Tags is a map of key, value pairs.
32775        '''
32776        self.username = username if username is not None else ''
32777        '''
32778         The username to authenticate with.
32779        '''
32780
32781    def __repr__(self):
32782        return '<sdm.SSHCert ' + \
32783            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
32784            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32785            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32786            'healthy: ' + repr(self.healthy) + ' ' +\
32787            'hostname: ' + repr(self.hostname) + ' ' +\
32788            'id: ' + repr(self.id) + ' ' +\
32789            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
32790            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
32791            'key_type: ' + repr(self.key_type) + ' ' +\
32792            'lock_required: ' + repr(self.lock_required) + ' ' +\
32793            'name: ' + repr(self.name) + ' ' +\
32794            'port: ' + repr(self.port) + ' ' +\
32795            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
32796            'port_override: ' + repr(self.port_override) + ' ' +\
32797            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32798            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32799            'subdomain: ' + repr(self.subdomain) + ' ' +\
32800            'tags: ' + repr(self.tags) + ' ' +\
32801            'username: ' + repr(self.username) + ' ' +\
32802            '>'
32803
32804    def to_dict(self):
32805        return {
32806            'allow_deprecated_key_exchanges':
32807            self.allow_deprecated_key_exchanges,
32808            'bind_interface': self.bind_interface,
32809            'egress_filter': self.egress_filter,
32810            'healthy': self.healthy,
32811            'hostname': self.hostname,
32812            'id': self.id,
32813            'identity_alias_healthcheck_username':
32814            self.identity_alias_healthcheck_username,
32815            'identity_set_id': self.identity_set_id,
32816            'key_type': self.key_type,
32817            'lock_required': self.lock_required,
32818            'name': self.name,
32819            'port': self.port,
32820            'port_forwarding': self.port_forwarding,
32821            'port_override': self.port_override,
32822            'proxy_cluster_id': self.proxy_cluster_id,
32823            'secret_store_id': self.secret_store_id,
32824            'subdomain': self.subdomain,
32825            'tags': self.tags,
32826            'username': self.username,
32827        }
32828
32829    @classmethod
32830    def from_dict(cls, d):
32831        return cls(
32832            allow_deprecated_key_exchanges=d.get(
32833                'allow_deprecated_key_exchanges'),
32834            bind_interface=d.get('bind_interface'),
32835            egress_filter=d.get('egress_filter'),
32836            healthy=d.get('healthy'),
32837            hostname=d.get('hostname'),
32838            id=d.get('id'),
32839            identity_alias_healthcheck_username=d.get(
32840                'identity_alias_healthcheck_username'),
32841            identity_set_id=d.get('identity_set_id'),
32842            key_type=d.get('key_type'),
32843            lock_required=d.get('lock_required'),
32844            name=d.get('name'),
32845            port=d.get('port'),
32846            port_forwarding=d.get('port_forwarding'),
32847            port_override=d.get('port_override'),
32848            proxy_cluster_id=d.get('proxy_cluster_id'),
32849            secret_store_id=d.get('secret_store_id'),
32850            subdomain=d.get('subdomain'),
32851            tags=d.get('tags'),
32852            username=d.get('username'),
32853        )
32854
32855
32856class SSHCustomerKey:
32857    __slots__ = [
32858        'allow_deprecated_key_exchanges',
32859        'bind_interface',
32860        'egress_filter',
32861        'healthy',
32862        'hostname',
32863        'id',
32864        'identity_alias_healthcheck_username',
32865        'identity_set_id',
32866        'lock_required',
32867        'name',
32868        'port',
32869        'port_forwarding',
32870        'port_override',
32871        'private_key',
32872        'proxy_cluster_id',
32873        'secret_store_id',
32874        'subdomain',
32875        'tags',
32876        'username',
32877    ]
32878
32879    def __init__(
32880        self,
32881        allow_deprecated_key_exchanges=None,
32882        bind_interface=None,
32883        egress_filter=None,
32884        healthy=None,
32885        hostname=None,
32886        id=None,
32887        identity_alias_healthcheck_username=None,
32888        identity_set_id=None,
32889        lock_required=None,
32890        name=None,
32891        port=None,
32892        port_forwarding=None,
32893        port_override=None,
32894        private_key=None,
32895        proxy_cluster_id=None,
32896        secret_store_id=None,
32897        subdomain=None,
32898        tags=None,
32899        username=None,
32900    ):
32901        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32902        '''
32903         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32904        '''
32905        self.bind_interface = bind_interface if bind_interface is not None else ''
32906        '''
32907         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32908        '''
32909        self.egress_filter = egress_filter if egress_filter is not None else ''
32910        '''
32911         A filter applied to the routing logic to pin datasource to nodes.
32912        '''
32913        self.healthy = healthy if healthy is not None else False
32914        '''
32915         True if the datasource is reachable and the credentials are valid.
32916        '''
32917        self.hostname = hostname if hostname is not None else ''
32918        '''
32919         The host to dial to initiate a connection from the egress node to this resource.
32920        '''
32921        self.id = id if id is not None else ''
32922        '''
32923         Unique identifier of the Resource.
32924        '''
32925        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32926        '''
32927         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32928        '''
32929        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32930        '''
32931         The ID of the identity set to use for identity connections.
32932        '''
32933        self.lock_required = lock_required if lock_required is not None else False
32934        '''
32935         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32936        '''
32937        self.name = name if name is not None else ''
32938        '''
32939         Unique human-readable name of the Resource.
32940        '''
32941        self.port = port if port is not None else 0
32942        '''
32943         The port to dial to initiate a connection from the egress node to this resource.
32944        '''
32945        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32946        '''
32947         Whether port forwarding is allowed through this server.
32948        '''
32949        self.port_override = port_override if port_override is not None else 0
32950        '''
32951         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32952        '''
32953        self.private_key = private_key if private_key is not None else ''
32954        '''
32955         The private key used to authenticate with the server.
32956        '''
32957        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32958        '''
32959         ID of the proxy cluster for this resource, if any.
32960        '''
32961        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32962        '''
32963         ID of the secret store containing credentials for this resource, if any.
32964        '''
32965        self.subdomain = subdomain if subdomain is not None else ''
32966        '''
32967         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32968        '''
32969        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32970        '''
32971         Tags is a map of key, value pairs.
32972        '''
32973        self.username = username if username is not None else ''
32974        '''
32975         The username to authenticate with.
32976        '''
32977
32978    def __repr__(self):
32979        return '<sdm.SSHCustomerKey ' + \
32980            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
32981            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32982            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32983            'healthy: ' + repr(self.healthy) + ' ' +\
32984            'hostname: ' + repr(self.hostname) + ' ' +\
32985            'id: ' + repr(self.id) + ' ' +\
32986            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
32987            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
32988            'lock_required: ' + repr(self.lock_required) + ' ' +\
32989            'name: ' + repr(self.name) + ' ' +\
32990            'port: ' + repr(self.port) + ' ' +\
32991            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
32992            'port_override: ' + repr(self.port_override) + ' ' +\
32993            'private_key: ' + repr(self.private_key) + ' ' +\
32994            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32995            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32996            'subdomain: ' + repr(self.subdomain) + ' ' +\
32997            'tags: ' + repr(self.tags) + ' ' +\
32998            'username: ' + repr(self.username) + ' ' +\
32999            '>'
33000
33001    def to_dict(self):
33002        return {
33003            'allow_deprecated_key_exchanges':
33004            self.allow_deprecated_key_exchanges,
33005            'bind_interface': self.bind_interface,
33006            'egress_filter': self.egress_filter,
33007            'healthy': self.healthy,
33008            'hostname': self.hostname,
33009            'id': self.id,
33010            'identity_alias_healthcheck_username':
33011            self.identity_alias_healthcheck_username,
33012            'identity_set_id': self.identity_set_id,
33013            'lock_required': self.lock_required,
33014            'name': self.name,
33015            'port': self.port,
33016            'port_forwarding': self.port_forwarding,
33017            'port_override': self.port_override,
33018            'private_key': self.private_key,
33019            'proxy_cluster_id': self.proxy_cluster_id,
33020            'secret_store_id': self.secret_store_id,
33021            'subdomain': self.subdomain,
33022            'tags': self.tags,
33023            'username': self.username,
33024        }
33025
33026    @classmethod
33027    def from_dict(cls, d):
33028        return cls(
33029            allow_deprecated_key_exchanges=d.get(
33030                'allow_deprecated_key_exchanges'),
33031            bind_interface=d.get('bind_interface'),
33032            egress_filter=d.get('egress_filter'),
33033            healthy=d.get('healthy'),
33034            hostname=d.get('hostname'),
33035            id=d.get('id'),
33036            identity_alias_healthcheck_username=d.get(
33037                'identity_alias_healthcheck_username'),
33038            identity_set_id=d.get('identity_set_id'),
33039            lock_required=d.get('lock_required'),
33040            name=d.get('name'),
33041            port=d.get('port'),
33042            port_forwarding=d.get('port_forwarding'),
33043            port_override=d.get('port_override'),
33044            private_key=d.get('private_key'),
33045            proxy_cluster_id=d.get('proxy_cluster_id'),
33046            secret_store_id=d.get('secret_store_id'),
33047            subdomain=d.get('subdomain'),
33048            tags=d.get('tags'),
33049            username=d.get('username'),
33050        )
33051
33052
33053class SSHPassword:
33054    __slots__ = [
33055        'allow_deprecated_key_exchanges',
33056        'bind_interface',
33057        'egress_filter',
33058        'healthy',
33059        'hostname',
33060        'id',
33061        'lock_required',
33062        'name',
33063        'password',
33064        'port',
33065        'port_forwarding',
33066        'port_override',
33067        'proxy_cluster_id',
33068        'secret_store_id',
33069        'subdomain',
33070        'tags',
33071        'username',
33072    ]
33073
33074    def __init__(
33075        self,
33076        allow_deprecated_key_exchanges=None,
33077        bind_interface=None,
33078        egress_filter=None,
33079        healthy=None,
33080        hostname=None,
33081        id=None,
33082        lock_required=None,
33083        name=None,
33084        password=None,
33085        port=None,
33086        port_forwarding=None,
33087        port_override=None,
33088        proxy_cluster_id=None,
33089        secret_store_id=None,
33090        subdomain=None,
33091        tags=None,
33092        username=None,
33093    ):
33094        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
33095        '''
33096         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
33097        '''
33098        self.bind_interface = bind_interface if bind_interface is not None else ''
33099        '''
33100         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
33101        '''
33102        self.egress_filter = egress_filter if egress_filter is not None else ''
33103        '''
33104         A filter applied to the routing logic to pin datasource to nodes.
33105        '''
33106        self.healthy = healthy if healthy is not None else False
33107        '''
33108         True if the datasource is reachable and the credentials are valid.
33109        '''
33110        self.hostname = hostname if hostname is not None else ''
33111        '''
33112         The host to dial to initiate a connection from the egress node to this resource.
33113        '''
33114        self.id = id if id is not None else ''
33115        '''
33116         Unique identifier of the Resource.
33117        '''
33118        self.lock_required = lock_required if lock_required is not None else False
33119        '''
33120         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
33121        '''
33122        self.name = name if name is not None else ''
33123        '''
33124         Unique human-readable name of the Resource.
33125        '''
33126        self.password = password if password is not None else ''
33127        '''
33128         The password to authenticate with.
33129        '''
33130        self.port = port if port is not None else 0
33131        '''
33132         The port to dial to initiate a connection from the egress node to this resource.
33133        '''
33134        self.port_forwarding = port_forwarding if port_forwarding is not None else False
33135        '''
33136         Whether port forwarding is allowed through this server.
33137        '''
33138        self.port_override = port_override if port_override is not None else 0
33139        '''
33140         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
33141        '''
33142        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
33143        '''
33144         ID of the proxy cluster for this resource, if any.
33145        '''
33146        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33147        '''
33148         ID of the secret store containing credentials for this resource, if any.
33149        '''
33150        self.subdomain = subdomain if subdomain is not None else ''
33151        '''
33152         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
33153        '''
33154        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33155        '''
33156         Tags is a map of key, value pairs.
33157        '''
33158        self.username = username if username is not None else ''
33159        '''
33160         The username to authenticate with.
33161        '''
33162
33163    def __repr__(self):
33164        return '<sdm.SSHPassword ' + \
33165            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
33166            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
33167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
33168            'healthy: ' + repr(self.healthy) + ' ' +\
33169            'hostname: ' + repr(self.hostname) + ' ' +\
33170            'id: ' + repr(self.id) + ' ' +\
33171            'lock_required: ' + repr(self.lock_required) + ' ' +\
33172            'name: ' + repr(self.name) + ' ' +\
33173            'password: ' + repr(self.password) + ' ' +\
33174            'port: ' + repr(self.port) + ' ' +\
33175            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
33176            'port_override: ' + repr(self.port_override) + ' ' +\
33177            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
33178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
33179            'subdomain: ' + repr(self.subdomain) + ' ' +\
33180            'tags: ' + repr(self.tags) + ' ' +\
33181            'username: ' + repr(self.username) + ' ' +\
33182            '>'
33183
33184    def to_dict(self):
33185        return {
33186            'allow_deprecated_key_exchanges':
33187            self.allow_deprecated_key_exchanges,
33188            'bind_interface': self.bind_interface,
33189            'egress_filter': self.egress_filter,
33190            'healthy': self.healthy,
33191            'hostname': self.hostname,
33192            'id': self.id,
33193            'lock_required': self.lock_required,
33194            'name': self.name,
33195            'password': self.password,
33196            'port': self.port,
33197            'port_forwarding': self.port_forwarding,
33198            'port_override': self.port_override,
33199            'proxy_cluster_id': self.proxy_cluster_id,
33200            'secret_store_id': self.secret_store_id,
33201            'subdomain': self.subdomain,
33202            'tags': self.tags,
33203            'username': self.username,
33204        }
33205
33206    @classmethod
33207    def from_dict(cls, d):
33208        return cls(
33209            allow_deprecated_key_exchanges=d.get(
33210                'allow_deprecated_key_exchanges'),
33211            bind_interface=d.get('bind_interface'),
33212            egress_filter=d.get('egress_filter'),
33213            healthy=d.get('healthy'),
33214            hostname=d.get('hostname'),
33215            id=d.get('id'),
33216            lock_required=d.get('lock_required'),
33217            name=d.get('name'),
33218            password=d.get('password'),
33219            port=d.get('port'),
33220            port_forwarding=d.get('port_forwarding'),
33221            port_override=d.get('port_override'),
33222            proxy_cluster_id=d.get('proxy_cluster_id'),
33223            secret_store_id=d.get('secret_store_id'),
33224            subdomain=d.get('subdomain'),
33225            tags=d.get('tags'),
33226            username=d.get('username'),
33227        )
33228
33229
33230class SecretEngineCreateRequest:
33231    '''
33232         SecretEngineCreateRequest specifies a Secret Engine to create.
33233    '''
33234    __slots__ = [
33235        'secret_engine',
33236    ]
33237
33238    def __init__(
33239        self,
33240        secret_engine=None,
33241    ):
33242        self.secret_engine = secret_engine if secret_engine is not None else None
33243        '''
33244         Parameters to define the new Secret Engine.
33245        '''
33246
33247    def __repr__(self):
33248        return '<sdm.SecretEngineCreateRequest ' + \
33249            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33250            '>'
33251
33252    def to_dict(self):
33253        return {
33254            'secret_engine': self.secret_engine,
33255        }
33256
33257    @classmethod
33258    def from_dict(cls, d):
33259        return cls(secret_engine=d.get('secret_engine'), )
33260
33261
33262class SecretEngineCreateResponse:
33263    '''
33264         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
33265    '''
33266    __slots__ = [
33267        'meta',
33268        'rate_limit',
33269        'secret_engine',
33270    ]
33271
33272    def __init__(
33273        self,
33274        meta=None,
33275        rate_limit=None,
33276        secret_engine=None,
33277    ):
33278        self.meta = meta if meta is not None else None
33279        '''
33280         Reserved for future use.
33281        '''
33282        self.rate_limit = rate_limit if rate_limit is not None else None
33283        '''
33284         Rate limit information.
33285        '''
33286        self.secret_engine = secret_engine if secret_engine is not None else None
33287        '''
33288         The requested Secret Engine.
33289        '''
33290
33291    def __repr__(self):
33292        return '<sdm.SecretEngineCreateResponse ' + \
33293            'meta: ' + repr(self.meta) + ' ' +\
33294            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33295            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33296            '>'
33297
33298    def to_dict(self):
33299        return {
33300            'meta': self.meta,
33301            'rate_limit': self.rate_limit,
33302            'secret_engine': self.secret_engine,
33303        }
33304
33305    @classmethod
33306    def from_dict(cls, d):
33307        return cls(
33308            meta=d.get('meta'),
33309            rate_limit=d.get('rate_limit'),
33310            secret_engine=d.get('secret_engine'),
33311        )
33312
33313
33314class SecretEngineDeleteRequest:
33315    '''
33316         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
33317    '''
33318    __slots__ = [
33319        'id',
33320    ]
33321
33322    def __init__(
33323        self,
33324        id=None,
33325    ):
33326        self.id = id if id is not None else ''
33327        '''
33328         The unique identifier of the Secret Engine to delete.
33329        '''
33330
33331    def __repr__(self):
33332        return '<sdm.SecretEngineDeleteRequest ' + \
33333            'id: ' + repr(self.id) + ' ' +\
33334            '>'
33335
33336    def to_dict(self):
33337        return {
33338            'id': self.id,
33339        }
33340
33341    @classmethod
33342    def from_dict(cls, d):
33343        return cls(id=d.get('id'), )
33344
33345
33346class SecretEngineDeleteResponse:
33347    '''
33348         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
33349    '''
33350    __slots__ = [
33351        'rate_limit',
33352    ]
33353
33354    def __init__(
33355        self,
33356        rate_limit=None,
33357    ):
33358        self.rate_limit = rate_limit if rate_limit is not None else None
33359        '''
33360         Rate limit information.
33361        '''
33362
33363    def __repr__(self):
33364        return '<sdm.SecretEngineDeleteResponse ' + \
33365            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33366            '>'
33367
33368    def to_dict(self):
33369        return {
33370            'rate_limit': self.rate_limit,
33371        }
33372
33373    @classmethod
33374    def from_dict(cls, d):
33375        return cls(rate_limit=d.get('rate_limit'), )
33376
33377
33378class SecretEngineGetRequest:
33379    '''
33380         SecretEngineGetRequest specifies which Secret Engine to retrieve
33381    '''
33382    __slots__ = [
33383        'id',
33384    ]
33385
33386    def __init__(
33387        self,
33388        id=None,
33389    ):
33390        self.id = id if id is not None else ''
33391        '''
33392         The unique identifier of the Secret Engine to retrieve.
33393        '''
33394
33395    def __repr__(self):
33396        return '<sdm.SecretEngineGetRequest ' + \
33397            'id: ' + repr(self.id) + ' ' +\
33398            '>'
33399
33400    def to_dict(self):
33401        return {
33402            'id': self.id,
33403        }
33404
33405    @classmethod
33406    def from_dict(cls, d):
33407        return cls(id=d.get('id'), )
33408
33409
33410class SecretEngineGetResponse:
33411    '''
33412         SecretEngineGetResponse contains information about requested Secret Engine
33413    '''
33414    __slots__ = [
33415        'meta',
33416        'rate_limit',
33417        'secret_engine',
33418    ]
33419
33420    def __init__(
33421        self,
33422        meta=None,
33423        rate_limit=None,
33424        secret_engine=None,
33425    ):
33426        self.meta = meta if meta is not None else None
33427        '''
33428         Reserved for future use.
33429        '''
33430        self.rate_limit = rate_limit if rate_limit is not None else None
33431        '''
33432         Rate limit information.
33433        '''
33434        self.secret_engine = secret_engine if secret_engine is not None else None
33435        '''
33436         The requested Secret Engine.
33437        '''
33438
33439    def __repr__(self):
33440        return '<sdm.SecretEngineGetResponse ' + \
33441            'meta: ' + repr(self.meta) + ' ' +\
33442            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33443            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33444            '>'
33445
33446    def to_dict(self):
33447        return {
33448            'meta': self.meta,
33449            'rate_limit': self.rate_limit,
33450            'secret_engine': self.secret_engine,
33451        }
33452
33453    @classmethod
33454    def from_dict(cls, d):
33455        return cls(
33456            meta=d.get('meta'),
33457            rate_limit=d.get('rate_limit'),
33458            secret_engine=d.get('secret_engine'),
33459        )
33460
33461
33462class SecretEngineListRequest:
33463    '''
33464         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
33465    '''
33466    __slots__ = [
33467        'filter',
33468    ]
33469
33470    def __init__(
33471        self,
33472        filter=None,
33473    ):
33474        self.filter = filter if filter is not None else ''
33475        '''
33476         A human-readable filter query string.
33477        '''
33478
33479    def __repr__(self):
33480        return '<sdm.SecretEngineListRequest ' + \
33481            'filter: ' + repr(self.filter) + ' ' +\
33482            '>'
33483
33484    def to_dict(self):
33485        return {
33486            'filter': self.filter,
33487        }
33488
33489    @classmethod
33490    def from_dict(cls, d):
33491        return cls(filter=d.get('filter'), )
33492
33493
33494class SecretEngineListResponse:
33495    '''
33496         SecretEngineListResponse contains a list of requested Secret Engine
33497    '''
33498    __slots__ = [
33499        'rate_limit',
33500    ]
33501
33502    def __init__(
33503        self,
33504        rate_limit=None,
33505    ):
33506        self.rate_limit = rate_limit if rate_limit is not None else None
33507        '''
33508         Rate limit information.
33509        '''
33510
33511    def __repr__(self):
33512        return '<sdm.SecretEngineListResponse ' + \
33513            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33514            '>'
33515
33516    def to_dict(self):
33517        return {
33518            'rate_limit': self.rate_limit,
33519        }
33520
33521    @classmethod
33522    def from_dict(cls, d):
33523        return cls(rate_limit=d.get('rate_limit'), )
33524
33525
33526class SecretEnginePasswordPolicy:
33527    __slots__ = [
33528        'allow_repeat',
33529        'exclude_characters',
33530        'exclude_upper_case',
33531        'length',
33532        'num_digits',
33533        'num_symbols',
33534    ]
33535
33536    def __init__(
33537        self,
33538        allow_repeat=None,
33539        exclude_characters=None,
33540        exclude_upper_case=None,
33541        length=None,
33542        num_digits=None,
33543        num_symbols=None,
33544    ):
33545        self.allow_repeat = allow_repeat if allow_repeat is not None else False
33546        '''
33547         If set to true allows for consecutive characters to repeat itself
33548        '''
33549        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
33550        '''
33551         Characters to exclude when generating password
33552        '''
33553        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
33554        '''
33555         If set to true do not include upper case letters when generating password
33556        '''
33557        self.length = length if length is not None else 0
33558        '''
33559         Password length.
33560        '''
33561        self.num_digits = num_digits if num_digits is not None else 0
33562        '''
33563         Numbers of digits to use when generating password
33564        '''
33565        self.num_symbols = num_symbols if num_symbols is not None else 0
33566        '''
33567         Number of symbols to use when generating password
33568        '''
33569
33570    def __repr__(self):
33571        return '<sdm.SecretEnginePasswordPolicy ' + \
33572            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
33573            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
33574            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
33575            'length: ' + repr(self.length) + ' ' +\
33576            'num_digits: ' + repr(self.num_digits) + ' ' +\
33577            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
33578            '>'
33579
33580    def to_dict(self):
33581        return {
33582            'allow_repeat': self.allow_repeat,
33583            'exclude_characters': self.exclude_characters,
33584            'exclude_upper_case': self.exclude_upper_case,
33585            'length': self.length,
33586            'num_digits': self.num_digits,
33587            'num_symbols': self.num_symbols,
33588        }
33589
33590    @classmethod
33591    def from_dict(cls, d):
33592        return cls(
33593            allow_repeat=d.get('allow_repeat'),
33594            exclude_characters=d.get('exclude_characters'),
33595            exclude_upper_case=d.get('exclude_upper_case'),
33596            length=d.get('length'),
33597            num_digits=d.get('num_digits'),
33598            num_symbols=d.get('num_symbols'),
33599        )
33600
33601
33602class SecretEnginePolicy:
33603    __slots__ = [
33604        'password_policy',
33605    ]
33606
33607    def __init__(
33608        self,
33609        password_policy=None,
33610    ):
33611        self.password_policy = password_policy if password_policy is not None else None
33612        '''
33613         Policy for password
33614        '''
33615
33616    def __repr__(self):
33617        return '<sdm.SecretEnginePolicy ' + \
33618            'password_policy: ' + repr(self.password_policy) + ' ' +\
33619            '>'
33620
33621    def to_dict(self):
33622        return {
33623            'password_policy': self.password_policy,
33624        }
33625
33626    @classmethod
33627    def from_dict(cls, d):
33628        return cls(password_policy=d.get('password_policy'), )
33629
33630
33631class SecretEngineRotateRequest:
33632    __slots__ = [
33633        'id',
33634        'password_policy',
33635    ]
33636
33637    def __init__(
33638        self,
33639        id=None,
33640        password_policy=None,
33641    ):
33642        self.id = id if id is not None else ''
33643        '''
33644         The unique identifier of the Secret Engine to rotate credentials for.
33645        '''
33646        self.password_policy = password_policy if password_policy is not None else None
33647        '''
33648         Optional password policy to use when generating a password
33649         If not provided it will use secret engine's password_policy
33650        '''
33651
33652    def __repr__(self):
33653        return '<sdm.SecretEngineRotateRequest ' + \
33654            'id: ' + repr(self.id) + ' ' +\
33655            'password_policy: ' + repr(self.password_policy) + ' ' +\
33656            '>'
33657
33658    def to_dict(self):
33659        return {
33660            'id': self.id,
33661            'password_policy': self.password_policy,
33662        }
33663
33664    @classmethod
33665    def from_dict(cls, d):
33666        return cls(
33667            id=d.get('id'),
33668            password_policy=d.get('password_policy'),
33669        )
33670
33671
33672class SecretEngineRotateResponse:
33673    __slots__ = [
33674        'rate_limit',
33675    ]
33676
33677    def __init__(
33678        self,
33679        rate_limit=None,
33680    ):
33681        self.rate_limit = rate_limit if rate_limit is not None else None
33682        '''
33683         Rate limit information.
33684        '''
33685
33686    def __repr__(self):
33687        return '<sdm.SecretEngineRotateResponse ' + \
33688            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33689            '>'
33690
33691    def to_dict(self):
33692        return {
33693            'rate_limit': self.rate_limit,
33694        }
33695
33696    @classmethod
33697    def from_dict(cls, d):
33698        return cls(rate_limit=d.get('rate_limit'), )
33699
33700
33701class SecretEngineUpdateRequest:
33702    '''
33703         SecretEngineUpdateRequest specifies secret engine to update
33704    '''
33705    __slots__ = [
33706        'secret_engine',
33707    ]
33708
33709    def __init__(
33710        self,
33711        secret_engine=None,
33712    ):
33713        self.secret_engine = secret_engine if secret_engine is not None else None
33714        '''
33715         Secret engine to update
33716        '''
33717
33718    def __repr__(self):
33719        return '<sdm.SecretEngineUpdateRequest ' + \
33720            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33721            '>'
33722
33723    def to_dict(self):
33724        return {
33725            'secret_engine': self.secret_engine,
33726        }
33727
33728    @classmethod
33729    def from_dict(cls, d):
33730        return cls(secret_engine=d.get('secret_engine'), )
33731
33732
33733class SecretEngineUpdateResponse:
33734    '''
33735         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
33736    '''
33737    __slots__ = [
33738        'meta',
33739        'rate_limit',
33740        'secret_engine',
33741    ]
33742
33743    def __init__(
33744        self,
33745        meta=None,
33746        rate_limit=None,
33747        secret_engine=None,
33748    ):
33749        self.meta = meta if meta is not None else None
33750        '''
33751         Reserved for future use.
33752        '''
33753        self.rate_limit = rate_limit if rate_limit is not None else None
33754        '''
33755         Rate limit information.
33756        '''
33757        self.secret_engine = secret_engine if secret_engine is not None else None
33758        '''
33759         The requested Secret Engine.
33760        '''
33761
33762    def __repr__(self):
33763        return '<sdm.SecretEngineUpdateResponse ' + \
33764            'meta: ' + repr(self.meta) + ' ' +\
33765            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33766            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33767            '>'
33768
33769    def to_dict(self):
33770        return {
33771            'meta': self.meta,
33772            'rate_limit': self.rate_limit,
33773            'secret_engine': self.secret_engine,
33774        }
33775
33776    @classmethod
33777    def from_dict(cls, d):
33778        return cls(
33779            meta=d.get('meta'),
33780            rate_limit=d.get('rate_limit'),
33781            secret_engine=d.get('secret_engine'),
33782        )
33783
33784
33785class SecretStoreCreateResponse:
33786    '''
33787         SecretStoreCreateResponse reports how the SecretStores were created in the system.
33788    '''
33789    __slots__ = [
33790        'meta',
33791        'rate_limit',
33792        'secret_store',
33793    ]
33794
33795    def __init__(
33796        self,
33797        meta=None,
33798        rate_limit=None,
33799        secret_store=None,
33800    ):
33801        self.meta = meta if meta is not None else None
33802        '''
33803         Reserved for future use.
33804        '''
33805        self.rate_limit = rate_limit if rate_limit is not None else None
33806        '''
33807         Rate limit information.
33808        '''
33809        self.secret_store = secret_store if secret_store is not None else None
33810        '''
33811         The created SecretStore.
33812        '''
33813
33814    def __repr__(self):
33815        return '<sdm.SecretStoreCreateResponse ' + \
33816            'meta: ' + repr(self.meta) + ' ' +\
33817            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33818            'secret_store: ' + repr(self.secret_store) + ' ' +\
33819            '>'
33820
33821    def to_dict(self):
33822        return {
33823            'meta': self.meta,
33824            'rate_limit': self.rate_limit,
33825            'secret_store': self.secret_store,
33826        }
33827
33828    @classmethod
33829    def from_dict(cls, d):
33830        return cls(
33831            meta=d.get('meta'),
33832            rate_limit=d.get('rate_limit'),
33833            secret_store=d.get('secret_store'),
33834        )
33835
33836
33837class SecretStoreDeleteResponse:
33838    '''
33839         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
33840    '''
33841    __slots__ = [
33842        'meta',
33843        'rate_limit',
33844    ]
33845
33846    def __init__(
33847        self,
33848        meta=None,
33849        rate_limit=None,
33850    ):
33851        self.meta = meta if meta is not None else None
33852        '''
33853         Reserved for future use.
33854        '''
33855        self.rate_limit = rate_limit if rate_limit is not None else None
33856        '''
33857         Rate limit information.
33858        '''
33859
33860    def __repr__(self):
33861        return '<sdm.SecretStoreDeleteResponse ' + \
33862            'meta: ' + repr(self.meta) + ' ' +\
33863            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33864            '>'
33865
33866    def to_dict(self):
33867        return {
33868            'meta': self.meta,
33869            'rate_limit': self.rate_limit,
33870        }
33871
33872    @classmethod
33873    def from_dict(cls, d):
33874        return cls(
33875            meta=d.get('meta'),
33876            rate_limit=d.get('rate_limit'),
33877        )
33878
33879
33880class SecretStoreGetResponse:
33881    '''
33882         SecretStoreGetResponse returns a requested SecretStore.
33883    '''
33884    __slots__ = [
33885        'meta',
33886        'rate_limit',
33887        'secret_store',
33888    ]
33889
33890    def __init__(
33891        self,
33892        meta=None,
33893        rate_limit=None,
33894        secret_store=None,
33895    ):
33896        self.meta = meta if meta is not None else None
33897        '''
33898         Reserved for future use.
33899        '''
33900        self.rate_limit = rate_limit if rate_limit is not None else None
33901        '''
33902         Rate limit information.
33903        '''
33904        self.secret_store = secret_store if secret_store is not None else None
33905        '''
33906         The requested SecretStore.
33907        '''
33908
33909    def __repr__(self):
33910        return '<sdm.SecretStoreGetResponse ' + \
33911            'meta: ' + repr(self.meta) + ' ' +\
33912            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33913            'secret_store: ' + repr(self.secret_store) + ' ' +\
33914            '>'
33915
33916    def to_dict(self):
33917        return {
33918            'meta': self.meta,
33919            'rate_limit': self.rate_limit,
33920            'secret_store': self.secret_store,
33921        }
33922
33923    @classmethod
33924    def from_dict(cls, d):
33925        return cls(
33926            meta=d.get('meta'),
33927            rate_limit=d.get('rate_limit'),
33928            secret_store=d.get('secret_store'),
33929        )
33930
33931
33932class SecretStoreHealth:
33933    '''
33934         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
33935     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
33936     or set of nodes.
33937    '''
33938    __slots__ = [
33939        'changed_at',
33940        'checked_at',
33941        'error',
33942        'flags',
33943        'node_id',
33944        'reachability',
33945        'secret_store_id',
33946        'status',
33947    ]
33948
33949    def __init__(
33950        self,
33951        changed_at=None,
33952        checked_at=None,
33953        error=None,
33954        flags=None,
33955        node_id=None,
33956        reachability=None,
33957        secret_store_id=None,
33958        status=None,
33959    ):
33960        self.changed_at = changed_at if changed_at is not None else None
33961        '''
33962         The time when the status last changed
33963        '''
33964        self.checked_at = checked_at if checked_at is not None else None
33965        '''
33966         The time when the status was last checked by the node
33967        '''
33968        self.error = error if error is not None else ''
33969        '''
33970         The error associated with this health check, if it occurred after reachability checks succeeded.
33971        '''
33972        self.flags = flags if flags is not None else []
33973        '''
33974         Any specific status or error flags associated with this health check.
33975        '''
33976        self.node_id = node_id if node_id is not None else ''
33977        '''
33978         Associated node id for this health
33979        '''
33980        self.reachability = reachability if reachability is not None else ''
33981        '''
33982         The error associated with this health check, if it occurred during reachability checks.
33983        '''
33984        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33985        '''
33986         Associated secret store for this health
33987        '''
33988        self.status = status if status is not None else ''
33989        '''
33990         The status of the link between the node and secret store
33991        '''
33992
33993    def __repr__(self):
33994        return '<sdm.SecretStoreHealth ' + \
33995            'changed_at: ' + repr(self.changed_at) + ' ' +\
33996            'checked_at: ' + repr(self.checked_at) + ' ' +\
33997            'error: ' + repr(self.error) + ' ' +\
33998            'flags: ' + repr(self.flags) + ' ' +\
33999            'node_id: ' + repr(self.node_id) + ' ' +\
34000            'reachability: ' + repr(self.reachability) + ' ' +\
34001            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34002            'status: ' + repr(self.status) + ' ' +\
34003            '>'
34004
34005    def to_dict(self):
34006        return {
34007            'changed_at': self.changed_at,
34008            'checked_at': self.checked_at,
34009            'error': self.error,
34010            'flags': self.flags,
34011            'node_id': self.node_id,
34012            'reachability': self.reachability,
34013            'secret_store_id': self.secret_store_id,
34014            'status': self.status,
34015        }
34016
34017    @classmethod
34018    def from_dict(cls, d):
34019        return cls(
34020            changed_at=d.get('changed_at'),
34021            checked_at=d.get('checked_at'),
34022            error=d.get('error'),
34023            flags=d.get('flags'),
34024            node_id=d.get('node_id'),
34025            reachability=d.get('reachability'),
34026            secret_store_id=d.get('secret_store_id'),
34027            status=d.get('status'),
34028        )
34029
34030
34031class SecretStoreHealthListResponse:
34032    __slots__ = [
34033        'rate_limit',
34034    ]
34035
34036    def __init__(
34037        self,
34038        rate_limit=None,
34039    ):
34040        self.rate_limit = rate_limit if rate_limit is not None else None
34041        '''
34042         Rate limit information.
34043        '''
34044
34045    def __repr__(self):
34046        return '<sdm.SecretStoreHealthListResponse ' + \
34047            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34048            '>'
34049
34050    def to_dict(self):
34051        return {
34052            'rate_limit': self.rate_limit,
34053        }
34054
34055    @classmethod
34056    def from_dict(cls, d):
34057        return cls(rate_limit=d.get('rate_limit'), )
34058
34059
34060class SecretStoreHealthcheckResponse:
34061    __slots__ = [
34062        'rate_limit',
34063    ]
34064
34065    def __init__(
34066        self,
34067        rate_limit=None,
34068    ):
34069        self.rate_limit = rate_limit if rate_limit is not None else None
34070        '''
34071         Rate limit information.
34072        '''
34073
34074    def __repr__(self):
34075        return '<sdm.SecretStoreHealthcheckResponse ' + \
34076            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34077            '>'
34078
34079    def to_dict(self):
34080        return {
34081            'rate_limit': self.rate_limit,
34082        }
34083
34084    @classmethod
34085    def from_dict(cls, d):
34086        return cls(rate_limit=d.get('rate_limit'), )
34087
34088
34089class SecretStoreHistory:
34090    '''
34091         SecretStoreHistory records the state of a SecretStore at a given point in time,
34092     where every change (create, update and delete) to a SecretStore produces an
34093     SecretStoreHistory record.
34094    '''
34095    __slots__ = [
34096        'activity_id',
34097        'deleted_at',
34098        'secret_store',
34099        'timestamp',
34100    ]
34101
34102    def __init__(
34103        self,
34104        activity_id=None,
34105        deleted_at=None,
34106        secret_store=None,
34107        timestamp=None,
34108    ):
34109        self.activity_id = activity_id if activity_id is not None else ''
34110        '''
34111         The unique identifier of the Activity that produced this change to the SecretStore.
34112         May be empty for some system-initiated updates.
34113        '''
34114        self.deleted_at = deleted_at if deleted_at is not None else None
34115        '''
34116         If this SecretStore was deleted, the time it was deleted.
34117        '''
34118        self.secret_store = secret_store if secret_store is not None else None
34119        '''
34120         The complete SecretStore state at this time.
34121        '''
34122        self.timestamp = timestamp if timestamp is not None else None
34123        '''
34124         The time at which the SecretStore state was recorded.
34125        '''
34126
34127    def __repr__(self):
34128        return '<sdm.SecretStoreHistory ' + \
34129            'activity_id: ' + repr(self.activity_id) + ' ' +\
34130            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34131            'secret_store: ' + repr(self.secret_store) + ' ' +\
34132            'timestamp: ' + repr(self.timestamp) + ' ' +\
34133            '>'
34134
34135    def to_dict(self):
34136        return {
34137            'activity_id': self.activity_id,
34138            'deleted_at': self.deleted_at,
34139            'secret_store': self.secret_store,
34140            'timestamp': self.timestamp,
34141        }
34142
34143    @classmethod
34144    def from_dict(cls, d):
34145        return cls(
34146            activity_id=d.get('activity_id'),
34147            deleted_at=d.get('deleted_at'),
34148            secret_store=d.get('secret_store'),
34149            timestamp=d.get('timestamp'),
34150        )
34151
34152
34153class SecretStoreUpdateResponse:
34154    '''
34155         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
34156     a SecretStoreUpdateRequest.
34157    '''
34158    __slots__ = [
34159        'meta',
34160        'rate_limit',
34161        'secret_store',
34162    ]
34163
34164    def __init__(
34165        self,
34166        meta=None,
34167        rate_limit=None,
34168        secret_store=None,
34169    ):
34170        self.meta = meta if meta is not None else None
34171        '''
34172         Reserved for future use.
34173        '''
34174        self.rate_limit = rate_limit if rate_limit is not None else None
34175        '''
34176         Rate limit information.
34177        '''
34178        self.secret_store = secret_store if secret_store is not None else None
34179        '''
34180         The updated SecretStore.
34181        '''
34182
34183    def __repr__(self):
34184        return '<sdm.SecretStoreUpdateResponse ' + \
34185            'meta: ' + repr(self.meta) + ' ' +\
34186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34187            'secret_store: ' + repr(self.secret_store) + ' ' +\
34188            '>'
34189
34190    def to_dict(self):
34191        return {
34192            'meta': self.meta,
34193            'rate_limit': self.rate_limit,
34194            'secret_store': self.secret_store,
34195        }
34196
34197    @classmethod
34198    def from_dict(cls, d):
34199        return cls(
34200            meta=d.get('meta'),
34201            rate_limit=d.get('rate_limit'),
34202            secret_store=d.get('secret_store'),
34203        )
34204
34205
34206class Service:
34207    '''
34208         A Service is a service account that can connect to resources they are granted
34209     directly, or granted via roles. Services are typically automated jobs.
34210    '''
34211    __slots__ = [
34212        'created_at',
34213        'id',
34214        'name',
34215        'suspended',
34216        'tags',
34217    ]
34218
34219    def __init__(
34220        self,
34221        created_at=None,
34222        id=None,
34223        name=None,
34224        suspended=None,
34225        tags=None,
34226    ):
34227        self.created_at = created_at if created_at is not None else None
34228        '''
34229         CreatedAt is the timestamp when the service was created
34230        '''
34231        self.id = id if id is not None else ''
34232        '''
34233         Unique identifier of the Service.
34234        '''
34235        self.name = name if name is not None else ''
34236        '''
34237         Unique human-readable name of the Service.
34238        '''
34239        self.suspended = suspended if suspended is not None else False
34240        '''
34241         The Service's suspended state.
34242        '''
34243        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34244        '''
34245         Tags is a map of key, value pairs.
34246        '''
34247
34248    def __repr__(self):
34249        return '<sdm.Service ' + \
34250            'created_at: ' + repr(self.created_at) + ' ' +\
34251            'id: ' + repr(self.id) + ' ' +\
34252            'name: ' + repr(self.name) + ' ' +\
34253            'suspended: ' + repr(self.suspended) + ' ' +\
34254            'tags: ' + repr(self.tags) + ' ' +\
34255            '>'
34256
34257    def to_dict(self):
34258        return {
34259            'created_at': self.created_at,
34260            'id': self.id,
34261            'name': self.name,
34262            'suspended': self.suspended,
34263            'tags': self.tags,
34264        }
34265
34266    @classmethod
34267    def from_dict(cls, d):
34268        return cls(
34269            created_at=d.get('created_at'),
34270            id=d.get('id'),
34271            name=d.get('name'),
34272            suspended=d.get('suspended'),
34273            tags=d.get('tags'),
34274        )
34275
34276
34277class SingleStore:
34278    __slots__ = [
34279        'bind_interface',
34280        'database',
34281        'egress_filter',
34282        'healthy',
34283        'hostname',
34284        'id',
34285        'name',
34286        'password',
34287        'port',
34288        'port_override',
34289        'proxy_cluster_id',
34290        'require_native_auth',
34291        'secret_store_id',
34292        'subdomain',
34293        'tags',
34294        'use_azure_single_server_usernames',
34295        'username',
34296    ]
34297
34298    def __init__(
34299        self,
34300        bind_interface=None,
34301        database=None,
34302        egress_filter=None,
34303        healthy=None,
34304        hostname=None,
34305        id=None,
34306        name=None,
34307        password=None,
34308        port=None,
34309        port_override=None,
34310        proxy_cluster_id=None,
34311        require_native_auth=None,
34312        secret_store_id=None,
34313        subdomain=None,
34314        tags=None,
34315        use_azure_single_server_usernames=None,
34316        username=None,
34317    ):
34318        self.bind_interface = bind_interface if bind_interface is not None else ''
34319        '''
34320         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34321        '''
34322        self.database = database if database is not None else ''
34323        '''
34324         The database for healthchecks. Does not affect client requests.
34325        '''
34326        self.egress_filter = egress_filter if egress_filter is not None else ''
34327        '''
34328         A filter applied to the routing logic to pin datasource to nodes.
34329        '''
34330        self.healthy = healthy if healthy is not None else False
34331        '''
34332         True if the datasource is reachable and the credentials are valid.
34333        '''
34334        self.hostname = hostname if hostname is not None else ''
34335        '''
34336         The host to dial to initiate a connection from the egress node to this resource.
34337        '''
34338        self.id = id if id is not None else ''
34339        '''
34340         Unique identifier of the Resource.
34341        '''
34342        self.name = name if name is not None else ''
34343        '''
34344         Unique human-readable name of the Resource.
34345        '''
34346        self.password = password if password is not None else ''
34347        '''
34348         The password to authenticate with.
34349        '''
34350        self.port = port if port is not None else 0
34351        '''
34352         The port to dial to initiate a connection from the egress node to this resource.
34353        '''
34354        self.port_override = port_override if port_override is not None else 0
34355        '''
34356         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34357        '''
34358        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34359        '''
34360         ID of the proxy cluster for this resource, if any.
34361        '''
34362        self.require_native_auth = require_native_auth if require_native_auth is not None else False
34363        '''
34364         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
34365        '''
34366        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34367        '''
34368         ID of the secret store containing credentials for this resource, if any.
34369        '''
34370        self.subdomain = subdomain if subdomain is not None else ''
34371        '''
34372         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
34373        '''
34374        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34375        '''
34376         Tags is a map of key, value pairs.
34377        '''
34378        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
34379        '''
34380         If true, appends the hostname to the username when hitting a database.azure.com address
34381        '''
34382        self.username = username if username is not None else ''
34383        '''
34384         The username to authenticate with.
34385        '''
34386
34387    def __repr__(self):
34388        return '<sdm.SingleStore ' + \
34389            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
34390            'database: ' + repr(self.database) + ' ' +\
34391            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
34392            'healthy: ' + repr(self.healthy) + ' ' +\
34393            'hostname: ' + repr(self.hostname) + ' ' +\
34394            'id: ' + repr(self.id) + ' ' +\
34395            'name: ' + repr(self.name) + ' ' +\
34396            'password: ' + repr(self.password) + ' ' +\
34397            'port: ' + repr(self.port) + ' ' +\
34398            'port_override: ' + repr(self.port_override) + ' ' +\
34399            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
34400            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
34401            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34402            'subdomain: ' + repr(self.subdomain) + ' ' +\
34403            'tags: ' + repr(self.tags) + ' ' +\
34404            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
34405            'username: ' + repr(self.username) + ' ' +\
34406            '>'
34407
34408    def to_dict(self):
34409        return {
34410            'bind_interface': self.bind_interface,
34411            'database': self.database,
34412            'egress_filter': self.egress_filter,
34413            'healthy': self.healthy,
34414            'hostname': self.hostname,
34415            'id': self.id,
34416            'name': self.name,
34417            'password': self.password,
34418            'port': self.port,
34419            'port_override': self.port_override,
34420            'proxy_cluster_id': self.proxy_cluster_id,
34421            'require_native_auth': self.require_native_auth,
34422            'secret_store_id': self.secret_store_id,
34423            'subdomain': self.subdomain,
34424            'tags': self.tags,
34425            'use_azure_single_server_usernames':
34426            self.use_azure_single_server_usernames,
34427            'username': self.username,
34428        }
34429
34430    @classmethod
34431    def from_dict(cls, d):
34432        return cls(
34433            bind_interface=d.get('bind_interface'),
34434            database=d.get('database'),
34435            egress_filter=d.get('egress_filter'),
34436            healthy=d.get('healthy'),
34437            hostname=d.get('hostname'),
34438            id=d.get('id'),
34439            name=d.get('name'),
34440            password=d.get('password'),
34441            port=d.get('port'),
34442            port_override=d.get('port_override'),
34443            proxy_cluster_id=d.get('proxy_cluster_id'),
34444            require_native_auth=d.get('require_native_auth'),
34445            secret_store_id=d.get('secret_store_id'),
34446            subdomain=d.get('subdomain'),
34447            tags=d.get('tags'),
34448            use_azure_single_server_usernames=d.get(
34449                'use_azure_single_server_usernames'),
34450            username=d.get('username'),
34451        )
34452
34453
34454class Snowflake:
34455    __slots__ = [
34456        'bind_interface',
34457        'database',
34458        'egress_filter',
34459        'healthy',
34460        'hostname',
34461        'id',
34462        'name',
34463        'password',
34464        'port_override',
34465        'private_key',
34466        'proxy_cluster_id',
34467        'schema',
34468        'secret_store_id',
34469        'subdomain',
34470        'tags',
34471        'username',
34472    ]
34473
34474    def __init__(
34475        self,
34476        bind_interface=None,
34477        database=None,
34478        egress_filter=None,
34479        healthy=None,
34480        hostname=None,
34481        id=None,
34482        name=None,
34483        password=None,
34484        port_override=None,
34485        private_key=None,
34486        proxy_cluster_id=None,
34487        schema=None,
34488        secret_store_id=None,
34489        subdomain=None,
34490        tags=None,
34491        username=None,
34492    ):
34493        self.bind_interface = bind_interface if bind_interface is not None else ''
34494        '''
34495         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34496        '''
34497        self.database = database if database is not None else ''
34498        '''
34499         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
34500        '''
34501        self.egress_filter = egress_filter if egress_filter is not None else ''
34502        '''
34503         A filter applied to the routing logic to pin datasource to nodes.
34504        '''
34505        self.healthy = healthy if healthy is not None else False
34506        '''
34507         True if the datasource is reachable and the credentials are valid.
34508        '''
34509        self.hostname = hostname if hostname is not None else ''
34510        '''
34511         The host to dial to initiate a connection from the egress node to this resource.
34512        '''
34513        self.id = id if id is not None else ''
34514        '''
34515         Unique identifier of the Resource.
34516        '''
34517        self.name = name if name is not None else ''
34518        '''
34519         Unique human-readable name of the Resource.
34520        '''
34521        self.password = password if password is not None else ''
34522        '''
34523         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
34524        '''
34525        self.port_override = port_override if port_override is not None else 0
34526        '''
34527         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34528        '''
34529        self.private_key = private_key if private_key is not None else ''
34530        '''
34531         RSA Private Key for authentication
34532        '''
34533        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34534        '''
34535         ID of the proxy cluster for this resource, if any.
34536        '''
34537        self.schema = schema if schema is not None else ''
34538        '''
34539         The schema to provide on authentication.
34540        '''
34541        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34542        '''
34543         ID of the secret store containing credentials for this resource, if any.
34544        '''
34545        self.subdomain = subdomain if subdomain is not None else ''
34546        '''
34547         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
34548        '''
34549        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34550        '''
34551         Tags is a map of key, value pairs.
34552        '''
34553        self.username = username if username is not None else ''
34554        '''
34555         The username to authenticate with.
34556        '''
34557
34558    def __repr__(self):
34559        return '<sdm.Snowflake ' + \
34560            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
34561            'database: ' + repr(self.database) + ' ' +\
34562            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
34563            'healthy: ' + repr(self.healthy) + ' ' +\
34564            'hostname: ' + repr(self.hostname) + ' ' +\
34565            'id: ' + repr(self.id) + ' ' +\
34566            'name: ' + repr(self.name) + ' ' +\
34567            'password: ' + repr(self.password) + ' ' +\
34568            'port_override: ' + repr(self.port_override) + ' ' +\
34569            'private_key: ' + repr(self.private_key) + ' ' +\
34570            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
34571            'schema: ' + repr(self.schema) + ' ' +\
34572            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34573            'subdomain: ' + repr(self.subdomain) + ' ' +\
34574            'tags: ' + repr(self.tags) + ' ' +\
34575            'username: ' + repr(self.username) + ' ' +\
34576            '>'
34577
34578    def to_dict(self):
34579        return {
34580            'bind_interface': self.bind_interface,
34581            'database': self.database,
34582            'egress_filter': self.egress_filter,
34583            'healthy': self.healthy,
34584            'hostname': self.hostname,
34585            'id': self.id,
34586            'name': self.name,
34587            'password': self.password,
34588            'port_override': self.port_override,
34589            'private_key': self.private_key,
34590            'proxy_cluster_id': self.proxy_cluster_id,
34591            'schema': self.schema,
34592            'secret_store_id': self.secret_store_id,
34593            'subdomain': self.subdomain,
34594            'tags': self.tags,
34595            'username': self.username,
34596        }
34597
34598    @classmethod
34599    def from_dict(cls, d):
34600        return cls(
34601            bind_interface=d.get('bind_interface'),
34602            database=d.get('database'),
34603            egress_filter=d.get('egress_filter'),
34604            healthy=d.get('healthy'),
34605            hostname=d.get('hostname'),
34606            id=d.get('id'),
34607            name=d.get('name'),
34608            password=d.get('password'),
34609            port_override=d.get('port_override'),
34610            private_key=d.get('private_key'),
34611            proxy_cluster_id=d.get('proxy_cluster_id'),
34612            schema=d.get('schema'),
34613            secret_store_id=d.get('secret_store_id'),
34614            subdomain=d.get('subdomain'),
34615            tags=d.get('tags'),
34616            username=d.get('username'),
34617        )
34618
34619
34620class Snowsight:
34621    __slots__ = [
34622        'bind_interface',
34623        'connecttodefault',
34624        'egress_filter',
34625        'healthcheck_username',
34626        'healthy',
34627        'id',
34628        'name',
34629        'port_override',
34630        'proxy_cluster_id',
34631        'samlmetadata',
34632        'secret_store_id',
34633        'subdomain',
34634        'tags',
34635        'use_https',
34636    ]
34637
34638    def __init__(
34639        self,
34640        bind_interface=None,
34641        connecttodefault=None,
34642        egress_filter=None,
34643        healthcheck_username=None,
34644        healthy=None,
34645        id=None,
34646        name=None,
34647        port_override=None,
34648        proxy_cluster_id=None,
34649        samlmetadata=None,
34650        secret_store_id=None,
34651        subdomain=None,
34652        tags=None,
34653        use_https=None,
34654    ):
34655        self.bind_interface = bind_interface if bind_interface is not None else ''
34656        '''
34657         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34658        '''
34659        self.connecttodefault = connecttodefault if connecttodefault is not None else False
34660        '''
34661         If true, select the ACS with isDefault=true
34662        '''
34663        self.egress_filter = egress_filter if egress_filter is not None else ''
34664        '''
34665         A filter applied to the routing logic to pin datasource to nodes.
34666        '''
34667        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
34668        '''
34669         The StrongDM user email to use for healthchecks.
34670        '''
34671        self.healthy = healthy if healthy is not None else False
34672        '''
34673         True if the datasource is reachable and the credentials are valid.
34674        '''
34675        self.id = id if id is not None else ''
34676        '''
34677         Unique identifier of the Resource.
34678        '''
34679        self.name = name if name is not None else ''
34680        '''
34681         Unique human-readable name of the Resource.
34682        '''
34683        self.port_override = port_override if port_override is not None else 0
34684        '''
34685         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34686        '''
34687        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34688        '''
34689         ID of the proxy cluster for this resource, if any.
34690        '''
34691        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
34692        '''
34693         The Metadata for your snowflake IDP integration
34694        '''
34695        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34696        '''
34697         ID of the secret store containing credentials for this resource, if any.
34698        '''
34699        self.subdomain = subdomain if subdomain is not None else ''
34700        '''
34701         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
34702        '''
34703        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34704        '''
34705         Tags is a map of key, value pairs.
34706        '''
34707        self.use_https = use_https if use_https is not None else False
34708        '''
34709         This option enforces HTTPS on the client, not resource connection.
34710        '''
34711
34712    def __repr__(self):
34713        return '<sdm.Snowsight ' + \
34714            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
34715            'connecttodefault: ' + repr(self.connecttodefault) + ' ' +\
34716            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
34717            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
34718            'healthy: ' + repr(self.healthy) + ' ' +\
34719            'id: ' + repr(self.id) + ' ' +\
34720            'name: ' + repr(self.name) + ' ' +\
34721            'port_override: ' + repr(self.port_override) + ' ' +\
34722            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
34723            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
34724            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34725            'subdomain: ' + repr(self.subdomain) + ' ' +\
34726            'tags: ' + repr(self.tags) + ' ' +\
34727            'use_https: ' + repr(self.use_https) + ' ' +\
34728            '>'
34729
34730    def to_dict(self):
34731        return {
34732            'bind_interface': self.bind_interface,
34733            'connecttodefault': self.connecttodefault,
34734            'egress_filter': self.egress_filter,
34735            'healthcheck_username': self.healthcheck_username,
34736            'healthy': self.healthy,
34737            'id': self.id,
34738            'name': self.name,
34739            'port_override': self.port_override,
34740            'proxy_cluster_id': self.proxy_cluster_id,
34741            'samlmetadata': self.samlmetadata,
34742            'secret_store_id': self.secret_store_id,
34743            'subdomain': self.subdomain,
34744            'tags': self.tags,
34745            'use_https': self.use_https,
34746        }
34747
34748    @classmethod
34749    def from_dict(cls, d):
34750        return cls(
34751            bind_interface=d.get('bind_interface'),
34752            connecttodefault=d.get('connecttodefault'),
34753            egress_filter=d.get('egress_filter'),
34754            healthcheck_username=d.get('healthcheck_username'),
34755            healthy=d.get('healthy'),
34756            id=d.get('id'),
34757            name=d.get('name'),
34758            port_override=d.get('port_override'),
34759            proxy_cluster_id=d.get('proxy_cluster_id'),
34760            samlmetadata=d.get('samlmetadata'),
34761            secret_store_id=d.get('secret_store_id'),
34762            subdomain=d.get('subdomain'),
34763            tags=d.get('tags'),
34764            use_https=d.get('use_https'),
34765        )
34766
34767
34768class SqlserverEngine:
34769    __slots__ = [
34770        'after_read_ttl',
34771        'database',
34772        'hostname',
34773        'id',
34774        'key_rotation_interval_days',
34775        'name',
34776        'node_selector',
34777        'password',
34778        'policy',
34779        'port',
34780        'public_key',
34781        'secret_store_id',
34782        'secret_store_root_path',
34783        'tags',
34784        'tls',
34785        'tls_skip_verify',
34786        'ttl',
34787        'username',
34788    ]
34789
34790    def __init__(
34791        self,
34792        after_read_ttl=None,
34793        database=None,
34794        hostname=None,
34795        id=None,
34796        key_rotation_interval_days=None,
34797        name=None,
34798        node_selector=None,
34799        password=None,
34800        policy=None,
34801        port=None,
34802        public_key=None,
34803        secret_store_id=None,
34804        secret_store_root_path=None,
34805        tags=None,
34806        tls=None,
34807        tls_skip_verify=None,
34808        ttl=None,
34809        username=None,
34810    ):
34811        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
34812        '''
34813         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
34814        '''
34815        self.database = database if database is not None else ''
34816        '''
34817         Database is the database to verify credential against.
34818        '''
34819        self.hostname = hostname if hostname is not None else ''
34820        '''
34821         Hostname is the hostname or IP address of the SQL Server.
34822        '''
34823        self.id = id if id is not None else ''
34824        '''
34825         Unique identifier of the Secret Engine.
34826        '''
34827        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
34828        '''
34829         An interval of public/private key rotation for secret engine in days
34830        '''
34831        self.name = name if name is not None else ''
34832        '''
34833         Unique human-readable name of the Secret Engine.
34834        '''
34835        self.node_selector = node_selector if node_selector is not None else ''
34836        '''
34837         node selector is used to narrow down the nodes used to communicate with with secret engine
34838        '''
34839        self.password = password if password is not None else ''
34840        '''
34841         Password is the password to connect to the SQL Server server.
34842        '''
34843        self.policy = policy if policy is not None else None
34844        '''
34845         Policy for password creation
34846        '''
34847        self.port = port if port is not None else 0
34848        '''
34849         Port is the port number of the SQL Server server.
34850        '''
34851        self.public_key = public_key if public_key is not None else b''
34852        '''
34853         Public key linked with a secret engine
34854        '''
34855        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34856        '''
34857         Backing secret store identifier
34858        '''
34859        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
34860        '''
34861         Backing Secret Store root path where managed secrets are going to be stored
34862        '''
34863        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34864        '''
34865         Tags is a map of key, value pairs.
34866        '''
34867        self.tls = tls if tls is not None else False
34868        '''
34869         TLS enables TLS/SSL when connecting to the SQL Server server.
34870        '''
34871        self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
34872        '''
34873         TLS disable certificate verification
34874        '''
34875        self.ttl = ttl if ttl is not None else None
34876        '''
34877         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
34878        '''
34879        self.username = username if username is not None else ''
34880        '''
34881         Username is the username to connect to the SQL Server.
34882        '''
34883
34884    def __repr__(self):
34885        return '<sdm.SqlserverEngine ' + \
34886            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
34887            'database: ' + repr(self.database) + ' ' +\
34888            'hostname: ' + repr(self.hostname) + ' ' +\
34889            'id: ' + repr(self.id) + ' ' +\
34890            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
34891            'name: ' + repr(self.name) + ' ' +\
34892            'node_selector: ' + repr(self.node_selector) + ' ' +\
34893            'password: ' + repr(self.password) + ' ' +\
34894            'policy: ' + repr(self.policy) + ' ' +\
34895            'port: ' + repr(self.port) + ' ' +\
34896            'public_key: ' + repr(self.public_key) + ' ' +\
34897            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34898            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
34899            'tags: ' + repr(self.tags) + ' ' +\
34900            'tls: ' + repr(self.tls) + ' ' +\
34901            'tls_skip_verify: ' + repr(self.tls_skip_verify) + ' ' +\
34902            'ttl: ' + repr(self.ttl) + ' ' +\
34903            'username: ' + repr(self.username) + ' ' +\
34904            '>'
34905
34906    def to_dict(self):
34907        return {
34908            'after_read_ttl': self.after_read_ttl,
34909            'database': self.database,
34910            'hostname': self.hostname,
34911            'id': self.id,
34912            'key_rotation_interval_days': self.key_rotation_interval_days,
34913            'name': self.name,
34914            'node_selector': self.node_selector,
34915            'password': self.password,
34916            'policy': self.policy,
34917            'port': self.port,
34918            'public_key': self.public_key,
34919            'secret_store_id': self.secret_store_id,
34920            'secret_store_root_path': self.secret_store_root_path,
34921            'tags': self.tags,
34922            'tls': self.tls,
34923            'tls_skip_verify': self.tls_skip_verify,
34924            'ttl': self.ttl,
34925            'username': self.username,
34926        }
34927
34928    @classmethod
34929    def from_dict(cls, d):
34930        return cls(
34931            after_read_ttl=d.get('after_read_ttl'),
34932            database=d.get('database'),
34933            hostname=d.get('hostname'),
34934            id=d.get('id'),
34935            key_rotation_interval_days=d.get('key_rotation_interval_days'),
34936            name=d.get('name'),
34937            node_selector=d.get('node_selector'),
34938            password=d.get('password'),
34939            policy=d.get('policy'),
34940            port=d.get('port'),
34941            public_key=d.get('public_key'),
34942            secret_store_id=d.get('secret_store_id'),
34943            secret_store_root_path=d.get('secret_store_root_path'),
34944            tags=d.get('tags'),
34945            tls=d.get('tls'),
34946            tls_skip_verify=d.get('tls_skip_verify'),
34947            ttl=d.get('ttl'),
34948            username=d.get('username'),
34949        )
34950
34951
34952class StrongVaultStore:
34953    __slots__ = [
34954        'id',
34955        'name',
34956        'tags',
34957    ]
34958
34959    def __init__(
34960        self,
34961        id=None,
34962        name=None,
34963        tags=None,
34964    ):
34965        self.id = id if id is not None else ''
34966        '''
34967         Unique identifier of the SecretStore.
34968        '''
34969        self.name = name if name is not None else ''
34970        '''
34971         Unique human-readable name of the SecretStore.
34972        '''
34973        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34974        '''
34975         Tags is a map of key, value pairs.
34976        '''
34977
34978    def __repr__(self):
34979        return '<sdm.StrongVaultStore ' + \
34980            'id: ' + repr(self.id) + ' ' +\
34981            'name: ' + repr(self.name) + ' ' +\
34982            'tags: ' + repr(self.tags) + ' ' +\
34983            '>'
34984
34985    def to_dict(self):
34986        return {
34987            'id': self.id,
34988            'name': self.name,
34989            'tags': self.tags,
34990        }
34991
34992    @classmethod
34993    def from_dict(cls, d):
34994        return cls(
34995            id=d.get('id'),
34996            name=d.get('name'),
34997            tags=d.get('tags'),
34998        )
34999
35000
35001class Sybase:
35002    __slots__ = [
35003        'bind_interface',
35004        'egress_filter',
35005        'healthy',
35006        'hostname',
35007        'id',
35008        'name',
35009        'password',
35010        'port',
35011        'port_override',
35012        'proxy_cluster_id',
35013        'secret_store_id',
35014        'subdomain',
35015        'tags',
35016        'username',
35017    ]
35018
35019    def __init__(
35020        self,
35021        bind_interface=None,
35022        egress_filter=None,
35023        healthy=None,
35024        hostname=None,
35025        id=None,
35026        name=None,
35027        password=None,
35028        port=None,
35029        port_override=None,
35030        proxy_cluster_id=None,
35031        secret_store_id=None,
35032        subdomain=None,
35033        tags=None,
35034        username=None,
35035    ):
35036        self.bind_interface = bind_interface if bind_interface is not None else ''
35037        '''
35038         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35039        '''
35040        self.egress_filter = egress_filter if egress_filter is not None else ''
35041        '''
35042         A filter applied to the routing logic to pin datasource to nodes.
35043        '''
35044        self.healthy = healthy if healthy is not None else False
35045        '''
35046         True if the datasource is reachable and the credentials are valid.
35047        '''
35048        self.hostname = hostname if hostname is not None else ''
35049        '''
35050         The host to dial to initiate a connection from the egress node to this resource.
35051        '''
35052        self.id = id if id is not None else ''
35053        '''
35054         Unique identifier of the Resource.
35055        '''
35056        self.name = name if name is not None else ''
35057        '''
35058         Unique human-readable name of the Resource.
35059        '''
35060        self.password = password if password is not None else ''
35061        '''
35062         The password to authenticate with.
35063        '''
35064        self.port = port if port is not None else 0
35065        '''
35066         The port to dial to initiate a connection from the egress node to this resource.
35067        '''
35068        self.port_override = port_override if port_override is not None else 0
35069        '''
35070         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35071        '''
35072        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35073        '''
35074         ID of the proxy cluster for this resource, if any.
35075        '''
35076        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35077        '''
35078         ID of the secret store containing credentials for this resource, if any.
35079        '''
35080        self.subdomain = subdomain if subdomain is not None else ''
35081        '''
35082         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35083        '''
35084        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35085        '''
35086         Tags is a map of key, value pairs.
35087        '''
35088        self.username = username if username is not None else ''
35089        '''
35090         The username to authenticate with.
35091        '''
35092
35093    def __repr__(self):
35094        return '<sdm.Sybase ' + \
35095            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35096            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35097            'healthy: ' + repr(self.healthy) + ' ' +\
35098            'hostname: ' + repr(self.hostname) + ' ' +\
35099            'id: ' + repr(self.id) + ' ' +\
35100            'name: ' + repr(self.name) + ' ' +\
35101            'password: ' + repr(self.password) + ' ' +\
35102            'port: ' + repr(self.port) + ' ' +\
35103            'port_override: ' + repr(self.port_override) + ' ' +\
35104            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35105            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35106            'subdomain: ' + repr(self.subdomain) + ' ' +\
35107            'tags: ' + repr(self.tags) + ' ' +\
35108            'username: ' + repr(self.username) + ' ' +\
35109            '>'
35110
35111    def to_dict(self):
35112        return {
35113            'bind_interface': self.bind_interface,
35114            'egress_filter': self.egress_filter,
35115            'healthy': self.healthy,
35116            'hostname': self.hostname,
35117            'id': self.id,
35118            'name': self.name,
35119            'password': self.password,
35120            'port': self.port,
35121            'port_override': self.port_override,
35122            'proxy_cluster_id': self.proxy_cluster_id,
35123            'secret_store_id': self.secret_store_id,
35124            'subdomain': self.subdomain,
35125            'tags': self.tags,
35126            'username': self.username,
35127        }
35128
35129    @classmethod
35130    def from_dict(cls, d):
35131        return cls(
35132            bind_interface=d.get('bind_interface'),
35133            egress_filter=d.get('egress_filter'),
35134            healthy=d.get('healthy'),
35135            hostname=d.get('hostname'),
35136            id=d.get('id'),
35137            name=d.get('name'),
35138            password=d.get('password'),
35139            port=d.get('port'),
35140            port_override=d.get('port_override'),
35141            proxy_cluster_id=d.get('proxy_cluster_id'),
35142            secret_store_id=d.get('secret_store_id'),
35143            subdomain=d.get('subdomain'),
35144            tags=d.get('tags'),
35145            username=d.get('username'),
35146        )
35147
35148
35149class SybaseIQ:
35150    __slots__ = [
35151        'bind_interface',
35152        'egress_filter',
35153        'healthy',
35154        'hostname',
35155        'id',
35156        'name',
35157        'password',
35158        'port',
35159        'port_override',
35160        'proxy_cluster_id',
35161        'secret_store_id',
35162        'subdomain',
35163        'tags',
35164        'username',
35165    ]
35166
35167    def __init__(
35168        self,
35169        bind_interface=None,
35170        egress_filter=None,
35171        healthy=None,
35172        hostname=None,
35173        id=None,
35174        name=None,
35175        password=None,
35176        port=None,
35177        port_override=None,
35178        proxy_cluster_id=None,
35179        secret_store_id=None,
35180        subdomain=None,
35181        tags=None,
35182        username=None,
35183    ):
35184        self.bind_interface = bind_interface if bind_interface is not None else ''
35185        '''
35186         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35187        '''
35188        self.egress_filter = egress_filter if egress_filter is not None else ''
35189        '''
35190         A filter applied to the routing logic to pin datasource to nodes.
35191        '''
35192        self.healthy = healthy if healthy is not None else False
35193        '''
35194         True if the datasource is reachable and the credentials are valid.
35195        '''
35196        self.hostname = hostname if hostname is not None else ''
35197        '''
35198         The host to dial to initiate a connection from the egress node to this resource.
35199        '''
35200        self.id = id if id is not None else ''
35201        '''
35202         Unique identifier of the Resource.
35203        '''
35204        self.name = name if name is not None else ''
35205        '''
35206         Unique human-readable name of the Resource.
35207        '''
35208        self.password = password if password is not None else ''
35209        '''
35210         The password to authenticate with.
35211        '''
35212        self.port = port if port is not None else 0
35213        '''
35214         The port to dial to initiate a connection from the egress node to this resource.
35215        '''
35216        self.port_override = port_override if port_override is not None else 0
35217        '''
35218         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35219        '''
35220        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35221        '''
35222         ID of the proxy cluster for this resource, if any.
35223        '''
35224        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35225        '''
35226         ID of the secret store containing credentials for this resource, if any.
35227        '''
35228        self.subdomain = subdomain if subdomain is not None else ''
35229        '''
35230         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35231        '''
35232        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35233        '''
35234         Tags is a map of key, value pairs.
35235        '''
35236        self.username = username if username is not None else ''
35237        '''
35238         The username to authenticate with.
35239        '''
35240
35241    def __repr__(self):
35242        return '<sdm.SybaseIQ ' + \
35243            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35244            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35245            'healthy: ' + repr(self.healthy) + ' ' +\
35246            'hostname: ' + repr(self.hostname) + ' ' +\
35247            'id: ' + repr(self.id) + ' ' +\
35248            'name: ' + repr(self.name) + ' ' +\
35249            'password: ' + repr(self.password) + ' ' +\
35250            'port: ' + repr(self.port) + ' ' +\
35251            'port_override: ' + repr(self.port_override) + ' ' +\
35252            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35253            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35254            'subdomain: ' + repr(self.subdomain) + ' ' +\
35255            'tags: ' + repr(self.tags) + ' ' +\
35256            'username: ' + repr(self.username) + ' ' +\
35257            '>'
35258
35259    def to_dict(self):
35260        return {
35261            'bind_interface': self.bind_interface,
35262            'egress_filter': self.egress_filter,
35263            'healthy': self.healthy,
35264            'hostname': self.hostname,
35265            'id': self.id,
35266            'name': self.name,
35267            'password': self.password,
35268            'port': self.port,
35269            'port_override': self.port_override,
35270            'proxy_cluster_id': self.proxy_cluster_id,
35271            'secret_store_id': self.secret_store_id,
35272            'subdomain': self.subdomain,
35273            'tags': self.tags,
35274            'username': self.username,
35275        }
35276
35277    @classmethod
35278    def from_dict(cls, d):
35279        return cls(
35280            bind_interface=d.get('bind_interface'),
35281            egress_filter=d.get('egress_filter'),
35282            healthy=d.get('healthy'),
35283            hostname=d.get('hostname'),
35284            id=d.get('id'),
35285            name=d.get('name'),
35286            password=d.get('password'),
35287            port=d.get('port'),
35288            port_override=d.get('port_override'),
35289            proxy_cluster_id=d.get('proxy_cluster_id'),
35290            secret_store_id=d.get('secret_store_id'),
35291            subdomain=d.get('subdomain'),
35292            tags=d.get('tags'),
35293            username=d.get('username'),
35294        )
35295
35296
35297class Tag:
35298    __slots__ = [
35299        'name',
35300        'value',
35301    ]
35302
35303    def __init__(
35304        self,
35305        name=None,
35306        value=None,
35307    ):
35308        self.name = name if name is not None else ''
35309        '''
35310         The name or key of this tag. Each name can only refer to one value on a tagged entity.
35311        '''
35312        self.value = value if value is not None else ''
35313        '''
35314         The value of this tag.
35315        '''
35316
35317    def __repr__(self):
35318        return '<sdm.Tag ' + \
35319            'name: ' + repr(self.name) + ' ' +\
35320            'value: ' + repr(self.value) + ' ' +\
35321            '>'
35322
35323    def to_dict(self):
35324        return {
35325            'name': self.name,
35326            'value': self.value,
35327        }
35328
35329    @classmethod
35330    def from_dict(cls, d):
35331        return cls(
35332            name=d.get('name'),
35333            value=d.get('value'),
35334        )
35335
35336
35337class Teradata:
35338    __slots__ = [
35339        'bind_interface',
35340        'egress_filter',
35341        'healthy',
35342        'hostname',
35343        'id',
35344        'name',
35345        'password',
35346        'port',
35347        'port_override',
35348        'proxy_cluster_id',
35349        'secret_store_id',
35350        'subdomain',
35351        'tags',
35352        'username',
35353    ]
35354
35355    def __init__(
35356        self,
35357        bind_interface=None,
35358        egress_filter=None,
35359        healthy=None,
35360        hostname=None,
35361        id=None,
35362        name=None,
35363        password=None,
35364        port=None,
35365        port_override=None,
35366        proxy_cluster_id=None,
35367        secret_store_id=None,
35368        subdomain=None,
35369        tags=None,
35370        username=None,
35371    ):
35372        self.bind_interface = bind_interface if bind_interface is not None else ''
35373        '''
35374         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35375        '''
35376        self.egress_filter = egress_filter if egress_filter is not None else ''
35377        '''
35378         A filter applied to the routing logic to pin datasource to nodes.
35379        '''
35380        self.healthy = healthy if healthy is not None else False
35381        '''
35382         True if the datasource is reachable and the credentials are valid.
35383        '''
35384        self.hostname = hostname if hostname is not None else ''
35385        '''
35386         The host to dial to initiate a connection from the egress node to this resource.
35387        '''
35388        self.id = id if id is not None else ''
35389        '''
35390         Unique identifier of the Resource.
35391        '''
35392        self.name = name if name is not None else ''
35393        '''
35394         Unique human-readable name of the Resource.
35395        '''
35396        self.password = password if password is not None else ''
35397        '''
35398         The password to authenticate with.
35399        '''
35400        self.port = port if port is not None else 0
35401        '''
35402         The port to dial to initiate a connection from the egress node to this resource.
35403        '''
35404        self.port_override = port_override if port_override is not None else 0
35405        '''
35406         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35407        '''
35408        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35409        '''
35410         ID of the proxy cluster for this resource, if any.
35411        '''
35412        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35413        '''
35414         ID of the secret store containing credentials for this resource, if any.
35415        '''
35416        self.subdomain = subdomain if subdomain is not None else ''
35417        '''
35418         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35419        '''
35420        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35421        '''
35422         Tags is a map of key, value pairs.
35423        '''
35424        self.username = username if username is not None else ''
35425        '''
35426         The username to authenticate with.
35427        '''
35428
35429    def __repr__(self):
35430        return '<sdm.Teradata ' + \
35431            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35432            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35433            'healthy: ' + repr(self.healthy) + ' ' +\
35434            'hostname: ' + repr(self.hostname) + ' ' +\
35435            'id: ' + repr(self.id) + ' ' +\
35436            'name: ' + repr(self.name) + ' ' +\
35437            'password: ' + repr(self.password) + ' ' +\
35438            'port: ' + repr(self.port) + ' ' +\
35439            'port_override: ' + repr(self.port_override) + ' ' +\
35440            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35441            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35442            'subdomain: ' + repr(self.subdomain) + ' ' +\
35443            'tags: ' + repr(self.tags) + ' ' +\
35444            'username: ' + repr(self.username) + ' ' +\
35445            '>'
35446
35447    def to_dict(self):
35448        return {
35449            'bind_interface': self.bind_interface,
35450            'egress_filter': self.egress_filter,
35451            'healthy': self.healthy,
35452            'hostname': self.hostname,
35453            'id': self.id,
35454            'name': self.name,
35455            'password': self.password,
35456            'port': self.port,
35457            'port_override': self.port_override,
35458            'proxy_cluster_id': self.proxy_cluster_id,
35459            'secret_store_id': self.secret_store_id,
35460            'subdomain': self.subdomain,
35461            'tags': self.tags,
35462            'username': self.username,
35463        }
35464
35465    @classmethod
35466    def from_dict(cls, d):
35467        return cls(
35468            bind_interface=d.get('bind_interface'),
35469            egress_filter=d.get('egress_filter'),
35470            healthy=d.get('healthy'),
35471            hostname=d.get('hostname'),
35472            id=d.get('id'),
35473            name=d.get('name'),
35474            password=d.get('password'),
35475            port=d.get('port'),
35476            port_override=d.get('port_override'),
35477            proxy_cluster_id=d.get('proxy_cluster_id'),
35478            secret_store_id=d.get('secret_store_id'),
35479            subdomain=d.get('subdomain'),
35480            tags=d.get('tags'),
35481            username=d.get('username'),
35482        )
35483
35484
35485class Token:
35486    '''
35487         A Token is an account providing tokenized access for automation or integration use.
35488     Tokens include admin tokens, API keys, and SCIM tokens.
35489    '''
35490    __slots__ = [
35491        'account_type',
35492        'created_at',
35493        'deadline',
35494        'duration',
35495        'id',
35496        'name',
35497        'permissions',
35498        'rekeyed',
35499        'suspended',
35500        'tags',
35501    ]
35502
35503    def __init__(
35504        self,
35505        account_type=None,
35506        created_at=None,
35507        deadline=None,
35508        duration=None,
35509        id=None,
35510        name=None,
35511        permissions=None,
35512        rekeyed=None,
35513        suspended=None,
35514        tags=None,
35515    ):
35516        self.account_type = account_type if account_type is not None else ''
35517        '''
35518         Corresponds to the type of token, e.g. api or admin-token.
35519        '''
35520        self.created_at = created_at if created_at is not None else None
35521        '''
35522         CreatedAt is the timestamp when the token was created
35523        '''
35524        self.deadline = deadline if deadline is not None else None
35525        '''
35526         The timestamp when the Token will expire.
35527        '''
35528        self.duration = duration if duration is not None else None
35529        '''
35530         Duration from token creation to expiration.
35531        '''
35532        self.id = id if id is not None else ''
35533        '''
35534         Unique identifier of the Token.
35535        '''
35536        self.name = name if name is not None else ''
35537        '''
35538         Unique human-readable name of the Token.
35539        '''
35540        self.permissions = permissions if permissions is not None else []
35541        '''
35542         Permissions assigned to the token, e.g. role:create.
35543        '''
35544        self.rekeyed = rekeyed if rekeyed is not None else None
35545        '''
35546         The timestamp when the Token was last rekeyed.
35547        '''
35548        self.suspended = suspended if suspended is not None else False
35549        '''
35550         Reserved for future use.  Always false for tokens.
35551        '''
35552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35553        '''
35554         Tags is a map of key, value pairs.
35555        '''
35556
35557    def __repr__(self):
35558        return '<sdm.Token ' + \
35559            'account_type: ' + repr(self.account_type) + ' ' +\
35560            'created_at: ' + repr(self.created_at) + ' ' +\
35561            'deadline: ' + repr(self.deadline) + ' ' +\
35562            'duration: ' + repr(self.duration) + ' ' +\
35563            'id: ' + repr(self.id) + ' ' +\
35564            'name: ' + repr(self.name) + ' ' +\
35565            'permissions: ' + repr(self.permissions) + ' ' +\
35566            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
35567            'suspended: ' + repr(self.suspended) + ' ' +\
35568            'tags: ' + repr(self.tags) + ' ' +\
35569            '>'
35570
35571    def to_dict(self):
35572        return {
35573            'account_type': self.account_type,
35574            'created_at': self.created_at,
35575            'deadline': self.deadline,
35576            'duration': self.duration,
35577            'id': self.id,
35578            'name': self.name,
35579            'permissions': self.permissions,
35580            'rekeyed': self.rekeyed,
35581            'suspended': self.suspended,
35582            'tags': self.tags,
35583        }
35584
35585    @classmethod
35586    def from_dict(cls, d):
35587        return cls(
35588            account_type=d.get('account_type'),
35589            created_at=d.get('created_at'),
35590            deadline=d.get('deadline'),
35591            duration=d.get('duration'),
35592            id=d.get('id'),
35593            name=d.get('name'),
35594            permissions=d.get('permissions'),
35595            rekeyed=d.get('rekeyed'),
35596            suspended=d.get('suspended'),
35597            tags=d.get('tags'),
35598        )
35599
35600
35601class Trino:
35602    __slots__ = [
35603        'bind_interface',
35604        'egress_filter',
35605        'healthy',
35606        'hostname',
35607        'id',
35608        'name',
35609        'password',
35610        'port',
35611        'port_override',
35612        'proxy_cluster_id',
35613        'secret_store_id',
35614        'subdomain',
35615        'tags',
35616        'tls_required',
35617        'username',
35618    ]
35619
35620    def __init__(
35621        self,
35622        bind_interface=None,
35623        egress_filter=None,
35624        healthy=None,
35625        hostname=None,
35626        id=None,
35627        name=None,
35628        password=None,
35629        port=None,
35630        port_override=None,
35631        proxy_cluster_id=None,
35632        secret_store_id=None,
35633        subdomain=None,
35634        tags=None,
35635        tls_required=None,
35636        username=None,
35637    ):
35638        self.bind_interface = bind_interface if bind_interface is not None else ''
35639        '''
35640         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35641        '''
35642        self.egress_filter = egress_filter if egress_filter is not None else ''
35643        '''
35644         A filter applied to the routing logic to pin datasource to nodes.
35645        '''
35646        self.healthy = healthy if healthy is not None else False
35647        '''
35648         True if the datasource is reachable and the credentials are valid.
35649        '''
35650        self.hostname = hostname if hostname is not None else ''
35651        '''
35652         The host to dial to initiate a connection from the egress node to this resource.
35653        '''
35654        self.id = id if id is not None else ''
35655        '''
35656         Unique identifier of the Resource.
35657        '''
35658        self.name = name if name is not None else ''
35659        '''
35660         Unique human-readable name of the Resource.
35661        '''
35662        self.password = password if password is not None else ''
35663        '''
35664         The password to authenticate with.
35665        '''
35666        self.port = port if port is not None else 0
35667        '''
35668         The port to dial to initiate a connection from the egress node to this resource.
35669        '''
35670        self.port_override = port_override if port_override is not None else 0
35671        '''
35672         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35673        '''
35674        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35675        '''
35676         ID of the proxy cluster for this resource, if any.
35677        '''
35678        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35679        '''
35680         ID of the secret store containing credentials for this resource, if any.
35681        '''
35682        self.subdomain = subdomain if subdomain is not None else ''
35683        '''
35684         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35685        '''
35686        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35687        '''
35688         Tags is a map of key, value pairs.
35689        '''
35690        self.tls_required = tls_required if tls_required is not None else False
35691        '''
35692         If set, TLS must be used to connect to this resource.
35693        '''
35694        self.username = username if username is not None else ''
35695        '''
35696         The username to authenticate with.
35697        '''
35698
35699    def __repr__(self):
35700        return '<sdm.Trino ' + \
35701            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35702            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35703            'healthy: ' + repr(self.healthy) + ' ' +\
35704            'hostname: ' + repr(self.hostname) + ' ' +\
35705            'id: ' + repr(self.id) + ' ' +\
35706            'name: ' + repr(self.name) + ' ' +\
35707            'password: ' + repr(self.password) + ' ' +\
35708            'port: ' + repr(self.port) + ' ' +\
35709            'port_override: ' + repr(self.port_override) + ' ' +\
35710            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35711            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35712            'subdomain: ' + repr(self.subdomain) + ' ' +\
35713            'tags: ' + repr(self.tags) + ' ' +\
35714            'tls_required: ' + repr(self.tls_required) + ' ' +\
35715            'username: ' + repr(self.username) + ' ' +\
35716            '>'
35717
35718    def to_dict(self):
35719        return {
35720            'bind_interface': self.bind_interface,
35721            'egress_filter': self.egress_filter,
35722            'healthy': self.healthy,
35723            'hostname': self.hostname,
35724            'id': self.id,
35725            'name': self.name,
35726            'password': self.password,
35727            'port': self.port,
35728            'port_override': self.port_override,
35729            'proxy_cluster_id': self.proxy_cluster_id,
35730            'secret_store_id': self.secret_store_id,
35731            'subdomain': self.subdomain,
35732            'tags': self.tags,
35733            'tls_required': self.tls_required,
35734            'username': self.username,
35735        }
35736
35737    @classmethod
35738    def from_dict(cls, d):
35739        return cls(
35740            bind_interface=d.get('bind_interface'),
35741            egress_filter=d.get('egress_filter'),
35742            healthy=d.get('healthy'),
35743            hostname=d.get('hostname'),
35744            id=d.get('id'),
35745            name=d.get('name'),
35746            password=d.get('password'),
35747            port=d.get('port'),
35748            port_override=d.get('port_override'),
35749            proxy_cluster_id=d.get('proxy_cluster_id'),
35750            secret_store_id=d.get('secret_store_id'),
35751            subdomain=d.get('subdomain'),
35752            tags=d.get('tags'),
35753            tls_required=d.get('tls_required'),
35754            username=d.get('username'),
35755        )
35756
35757
35758class UpdateResponseMetadata:
35759    '''
35760         UpdateResponseMetadata is reserved for future use.
35761    '''
35762    __slots__ = []
35763
35764    def __init__(self, ):
35765        pass
35766
35767    def __repr__(self):
35768        return '<sdm.UpdateResponseMetadata ' + \
35769            '>'
35770
35771    def to_dict(self):
35772        return {}
35773
35774    @classmethod
35775    def from_dict(cls, d):
35776        return cls()
35777
35778
35779class User:
35780    '''
35781         A User can connect to resources they are granted directly, or granted
35782     via roles.
35783    '''
35784    __slots__ = [
35785        'scim',
35786        'created_at',
35787        'email',
35788        'employee_number',
35789        'external_id',
35790        'first_name',
35791        'id',
35792        'last_name',
35793        'managed_by',
35794        'manager_id',
35795        'password',
35796        'permission_level',
35797        'resolved_manager_id',
35798        'suspended',
35799        'tags',
35800    ]
35801
35802    def __init__(
35803        self,
35804        scim=None,
35805        created_at=None,
35806        email=None,
35807        employee_number=None,
35808        external_id=None,
35809        first_name=None,
35810        id=None,
35811        last_name=None,
35812        managed_by=None,
35813        manager_id=None,
35814        password=None,
35815        permission_level=None,
35816        resolved_manager_id=None,
35817        suspended=None,
35818        tags=None,
35819    ):
35820        self.scim = scim if scim is not None else ''
35821        '''
35822         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
35823        '''
35824        self.created_at = created_at if created_at is not None else None
35825        '''
35826         CreatedAt is the timestamp when the user was created
35827        '''
35828        self.email = email if email is not None else ''
35829        '''
35830         The User's email address. Must be unique.
35831        '''
35832        self.employee_number = employee_number if employee_number is not None else ''
35833        '''
35834         Internal employee ID used to identify the user.
35835        '''
35836        self.external_id = external_id if external_id is not None else ''
35837        '''
35838         External ID is an alternative unique ID this user is represented by within an external service.
35839        '''
35840        self.first_name = first_name if first_name is not None else ''
35841        '''
35842         The User's first name.
35843        '''
35844        self.id = id if id is not None else ''
35845        '''
35846         Unique identifier of the User.
35847        '''
35848        self.last_name = last_name if last_name is not None else ''
35849        '''
35850         The User's last name.
35851        '''
35852        self.managed_by = managed_by if managed_by is not None else ''
35853        '''
35854         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
35855        '''
35856        self.manager_id = manager_id if manager_id is not None else ''
35857        '''
35858         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
35859        '''
35860        self.password = password if password is not None else ''
35861        '''
35862         Password is a write-only field that can be used to set the user's password.
35863         Currently only supported for update.
35864        '''
35865        self.permission_level = permission_level if permission_level is not None else ''
35866        '''
35867         PermissionLevel is the user's permission level e.g. admin, DBA, user.
35868        '''
35869        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
35870        '''
35871         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
35872         if present, or from the SCIM metadata.
35873         This is a read-only field that's only populated for get and list.
35874        '''
35875        self.suspended = suspended if suspended is not None else False
35876        '''
35877         Suspended is a read only field for the User's suspended state.
35878        '''
35879        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35880        '''
35881         Tags is a map of key, value pairs.
35882        '''
35883
35884    def __repr__(self):
35885        return '<sdm.User ' + \
35886            'scim: ' + repr(self.scim) + ' ' +\
35887            'created_at: ' + repr(self.created_at) + ' ' +\
35888            'email: ' + repr(self.email) + ' ' +\
35889            'employee_number: ' + repr(self.employee_number) + ' ' +\
35890            'external_id: ' + repr(self.external_id) + ' ' +\
35891            'first_name: ' + repr(self.first_name) + ' ' +\
35892            'id: ' + repr(self.id) + ' ' +\
35893            'last_name: ' + repr(self.last_name) + ' ' +\
35894            'managed_by: ' + repr(self.managed_by) + ' ' +\
35895            'manager_id: ' + repr(self.manager_id) + ' ' +\
35896            'password: ' + repr(self.password) + ' ' +\
35897            'permission_level: ' + repr(self.permission_level) + ' ' +\
35898            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
35899            'suspended: ' + repr(self.suspended) + ' ' +\
35900            'tags: ' + repr(self.tags) + ' ' +\
35901            '>'
35902
35903    def to_dict(self):
35904        return {
35905            'scim': self.scim,
35906            'created_at': self.created_at,
35907            'email': self.email,
35908            'employee_number': self.employee_number,
35909            'external_id': self.external_id,
35910            'first_name': self.first_name,
35911            'id': self.id,
35912            'last_name': self.last_name,
35913            'managed_by': self.managed_by,
35914            'manager_id': self.manager_id,
35915            'password': self.password,
35916            'permission_level': self.permission_level,
35917            'resolved_manager_id': self.resolved_manager_id,
35918            'suspended': self.suspended,
35919            'tags': self.tags,
35920        }
35921
35922    @classmethod
35923    def from_dict(cls, d):
35924        return cls(
35925            scim=d.get('scim'),
35926            created_at=d.get('created_at'),
35927            email=d.get('email'),
35928            employee_number=d.get('employee_number'),
35929            external_id=d.get('external_id'),
35930            first_name=d.get('first_name'),
35931            id=d.get('id'),
35932            last_name=d.get('last_name'),
35933            managed_by=d.get('managed_by'),
35934            manager_id=d.get('manager_id'),
35935            password=d.get('password'),
35936            permission_level=d.get('permission_level'),
35937            resolved_manager_id=d.get('resolved_manager_id'),
35938            suspended=d.get('suspended'),
35939            tags=d.get('tags'),
35940        )
35941
35942
35943class VaultAWSEC2CertSSHStore:
35944    __slots__ = [
35945        'id',
35946        'issuedcertttlminutes',
35947        'name',
35948        'namespace',
35949        'server_address',
35950        'signing_role',
35951        'ssh_mount_point',
35952        'tags',
35953    ]
35954
35955    def __init__(
35956        self,
35957        id=None,
35958        issuedcertttlminutes=None,
35959        name=None,
35960        namespace=None,
35961        server_address=None,
35962        signing_role=None,
35963        ssh_mount_point=None,
35964        tags=None,
35965    ):
35966        self.id = id if id is not None else ''
35967        '''
35968         Unique identifier of the SecretStore.
35969        '''
35970        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
35971        '''
35972         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
35973        '''
35974        self.name = name if name is not None else ''
35975        '''
35976         Unique human-readable name of the SecretStore.
35977        '''
35978        self.namespace = namespace if namespace is not None else ''
35979        '''
35980         The namespace to make requests within
35981        '''
35982        self.server_address = server_address if server_address is not None else ''
35983        '''
35984         The URL of the Vault to target
35985        '''
35986        self.signing_role = signing_role if signing_role is not None else ''
35987        '''
35988         The signing role to be used for signing certificates
35989        '''
35990        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
35991        '''
35992         The mount point of the SSH engine configured with the desired CA
35993        '''
35994        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35995        '''
35996         Tags is a map of key, value pairs.
35997        '''
35998
35999    def __repr__(self):
36000        return '<sdm.VaultAWSEC2CertSSHStore ' + \
36001            'id: ' + repr(self.id) + ' ' +\
36002            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36003            'name: ' + repr(self.name) + ' ' +\
36004            'namespace: ' + repr(self.namespace) + ' ' +\
36005            'server_address: ' + repr(self.server_address) + ' ' +\
36006            'signing_role: ' + repr(self.signing_role) + ' ' +\
36007            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36008            'tags: ' + repr(self.tags) + ' ' +\
36009            '>'
36010
36011    def to_dict(self):
36012        return {
36013            'id': self.id,
36014            'issuedcertttlminutes': self.issuedcertttlminutes,
36015            'name': self.name,
36016            'namespace': self.namespace,
36017            'server_address': self.server_address,
36018            'signing_role': self.signing_role,
36019            'ssh_mount_point': self.ssh_mount_point,
36020            'tags': self.tags,
36021        }
36022
36023    @classmethod
36024    def from_dict(cls, d):
36025        return cls(
36026            id=d.get('id'),
36027            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36028            name=d.get('name'),
36029            namespace=d.get('namespace'),
36030            server_address=d.get('server_address'),
36031            signing_role=d.get('signing_role'),
36032            ssh_mount_point=d.get('ssh_mount_point'),
36033            tags=d.get('tags'),
36034        )
36035
36036
36037class VaultAWSEC2CertX509Store:
36038    __slots__ = [
36039        'id',
36040        'issuedcertttlminutes',
36041        'name',
36042        'namespace',
36043        'pki_mount_point',
36044        'server_address',
36045        'signing_role',
36046        'tags',
36047    ]
36048
36049    def __init__(
36050        self,
36051        id=None,
36052        issuedcertttlminutes=None,
36053        name=None,
36054        namespace=None,
36055        pki_mount_point=None,
36056        server_address=None,
36057        signing_role=None,
36058        tags=None,
36059    ):
36060        self.id = id if id is not None else ''
36061        '''
36062         Unique identifier of the SecretStore.
36063        '''
36064        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36065        '''
36066         The lifetime of certificates issued by this CA represented in minutes.
36067        '''
36068        self.name = name if name is not None else ''
36069        '''
36070         Unique human-readable name of the SecretStore.
36071        '''
36072        self.namespace = namespace if namespace is not None else ''
36073        '''
36074         The namespace to make requests within
36075        '''
36076        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36077        '''
36078         The mount point of the PKI engine configured with the desired CA
36079        '''
36080        self.server_address = server_address if server_address is not None else ''
36081        '''
36082         The URL of the Vault to target
36083        '''
36084        self.signing_role = signing_role if signing_role is not None else ''
36085        '''
36086         The signing role to be used for signing certificates
36087        '''
36088        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36089        '''
36090         Tags is a map of key, value pairs.
36091        '''
36092
36093    def __repr__(self):
36094        return '<sdm.VaultAWSEC2CertX509Store ' + \
36095            'id: ' + repr(self.id) + ' ' +\
36096            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36097            'name: ' + repr(self.name) + ' ' +\
36098            'namespace: ' + repr(self.namespace) + ' ' +\
36099            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36100            'server_address: ' + repr(self.server_address) + ' ' +\
36101            'signing_role: ' + repr(self.signing_role) + ' ' +\
36102            'tags: ' + repr(self.tags) + ' ' +\
36103            '>'
36104
36105    def to_dict(self):
36106        return {
36107            'id': self.id,
36108            'issuedcertttlminutes': self.issuedcertttlminutes,
36109            'name': self.name,
36110            'namespace': self.namespace,
36111            'pki_mount_point': self.pki_mount_point,
36112            'server_address': self.server_address,
36113            'signing_role': self.signing_role,
36114            'tags': self.tags,
36115        }
36116
36117    @classmethod
36118    def from_dict(cls, d):
36119        return cls(
36120            id=d.get('id'),
36121            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36122            name=d.get('name'),
36123            namespace=d.get('namespace'),
36124            pki_mount_point=d.get('pki_mount_point'),
36125            server_address=d.get('server_address'),
36126            signing_role=d.get('signing_role'),
36127            tags=d.get('tags'),
36128        )
36129
36130
36131class VaultAWSEC2Store:
36132    __slots__ = [
36133        'id',
36134        'name',
36135        'namespace',
36136        'server_address',
36137        'tags',
36138    ]
36139
36140    def __init__(
36141        self,
36142        id=None,
36143        name=None,
36144        namespace=None,
36145        server_address=None,
36146        tags=None,
36147    ):
36148        self.id = id if id is not None else ''
36149        '''
36150         Unique identifier of the SecretStore.
36151        '''
36152        self.name = name if name is not None else ''
36153        '''
36154         Unique human-readable name of the SecretStore.
36155        '''
36156        self.namespace = namespace if namespace is not None else ''
36157        '''
36158         The namespace to make requests within
36159        '''
36160        self.server_address = server_address if server_address is not None else ''
36161        '''
36162         The URL of the Vault to target
36163        '''
36164        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36165        '''
36166         Tags is a map of key, value pairs.
36167        '''
36168
36169    def __repr__(self):
36170        return '<sdm.VaultAWSEC2Store ' + \
36171            'id: ' + repr(self.id) + ' ' +\
36172            'name: ' + repr(self.name) + ' ' +\
36173            'namespace: ' + repr(self.namespace) + ' ' +\
36174            'server_address: ' + repr(self.server_address) + ' ' +\
36175            'tags: ' + repr(self.tags) + ' ' +\
36176            '>'
36177
36178    def to_dict(self):
36179        return {
36180            'id': self.id,
36181            'name': self.name,
36182            'namespace': self.namespace,
36183            'server_address': self.server_address,
36184            'tags': self.tags,
36185        }
36186
36187    @classmethod
36188    def from_dict(cls, d):
36189        return cls(
36190            id=d.get('id'),
36191            name=d.get('name'),
36192            namespace=d.get('namespace'),
36193            server_address=d.get('server_address'),
36194            tags=d.get('tags'),
36195        )
36196
36197
36198class VaultAWSIAMCertSSHStore:
36199    __slots__ = [
36200        'id',
36201        'issuedcertttlminutes',
36202        'name',
36203        'namespace',
36204        'server_address',
36205        'signing_role',
36206        'ssh_mount_point',
36207        'tags',
36208    ]
36209
36210    def __init__(
36211        self,
36212        id=None,
36213        issuedcertttlminutes=None,
36214        name=None,
36215        namespace=None,
36216        server_address=None,
36217        signing_role=None,
36218        ssh_mount_point=None,
36219        tags=None,
36220    ):
36221        self.id = id if id is not None else ''
36222        '''
36223         Unique identifier of the SecretStore.
36224        '''
36225        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36226        '''
36227         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
36228        '''
36229        self.name = name if name is not None else ''
36230        '''
36231         Unique human-readable name of the SecretStore.
36232        '''
36233        self.namespace = namespace if namespace is not None else ''
36234        '''
36235         The namespace to make requests within
36236        '''
36237        self.server_address = server_address if server_address is not None else ''
36238        '''
36239         The URL of the Vault to target
36240        '''
36241        self.signing_role = signing_role if signing_role is not None else ''
36242        '''
36243         The signing role to be used for signing certificates
36244        '''
36245        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36246        '''
36247         The mount point of the SSH engine configured with the desired CA
36248        '''
36249        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36250        '''
36251         Tags is a map of key, value pairs.
36252        '''
36253
36254    def __repr__(self):
36255        return '<sdm.VaultAWSIAMCertSSHStore ' + \
36256            'id: ' + repr(self.id) + ' ' +\
36257            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36258            'name: ' + repr(self.name) + ' ' +\
36259            'namespace: ' + repr(self.namespace) + ' ' +\
36260            'server_address: ' + repr(self.server_address) + ' ' +\
36261            'signing_role: ' + repr(self.signing_role) + ' ' +\
36262            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36263            'tags: ' + repr(self.tags) + ' ' +\
36264            '>'
36265
36266    def to_dict(self):
36267        return {
36268            'id': self.id,
36269            'issuedcertttlminutes': self.issuedcertttlminutes,
36270            'name': self.name,
36271            'namespace': self.namespace,
36272            'server_address': self.server_address,
36273            'signing_role': self.signing_role,
36274            'ssh_mount_point': self.ssh_mount_point,
36275            'tags': self.tags,
36276        }
36277
36278    @classmethod
36279    def from_dict(cls, d):
36280        return cls(
36281            id=d.get('id'),
36282            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36283            name=d.get('name'),
36284            namespace=d.get('namespace'),
36285            server_address=d.get('server_address'),
36286            signing_role=d.get('signing_role'),
36287            ssh_mount_point=d.get('ssh_mount_point'),
36288            tags=d.get('tags'),
36289        )
36290
36291
36292class VaultAWSIAMCertX509Store:
36293    __slots__ = [
36294        'id',
36295        'issuedcertttlminutes',
36296        'name',
36297        'namespace',
36298        'pki_mount_point',
36299        'server_address',
36300        'signing_role',
36301        'tags',
36302    ]
36303
36304    def __init__(
36305        self,
36306        id=None,
36307        issuedcertttlminutes=None,
36308        name=None,
36309        namespace=None,
36310        pki_mount_point=None,
36311        server_address=None,
36312        signing_role=None,
36313        tags=None,
36314    ):
36315        self.id = id if id is not None else ''
36316        '''
36317         Unique identifier of the SecretStore.
36318        '''
36319        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36320        '''
36321         The lifetime of certificates issued by this CA represented in minutes.
36322        '''
36323        self.name = name if name is not None else ''
36324        '''
36325         Unique human-readable name of the SecretStore.
36326        '''
36327        self.namespace = namespace if namespace is not None else ''
36328        '''
36329         The namespace to make requests within
36330        '''
36331        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36332        '''
36333         The mount point of the PKI engine configured with the desired CA
36334        '''
36335        self.server_address = server_address if server_address is not None else ''
36336        '''
36337         The URL of the Vault to target
36338        '''
36339        self.signing_role = signing_role if signing_role is not None else ''
36340        '''
36341         The signing role to be used for signing certificates
36342        '''
36343        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36344        '''
36345         Tags is a map of key, value pairs.
36346        '''
36347
36348    def __repr__(self):
36349        return '<sdm.VaultAWSIAMCertX509Store ' + \
36350            'id: ' + repr(self.id) + ' ' +\
36351            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36352            'name: ' + repr(self.name) + ' ' +\
36353            'namespace: ' + repr(self.namespace) + ' ' +\
36354            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36355            'server_address: ' + repr(self.server_address) + ' ' +\
36356            'signing_role: ' + repr(self.signing_role) + ' ' +\
36357            'tags: ' + repr(self.tags) + ' ' +\
36358            '>'
36359
36360    def to_dict(self):
36361        return {
36362            'id': self.id,
36363            'issuedcertttlminutes': self.issuedcertttlminutes,
36364            'name': self.name,
36365            'namespace': self.namespace,
36366            'pki_mount_point': self.pki_mount_point,
36367            'server_address': self.server_address,
36368            'signing_role': self.signing_role,
36369            'tags': self.tags,
36370        }
36371
36372    @classmethod
36373    def from_dict(cls, d):
36374        return cls(
36375            id=d.get('id'),
36376            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36377            name=d.get('name'),
36378            namespace=d.get('namespace'),
36379            pki_mount_point=d.get('pki_mount_point'),
36380            server_address=d.get('server_address'),
36381            signing_role=d.get('signing_role'),
36382            tags=d.get('tags'),
36383        )
36384
36385
36386class VaultAWSIAMStore:
36387    __slots__ = [
36388        'id',
36389        'name',
36390        'namespace',
36391        'server_address',
36392        'tags',
36393    ]
36394
36395    def __init__(
36396        self,
36397        id=None,
36398        name=None,
36399        namespace=None,
36400        server_address=None,
36401        tags=None,
36402    ):
36403        self.id = id if id is not None else ''
36404        '''
36405         Unique identifier of the SecretStore.
36406        '''
36407        self.name = name if name is not None else ''
36408        '''
36409         Unique human-readable name of the SecretStore.
36410        '''
36411        self.namespace = namespace if namespace is not None else ''
36412        '''
36413         The namespace to make requests within
36414        '''
36415        self.server_address = server_address if server_address is not None else ''
36416        '''
36417         The URL of the Vault to target
36418        '''
36419        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36420        '''
36421         Tags is a map of key, value pairs.
36422        '''
36423
36424    def __repr__(self):
36425        return '<sdm.VaultAWSIAMStore ' + \
36426            'id: ' + repr(self.id) + ' ' +\
36427            'name: ' + repr(self.name) + ' ' +\
36428            'namespace: ' + repr(self.namespace) + ' ' +\
36429            'server_address: ' + repr(self.server_address) + ' ' +\
36430            'tags: ' + repr(self.tags) + ' ' +\
36431            '>'
36432
36433    def to_dict(self):
36434        return {
36435            'id': self.id,
36436            'name': self.name,
36437            'namespace': self.namespace,
36438            'server_address': self.server_address,
36439            'tags': self.tags,
36440        }
36441
36442    @classmethod
36443    def from_dict(cls, d):
36444        return cls(
36445            id=d.get('id'),
36446            name=d.get('name'),
36447            namespace=d.get('namespace'),
36448            server_address=d.get('server_address'),
36449            tags=d.get('tags'),
36450        )
36451
36452
36453class VaultAppRoleCertSSHStore:
36454    __slots__ = [
36455        'id',
36456        'issuedcertttlminutes',
36457        'name',
36458        'namespace',
36459        'server_address',
36460        'signing_role',
36461        'ssh_mount_point',
36462        'tags',
36463    ]
36464
36465    def __init__(
36466        self,
36467        id=None,
36468        issuedcertttlminutes=None,
36469        name=None,
36470        namespace=None,
36471        server_address=None,
36472        signing_role=None,
36473        ssh_mount_point=None,
36474        tags=None,
36475    ):
36476        self.id = id if id is not None else ''
36477        '''
36478         Unique identifier of the SecretStore.
36479        '''
36480        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36481        '''
36482         The lifetime of certificates issued by this CA represented in minutes.
36483        '''
36484        self.name = name if name is not None else ''
36485        '''
36486         Unique human-readable name of the SecretStore.
36487        '''
36488        self.namespace = namespace if namespace is not None else ''
36489        '''
36490         The namespace to make requests within
36491        '''
36492        self.server_address = server_address if server_address is not None else ''
36493        '''
36494         The URL of the Vault to target
36495        '''
36496        self.signing_role = signing_role if signing_role is not None else ''
36497        '''
36498         The signing role to be used for signing certificates
36499        '''
36500        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36501        '''
36502         The mount point of the SSH engine configured with the desired CA
36503        '''
36504        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36505        '''
36506         Tags is a map of key, value pairs.
36507        '''
36508
36509    def __repr__(self):
36510        return '<sdm.VaultAppRoleCertSSHStore ' + \
36511            'id: ' + repr(self.id) + ' ' +\
36512            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36513            'name: ' + repr(self.name) + ' ' +\
36514            'namespace: ' + repr(self.namespace) + ' ' +\
36515            'server_address: ' + repr(self.server_address) + ' ' +\
36516            'signing_role: ' + repr(self.signing_role) + ' ' +\
36517            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36518            'tags: ' + repr(self.tags) + ' ' +\
36519            '>'
36520
36521    def to_dict(self):
36522        return {
36523            'id': self.id,
36524            'issuedcertttlminutes': self.issuedcertttlminutes,
36525            'name': self.name,
36526            'namespace': self.namespace,
36527            'server_address': self.server_address,
36528            'signing_role': self.signing_role,
36529            'ssh_mount_point': self.ssh_mount_point,
36530            'tags': self.tags,
36531        }
36532
36533    @classmethod
36534    def from_dict(cls, d):
36535        return cls(
36536            id=d.get('id'),
36537            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36538            name=d.get('name'),
36539            namespace=d.get('namespace'),
36540            server_address=d.get('server_address'),
36541            signing_role=d.get('signing_role'),
36542            ssh_mount_point=d.get('ssh_mount_point'),
36543            tags=d.get('tags'),
36544        )
36545
36546
36547class VaultAppRoleCertX509Store:
36548    __slots__ = [
36549        'id',
36550        'issuedcertttlminutes',
36551        'name',
36552        'namespace',
36553        'pki_mount_point',
36554        'server_address',
36555        'signing_role',
36556        'tags',
36557    ]
36558
36559    def __init__(
36560        self,
36561        id=None,
36562        issuedcertttlminutes=None,
36563        name=None,
36564        namespace=None,
36565        pki_mount_point=None,
36566        server_address=None,
36567        signing_role=None,
36568        tags=None,
36569    ):
36570        self.id = id if id is not None else ''
36571        '''
36572         Unique identifier of the SecretStore.
36573        '''
36574        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36575        '''
36576         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
36577        '''
36578        self.name = name if name is not None else ''
36579        '''
36580         Unique human-readable name of the SecretStore.
36581        '''
36582        self.namespace = namespace if namespace is not None else ''
36583        '''
36584         The namespace to make requests within
36585        '''
36586        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36587        '''
36588         The mount point of the PKI engine configured with the desired CA
36589        '''
36590        self.server_address = server_address if server_address is not None else ''
36591        '''
36592         The URL of the Vault to target
36593        '''
36594        self.signing_role = signing_role if signing_role is not None else ''
36595        '''
36596         The signing role to be used for signing certificates
36597        '''
36598        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36599        '''
36600         Tags is a map of key, value pairs.
36601        '''
36602
36603    def __repr__(self):
36604        return '<sdm.VaultAppRoleCertX509Store ' + \
36605            'id: ' + repr(self.id) + ' ' +\
36606            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36607            'name: ' + repr(self.name) + ' ' +\
36608            'namespace: ' + repr(self.namespace) + ' ' +\
36609            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36610            'server_address: ' + repr(self.server_address) + ' ' +\
36611            'signing_role: ' + repr(self.signing_role) + ' ' +\
36612            'tags: ' + repr(self.tags) + ' ' +\
36613            '>'
36614
36615    def to_dict(self):
36616        return {
36617            'id': self.id,
36618            'issuedcertttlminutes': self.issuedcertttlminutes,
36619            'name': self.name,
36620            'namespace': self.namespace,
36621            'pki_mount_point': self.pki_mount_point,
36622            'server_address': self.server_address,
36623            'signing_role': self.signing_role,
36624            'tags': self.tags,
36625        }
36626
36627    @classmethod
36628    def from_dict(cls, d):
36629        return cls(
36630            id=d.get('id'),
36631            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36632            name=d.get('name'),
36633            namespace=d.get('namespace'),
36634            pki_mount_point=d.get('pki_mount_point'),
36635            server_address=d.get('server_address'),
36636            signing_role=d.get('signing_role'),
36637            tags=d.get('tags'),
36638        )
36639
36640
36641class VaultAppRoleStore:
36642    __slots__ = [
36643        'id',
36644        'name',
36645        'namespace',
36646        'server_address',
36647        'tags',
36648    ]
36649
36650    def __init__(
36651        self,
36652        id=None,
36653        name=None,
36654        namespace=None,
36655        server_address=None,
36656        tags=None,
36657    ):
36658        self.id = id if id is not None else ''
36659        '''
36660         Unique identifier of the SecretStore.
36661        '''
36662        self.name = name if name is not None else ''
36663        '''
36664         Unique human-readable name of the SecretStore.
36665        '''
36666        self.namespace = namespace if namespace is not None else ''
36667        '''
36668         The namespace to make requests within
36669        '''
36670        self.server_address = server_address if server_address is not None else ''
36671        '''
36672         The URL of the Vault to target
36673        '''
36674        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36675        '''
36676         Tags is a map of key, value pairs.
36677        '''
36678
36679    def __repr__(self):
36680        return '<sdm.VaultAppRoleStore ' + \
36681            'id: ' + repr(self.id) + ' ' +\
36682            'name: ' + repr(self.name) + ' ' +\
36683            'namespace: ' + repr(self.namespace) + ' ' +\
36684            'server_address: ' + repr(self.server_address) + ' ' +\
36685            'tags: ' + repr(self.tags) + ' ' +\
36686            '>'
36687
36688    def to_dict(self):
36689        return {
36690            'id': self.id,
36691            'name': self.name,
36692            'namespace': self.namespace,
36693            'server_address': self.server_address,
36694            'tags': self.tags,
36695        }
36696
36697    @classmethod
36698    def from_dict(cls, d):
36699        return cls(
36700            id=d.get('id'),
36701            name=d.get('name'),
36702            namespace=d.get('namespace'),
36703            server_address=d.get('server_address'),
36704            tags=d.get('tags'),
36705        )
36706
36707
36708class VaultTLSCertSSHStore:
36709    __slots__ = [
36710        'ca_cert_path',
36711        'client_cert_path',
36712        'client_key_path',
36713        'id',
36714        'issuedcertttlminutes',
36715        'name',
36716        'namespace',
36717        'server_address',
36718        'signing_role',
36719        'ssh_mount_point',
36720        'tags',
36721    ]
36722
36723    def __init__(
36724        self,
36725        ca_cert_path=None,
36726        client_cert_path=None,
36727        client_key_path=None,
36728        id=None,
36729        issuedcertttlminutes=None,
36730        name=None,
36731        namespace=None,
36732        server_address=None,
36733        signing_role=None,
36734        ssh_mount_point=None,
36735        tags=None,
36736    ):
36737        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36738        '''
36739         A path to a CA file accessible by a Node
36740        '''
36741        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36742        '''
36743         A path to a client certificate file accessible by a Node
36744        '''
36745        self.client_key_path = client_key_path if client_key_path is not None else ''
36746        '''
36747         A path to a client key file accessible by a Node
36748        '''
36749        self.id = id if id is not None else ''
36750        '''
36751         Unique identifier of the SecretStore.
36752        '''
36753        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36754        '''
36755         The lifetime of certificates issued by this CA represented in minutes.
36756        '''
36757        self.name = name if name is not None else ''
36758        '''
36759         Unique human-readable name of the SecretStore.
36760        '''
36761        self.namespace = namespace if namespace is not None else ''
36762        '''
36763         The namespace to make requests within
36764        '''
36765        self.server_address = server_address if server_address is not None else ''
36766        '''
36767         The URL of the Vault to target
36768        '''
36769        self.signing_role = signing_role if signing_role is not None else ''
36770        '''
36771         The signing role to be used for signing certificates
36772        '''
36773        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36774        '''
36775         The mount point of the SSH engine configured with the desired CA
36776        '''
36777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36778        '''
36779         Tags is a map of key, value pairs.
36780        '''
36781
36782    def __repr__(self):
36783        return '<sdm.VaultTLSCertSSHStore ' + \
36784            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
36785            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
36786            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
36787            'id: ' + repr(self.id) + ' ' +\
36788            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36789            'name: ' + repr(self.name) + ' ' +\
36790            'namespace: ' + repr(self.namespace) + ' ' +\
36791            'server_address: ' + repr(self.server_address) + ' ' +\
36792            'signing_role: ' + repr(self.signing_role) + ' ' +\
36793            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36794            'tags: ' + repr(self.tags) + ' ' +\
36795            '>'
36796
36797    def to_dict(self):
36798        return {
36799            'ca_cert_path': self.ca_cert_path,
36800            'client_cert_path': self.client_cert_path,
36801            'client_key_path': self.client_key_path,
36802            'id': self.id,
36803            'issuedcertttlminutes': self.issuedcertttlminutes,
36804            'name': self.name,
36805            'namespace': self.namespace,
36806            'server_address': self.server_address,
36807            'signing_role': self.signing_role,
36808            'ssh_mount_point': self.ssh_mount_point,
36809            'tags': self.tags,
36810        }
36811
36812    @classmethod
36813    def from_dict(cls, d):
36814        return cls(
36815            ca_cert_path=d.get('ca_cert_path'),
36816            client_cert_path=d.get('client_cert_path'),
36817            client_key_path=d.get('client_key_path'),
36818            id=d.get('id'),
36819            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36820            name=d.get('name'),
36821            namespace=d.get('namespace'),
36822            server_address=d.get('server_address'),
36823            signing_role=d.get('signing_role'),
36824            ssh_mount_point=d.get('ssh_mount_point'),
36825            tags=d.get('tags'),
36826        )
36827
36828
36829class VaultTLSCertX509Store:
36830    __slots__ = [
36831        'ca_cert_path',
36832        'client_cert_path',
36833        'client_key_path',
36834        'id',
36835        'issuedcertttlminutes',
36836        'name',
36837        'namespace',
36838        'pki_mount_point',
36839        'server_address',
36840        'signing_role',
36841        'tags',
36842    ]
36843
36844    def __init__(
36845        self,
36846        ca_cert_path=None,
36847        client_cert_path=None,
36848        client_key_path=None,
36849        id=None,
36850        issuedcertttlminutes=None,
36851        name=None,
36852        namespace=None,
36853        pki_mount_point=None,
36854        server_address=None,
36855        signing_role=None,
36856        tags=None,
36857    ):
36858        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36859        '''
36860         A path to a CA file accessible by a Node
36861        '''
36862        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36863        '''
36864         A path to a client certificate file accessible by a Node
36865        '''
36866        self.client_key_path = client_key_path if client_key_path is not None else ''
36867        '''
36868         A path to a client key file accessible by a Node
36869        '''
36870        self.id = id if id is not None else ''
36871        '''
36872         Unique identifier of the SecretStore.
36873        '''
36874        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36875        '''
36876         The lifetime of certificates issued by this CA represented in minutes.
36877        '''
36878        self.name = name if name is not None else ''
36879        '''
36880         Unique human-readable name of the SecretStore.
36881        '''
36882        self.namespace = namespace if namespace is not None else ''
36883        '''
36884         The namespace to make requests within
36885        '''
36886        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36887        '''
36888         The mount point of the PKI engine configured with the desired CA
36889        '''
36890        self.server_address = server_address if server_address is not None else ''
36891        '''
36892         The URL of the Vault to target
36893        '''
36894        self.signing_role = signing_role if signing_role is not None else ''
36895        '''
36896         The signing role to be used for signing certificates
36897        '''
36898        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36899        '''
36900         Tags is a map of key, value pairs.
36901        '''
36902
36903    def __repr__(self):
36904        return '<sdm.VaultTLSCertX509Store ' + \
36905            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
36906            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
36907            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
36908            'id: ' + repr(self.id) + ' ' +\
36909            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36910            'name: ' + repr(self.name) + ' ' +\
36911            'namespace: ' + repr(self.namespace) + ' ' +\
36912            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36913            'server_address: ' + repr(self.server_address) + ' ' +\
36914            'signing_role: ' + repr(self.signing_role) + ' ' +\
36915            'tags: ' + repr(self.tags) + ' ' +\
36916            '>'
36917
36918    def to_dict(self):
36919        return {
36920            'ca_cert_path': self.ca_cert_path,
36921            'client_cert_path': self.client_cert_path,
36922            'client_key_path': self.client_key_path,
36923            'id': self.id,
36924            'issuedcertttlminutes': self.issuedcertttlminutes,
36925            'name': self.name,
36926            'namespace': self.namespace,
36927            'pki_mount_point': self.pki_mount_point,
36928            'server_address': self.server_address,
36929            'signing_role': self.signing_role,
36930            'tags': self.tags,
36931        }
36932
36933    @classmethod
36934    def from_dict(cls, d):
36935        return cls(
36936            ca_cert_path=d.get('ca_cert_path'),
36937            client_cert_path=d.get('client_cert_path'),
36938            client_key_path=d.get('client_key_path'),
36939            id=d.get('id'),
36940            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36941            name=d.get('name'),
36942            namespace=d.get('namespace'),
36943            pki_mount_point=d.get('pki_mount_point'),
36944            server_address=d.get('server_address'),
36945            signing_role=d.get('signing_role'),
36946            tags=d.get('tags'),
36947        )
36948
36949
36950class VaultTLSStore:
36951    __slots__ = [
36952        'ca_cert_path',
36953        'client_cert_path',
36954        'client_key_path',
36955        'id',
36956        'name',
36957        'namespace',
36958        'server_address',
36959        'tags',
36960    ]
36961
36962    def __init__(
36963        self,
36964        ca_cert_path=None,
36965        client_cert_path=None,
36966        client_key_path=None,
36967        id=None,
36968        name=None,
36969        namespace=None,
36970        server_address=None,
36971        tags=None,
36972    ):
36973        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36974        '''
36975         A path to a CA file accessible by a Node
36976        '''
36977        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36978        '''
36979         A path to a client certificate file accessible by a Node
36980        '''
36981        self.client_key_path = client_key_path if client_key_path is not None else ''
36982        '''
36983         A path to a client key file accessible by a Node
36984        '''
36985        self.id = id if id is not None else ''
36986        '''
36987         Unique identifier of the SecretStore.
36988        '''
36989        self.name = name if name is not None else ''
36990        '''
36991         Unique human-readable name of the SecretStore.
36992        '''
36993        self.namespace = namespace if namespace is not None else ''
36994        '''
36995         The namespace to make requests within
36996        '''
36997        self.server_address = server_address if server_address is not None else ''
36998        '''
36999         The URL of the Vault to target
37000        '''
37001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37002        '''
37003         Tags is a map of key, value pairs.
37004        '''
37005
37006    def __repr__(self):
37007        return '<sdm.VaultTLSStore ' + \
37008            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
37009            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
37010            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
37011            'id: ' + repr(self.id) + ' ' +\
37012            'name: ' + repr(self.name) + ' ' +\
37013            'namespace: ' + repr(self.namespace) + ' ' +\
37014            'server_address: ' + repr(self.server_address) + ' ' +\
37015            'tags: ' + repr(self.tags) + ' ' +\
37016            '>'
37017
37018    def to_dict(self):
37019        return {
37020            'ca_cert_path': self.ca_cert_path,
37021            'client_cert_path': self.client_cert_path,
37022            'client_key_path': self.client_key_path,
37023            'id': self.id,
37024            'name': self.name,
37025            'namespace': self.namespace,
37026            'server_address': self.server_address,
37027            'tags': self.tags,
37028        }
37029
37030    @classmethod
37031    def from_dict(cls, d):
37032        return cls(
37033            ca_cert_path=d.get('ca_cert_path'),
37034            client_cert_path=d.get('client_cert_path'),
37035            client_key_path=d.get('client_key_path'),
37036            id=d.get('id'),
37037            name=d.get('name'),
37038            namespace=d.get('namespace'),
37039            server_address=d.get('server_address'),
37040            tags=d.get('tags'),
37041        )
37042
37043
37044class VaultTokenCertSSHStore:
37045    __slots__ = [
37046        'id',
37047        'issuedcertttlminutes',
37048        'name',
37049        'namespace',
37050        'server_address',
37051        'signing_role',
37052        'ssh_mount_point',
37053        'tags',
37054    ]
37055
37056    def __init__(
37057        self,
37058        id=None,
37059        issuedcertttlminutes=None,
37060        name=None,
37061        namespace=None,
37062        server_address=None,
37063        signing_role=None,
37064        ssh_mount_point=None,
37065        tags=None,
37066    ):
37067        self.id = id if id is not None else ''
37068        '''
37069         Unique identifier of the SecretStore.
37070        '''
37071        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
37072        '''
37073         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
37074        '''
37075        self.name = name if name is not None else ''
37076        '''
37077         Unique human-readable name of the SecretStore.
37078        '''
37079        self.namespace = namespace if namespace is not None else ''
37080        '''
37081         The namespace to make requests within
37082        '''
37083        self.server_address = server_address if server_address is not None else ''
37084        '''
37085         The URL of the Vault to target
37086        '''
37087        self.signing_role = signing_role if signing_role is not None else ''
37088        '''
37089         The signing role to be used for signing certificates
37090        '''
37091        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
37092        '''
37093         The mount point of the SSH engine configured with the desired CA
37094        '''
37095        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37096        '''
37097         Tags is a map of key, value pairs.
37098        '''
37099
37100    def __repr__(self):
37101        return '<sdm.VaultTokenCertSSHStore ' + \
37102            'id: ' + repr(self.id) + ' ' +\
37103            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
37104            'name: ' + repr(self.name) + ' ' +\
37105            'namespace: ' + repr(self.namespace) + ' ' +\
37106            'server_address: ' + repr(self.server_address) + ' ' +\
37107            'signing_role: ' + repr(self.signing_role) + ' ' +\
37108            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
37109            'tags: ' + repr(self.tags) + ' ' +\
37110            '>'
37111
37112    def to_dict(self):
37113        return {
37114            'id': self.id,
37115            'issuedcertttlminutes': self.issuedcertttlminutes,
37116            'name': self.name,
37117            'namespace': self.namespace,
37118            'server_address': self.server_address,
37119            'signing_role': self.signing_role,
37120            'ssh_mount_point': self.ssh_mount_point,
37121            'tags': self.tags,
37122        }
37123
37124    @classmethod
37125    def from_dict(cls, d):
37126        return cls(
37127            id=d.get('id'),
37128            issuedcertttlminutes=d.get('issuedcertttlminutes'),
37129            name=d.get('name'),
37130            namespace=d.get('namespace'),
37131            server_address=d.get('server_address'),
37132            signing_role=d.get('signing_role'),
37133            ssh_mount_point=d.get('ssh_mount_point'),
37134            tags=d.get('tags'),
37135        )
37136
37137
37138class VaultTokenCertX509Store:
37139    __slots__ = [
37140        'id',
37141        'issuedcertttlminutes',
37142        'name',
37143        'namespace',
37144        'pki_mount_point',
37145        'server_address',
37146        'signing_role',
37147        'tags',
37148    ]
37149
37150    def __init__(
37151        self,
37152        id=None,
37153        issuedcertttlminutes=None,
37154        name=None,
37155        namespace=None,
37156        pki_mount_point=None,
37157        server_address=None,
37158        signing_role=None,
37159        tags=None,
37160    ):
37161        self.id = id if id is not None else ''
37162        '''
37163         Unique identifier of the SecretStore.
37164        '''
37165        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
37166        '''
37167         The lifetime of certificates issued by this CA represented in minutes.
37168        '''
37169        self.name = name if name is not None else ''
37170        '''
37171         Unique human-readable name of the SecretStore.
37172        '''
37173        self.namespace = namespace if namespace is not None else ''
37174        '''
37175         The namespace to make requests within
37176        '''
37177        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
37178        '''
37179         The mount point of the PKI engine configured with the desired CA
37180        '''
37181        self.server_address = server_address if server_address is not None else ''
37182        '''
37183         The URL of the Vault to target
37184        '''
37185        self.signing_role = signing_role if signing_role is not None else ''
37186        '''
37187         The signing role to be used for signing certificates
37188        '''
37189        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37190        '''
37191         Tags is a map of key, value pairs.
37192        '''
37193
37194    def __repr__(self):
37195        return '<sdm.VaultTokenCertX509Store ' + \
37196            'id: ' + repr(self.id) + ' ' +\
37197            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
37198            'name: ' + repr(self.name) + ' ' +\
37199            'namespace: ' + repr(self.namespace) + ' ' +\
37200            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
37201            'server_address: ' + repr(self.server_address) + ' ' +\
37202            'signing_role: ' + repr(self.signing_role) + ' ' +\
37203            'tags: ' + repr(self.tags) + ' ' +\
37204            '>'
37205
37206    def to_dict(self):
37207        return {
37208            'id': self.id,
37209            'issuedcertttlminutes': self.issuedcertttlminutes,
37210            'name': self.name,
37211            'namespace': self.namespace,
37212            'pki_mount_point': self.pki_mount_point,
37213            'server_address': self.server_address,
37214            'signing_role': self.signing_role,
37215            'tags': self.tags,
37216        }
37217
37218    @classmethod
37219    def from_dict(cls, d):
37220        return cls(
37221            id=d.get('id'),
37222            issuedcertttlminutes=d.get('issuedcertttlminutes'),
37223            name=d.get('name'),
37224            namespace=d.get('namespace'),
37225            pki_mount_point=d.get('pki_mount_point'),
37226            server_address=d.get('server_address'),
37227            signing_role=d.get('signing_role'),
37228            tags=d.get('tags'),
37229        )
37230
37231
37232class VaultTokenStore:
37233    __slots__ = [
37234        'id',
37235        'name',
37236        'namespace',
37237        'server_address',
37238        'tags',
37239    ]
37240
37241    def __init__(
37242        self,
37243        id=None,
37244        name=None,
37245        namespace=None,
37246        server_address=None,
37247        tags=None,
37248    ):
37249        self.id = id if id is not None else ''
37250        '''
37251         Unique identifier of the SecretStore.
37252        '''
37253        self.name = name if name is not None else ''
37254        '''
37255         Unique human-readable name of the SecretStore.
37256        '''
37257        self.namespace = namespace if namespace is not None else ''
37258        '''
37259         The namespace to make requests within
37260        '''
37261        self.server_address = server_address if server_address is not None else ''
37262        '''
37263         The URL of the Vault to target
37264        '''
37265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37266        '''
37267         Tags is a map of key, value pairs.
37268        '''
37269
37270    def __repr__(self):
37271        return '<sdm.VaultTokenStore ' + \
37272            'id: ' + repr(self.id) + ' ' +\
37273            'name: ' + repr(self.name) + ' ' +\
37274            'namespace: ' + repr(self.namespace) + ' ' +\
37275            'server_address: ' + repr(self.server_address) + ' ' +\
37276            'tags: ' + repr(self.tags) + ' ' +\
37277            '>'
37278
37279    def to_dict(self):
37280        return {
37281            'id': self.id,
37282            'name': self.name,
37283            'namespace': self.namespace,
37284            'server_address': self.server_address,
37285            'tags': self.tags,
37286        }
37287
37288    @classmethod
37289    def from_dict(cls, d):
37290        return cls(
37291            id=d.get('id'),
37292            name=d.get('name'),
37293            namespace=d.get('namespace'),
37294            server_address=d.get('server_address'),
37295            tags=d.get('tags'),
37296        )
37297
37298
37299class Vertica:
37300    __slots__ = [
37301        'bind_interface',
37302        'database',
37303        'egress_filter',
37304        'healthy',
37305        'hostname',
37306        'id',
37307        'name',
37308        'password',
37309        'port',
37310        'port_override',
37311        'proxy_cluster_id',
37312        'secret_store_id',
37313        'subdomain',
37314        'tags',
37315        'username',
37316    ]
37317
37318    def __init__(
37319        self,
37320        bind_interface=None,
37321        database=None,
37322        egress_filter=None,
37323        healthy=None,
37324        hostname=None,
37325        id=None,
37326        name=None,
37327        password=None,
37328        port=None,
37329        port_override=None,
37330        proxy_cluster_id=None,
37331        secret_store_id=None,
37332        subdomain=None,
37333        tags=None,
37334        username=None,
37335    ):
37336        self.bind_interface = bind_interface if bind_interface is not None else ''
37337        '''
37338         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
37339        '''
37340        self.database = database if database is not None else ''
37341        '''
37342         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
37343        '''
37344        self.egress_filter = egress_filter if egress_filter is not None else ''
37345        '''
37346         A filter applied to the routing logic to pin datasource to nodes.
37347        '''
37348        self.healthy = healthy if healthy is not None else False
37349        '''
37350         True if the datasource is reachable and the credentials are valid.
37351        '''
37352        self.hostname = hostname if hostname is not None else ''
37353        '''
37354         The host to dial to initiate a connection from the egress node to this resource.
37355        '''
37356        self.id = id if id is not None else ''
37357        '''
37358         Unique identifier of the Resource.
37359        '''
37360        self.name = name if name is not None else ''
37361        '''
37362         Unique human-readable name of the Resource.
37363        '''
37364        self.password = password if password is not None else ''
37365        '''
37366         The password to authenticate with.
37367        '''
37368        self.port = port if port is not None else 0
37369        '''
37370         The port to dial to initiate a connection from the egress node to this resource.
37371        '''
37372        self.port_override = port_override if port_override is not None else 0
37373        '''
37374         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
37375        '''
37376        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
37377        '''
37378         ID of the proxy cluster for this resource, if any.
37379        '''
37380        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
37381        '''
37382         ID of the secret store containing credentials for this resource, if any.
37383        '''
37384        self.subdomain = subdomain if subdomain is not None else ''
37385        '''
37386         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
37387        '''
37388        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37389        '''
37390         Tags is a map of key, value pairs.
37391        '''
37392        self.username = username if username is not None else ''
37393        '''
37394         The username to authenticate with.
37395        '''
37396
37397    def __repr__(self):
37398        return '<sdm.Vertica ' + \
37399            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
37400            'database: ' + repr(self.database) + ' ' +\
37401            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
37402            'healthy: ' + repr(self.healthy) + ' ' +\
37403            'hostname: ' + repr(self.hostname) + ' ' +\
37404            'id: ' + repr(self.id) + ' ' +\
37405            'name: ' + repr(self.name) + ' ' +\
37406            'password: ' + repr(self.password) + ' ' +\
37407            'port: ' + repr(self.port) + ' ' +\
37408            'port_override: ' + repr(self.port_override) + ' ' +\
37409            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
37410            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
37411            'subdomain: ' + repr(self.subdomain) + ' ' +\
37412            'tags: ' + repr(self.tags) + ' ' +\
37413            'username: ' + repr(self.username) + ' ' +\
37414            '>'
37415
37416    def to_dict(self):
37417        return {
37418            'bind_interface': self.bind_interface,
37419            'database': self.database,
37420            'egress_filter': self.egress_filter,
37421            'healthy': self.healthy,
37422            'hostname': self.hostname,
37423            'id': self.id,
37424            'name': self.name,
37425            'password': self.password,
37426            'port': self.port,
37427            'port_override': self.port_override,
37428            'proxy_cluster_id': self.proxy_cluster_id,
37429            'secret_store_id': self.secret_store_id,
37430            'subdomain': self.subdomain,
37431            'tags': self.tags,
37432            'username': self.username,
37433        }
37434
37435    @classmethod
37436    def from_dict(cls, d):
37437        return cls(
37438            bind_interface=d.get('bind_interface'),
37439            database=d.get('database'),
37440            egress_filter=d.get('egress_filter'),
37441            healthy=d.get('healthy'),
37442            hostname=d.get('hostname'),
37443            id=d.get('id'),
37444            name=d.get('name'),
37445            password=d.get('password'),
37446            port=d.get('port'),
37447            port_override=d.get('port_override'),
37448            proxy_cluster_id=d.get('proxy_cluster_id'),
37449            secret_store_id=d.get('secret_store_id'),
37450            subdomain=d.get('subdomain'),
37451            tags=d.get('tags'),
37452            username=d.get('username'),
37453        )
37454
37455
37456class Workflow:
37457    '''
37458         Workflows are the collection of rules that define the resources to which access can be requested,
37459     the users that can request that access, and the mechanism for approving those requests which can either
37460     but automatic approval or a set of users authorized to approve the requests.
37461    '''
37462    __slots__ = [
37463        'access_request_fixed_duration',
37464        'access_request_max_duration',
37465        'access_rules',
37466        'approval_flow_id',
37467        'auto_grant',
37468        'description',
37469        'enabled',
37470        'id',
37471        'name',
37472        'weight',
37473    ]
37474
37475    def __init__(
37476        self,
37477        access_request_fixed_duration=None,
37478        access_request_max_duration=None,
37479        access_rules=None,
37480        approval_flow_id=None,
37481        auto_grant=None,
37482        description=None,
37483        enabled=None,
37484        id=None,
37485        name=None,
37486        weight=None,
37487    ):
37488        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
37489        '''
37490         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
37491         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
37492        '''
37493        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
37494        '''
37495         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
37496         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
37497        '''
37498        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
37499        )
37500        '''
37501         AccessRules is a list of access rules defining the resources this Workflow provides access to.
37502        '''
37503        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
37504        '''
37505         Optional approval flow ID identifies an approval flow that linked to the workflow
37506        '''
37507        self.auto_grant = auto_grant if auto_grant is not None else False
37508        '''
37509         Optional auto grant setting to automatically approve requests or not, defaults to false.
37510        '''
37511        self.description = description if description is not None else ''
37512        '''
37513         Optional description of the Workflow.
37514        '''
37515        self.enabled = enabled if enabled is not None else False
37516        '''
37517         Optional enabled state for workflow. This setting may be overridden by the system if
37518         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
37519         enabling the workflow. The requirements to enable a workflow are that the workflow must be
37520         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
37521         the workflow.
37522        '''
37523        self.id = id if id is not None else ''
37524        '''
37525         Unique identifier of the Workflow.
37526        '''
37527        self.name = name if name is not None else ''
37528        '''
37529         Unique human-readable name of the Workflow.
37530        '''
37531        self.weight = weight if weight is not None else 0
37532        '''
37533         Optional weight for workflow to specify it's priority in matching a request.
37534        '''
37535
37536    def __repr__(self):
37537        return '<sdm.Workflow ' + \
37538            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
37539            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
37540            'access_rules: ' + repr(self.access_rules) + ' ' +\
37541            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
37542            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
37543            'description: ' + repr(self.description) + ' ' +\
37544            'enabled: ' + repr(self.enabled) + ' ' +\
37545            'id: ' + repr(self.id) + ' ' +\
37546            'name: ' + repr(self.name) + ' ' +\
37547            'weight: ' + repr(self.weight) + ' ' +\
37548            '>'
37549
37550    def to_dict(self):
37551        return {
37552            'access_request_fixed_duration':
37553            self.access_request_fixed_duration,
37554            'access_request_max_duration': self.access_request_max_duration,
37555            'access_rules': self.access_rules,
37556            'approval_flow_id': self.approval_flow_id,
37557            'auto_grant': self.auto_grant,
37558            'description': self.description,
37559            'enabled': self.enabled,
37560            'id': self.id,
37561            'name': self.name,
37562            'weight': self.weight,
37563        }
37564
37565    @classmethod
37566    def from_dict(cls, d):
37567        return cls(
37568            access_request_fixed_duration=d.get(
37569                'access_request_fixed_duration'),
37570            access_request_max_duration=d.get('access_request_max_duration'),
37571            access_rules=d.get('access_rules'),
37572            approval_flow_id=d.get('approval_flow_id'),
37573            auto_grant=d.get('auto_grant'),
37574            description=d.get('description'),
37575            enabled=d.get('enabled'),
37576            id=d.get('id'),
37577            name=d.get('name'),
37578            weight=d.get('weight'),
37579        )
37580
37581
37582class WorkflowApprover:
37583    '''
37584         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
37585    WorkflowApprover is deprecated, see docs for more info.
37586    '''
37587    __slots__ = [
37588        'account_id',
37589        'id',
37590        'role_id',
37591        'workflow_id',
37592    ]
37593
37594    def __init__(
37595        self,
37596        account_id=None,
37597        id=None,
37598        role_id=None,
37599        workflow_id=None,
37600    ):
37601        self.account_id = account_id if account_id is not None else ''
37602        '''
37603         The approver account id.
37604        '''
37605        self.id = id if id is not None else ''
37606        '''
37607         Unique identifier of the WorkflowApprover.
37608        '''
37609        self.role_id = role_id if role_id is not None else ''
37610        '''
37611         The approver role id
37612        '''
37613        self.workflow_id = workflow_id if workflow_id is not None else ''
37614        '''
37615         The workflow id.
37616        '''
37617
37618    def __repr__(self):
37619        return '<sdm.WorkflowApprover ' + \
37620            'account_id: ' + repr(self.account_id) + ' ' +\
37621            'id: ' + repr(self.id) + ' ' +\
37622            'role_id: ' + repr(self.role_id) + ' ' +\
37623            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
37624            '>'
37625
37626    def to_dict(self):
37627        return {
37628            'account_id': self.account_id,
37629            'id': self.id,
37630            'role_id': self.role_id,
37631            'workflow_id': self.workflow_id,
37632        }
37633
37634    @classmethod
37635    def from_dict(cls, d):
37636        return cls(
37637            account_id=d.get('account_id'),
37638            id=d.get('id'),
37639            role_id=d.get('role_id'),
37640            workflow_id=d.get('workflow_id'),
37641        )
37642
37643
37644class WorkflowApproverGetResponse:
37645    '''
37646         WorkflowApproverGetResponse returns a requested WorkflowApprover.
37647    '''
37648    __slots__ = [
37649        'meta',
37650        'rate_limit',
37651        'workflow_approver',
37652    ]
37653
37654    def __init__(
37655        self,
37656        meta=None,
37657        rate_limit=None,
37658        workflow_approver=None,
37659    ):
37660        self.meta = meta if meta is not None else None
37661        '''
37662         Reserved for future use.
37663        '''
37664        self.rate_limit = rate_limit if rate_limit is not None else None
37665        '''
37666         Rate limit information.
37667        '''
37668        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37669        '''
37670         The requested WorkflowApprover.
37671        '''
37672
37673    def __repr__(self):
37674        return '<sdm.WorkflowApproverGetResponse ' + \
37675            'meta: ' + repr(self.meta) + ' ' +\
37676            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37677            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37678            '>'
37679
37680    def to_dict(self):
37681        return {
37682            'meta': self.meta,
37683            'rate_limit': self.rate_limit,
37684            'workflow_approver': self.workflow_approver,
37685        }
37686
37687    @classmethod
37688    def from_dict(cls, d):
37689        return cls(
37690            meta=d.get('meta'),
37691            rate_limit=d.get('rate_limit'),
37692            workflow_approver=d.get('workflow_approver'),
37693        )
37694
37695
37696class WorkflowApproverHistory:
37697    '''
37698         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
37699    '''
37700    __slots__ = [
37701        'activity_id',
37702        'deleted_at',
37703        'timestamp',
37704        'workflow_approver',
37705    ]
37706
37707    def __init__(
37708        self,
37709        activity_id=None,
37710        deleted_at=None,
37711        timestamp=None,
37712        workflow_approver=None,
37713    ):
37714        self.activity_id = activity_id if activity_id is not None else ''
37715        '''
37716         The unique identifier of the Activity that produced this change to the WorkflowApprover.
37717         May be empty for some system-initiated updates.
37718        '''
37719        self.deleted_at = deleted_at if deleted_at is not None else None
37720        '''
37721         If this WorkflowApprover was deleted, the time it was deleted.
37722        '''
37723        self.timestamp = timestamp if timestamp is not None else None
37724        '''
37725         The time at which the WorkflowApprover state was recorded.
37726        '''
37727        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37728        '''
37729         The complete WorkflowApprover state at this time.
37730        '''
37731
37732    def __repr__(self):
37733        return '<sdm.WorkflowApproverHistory ' + \
37734            'activity_id: ' + repr(self.activity_id) + ' ' +\
37735            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
37736            'timestamp: ' + repr(self.timestamp) + ' ' +\
37737            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37738            '>'
37739
37740    def to_dict(self):
37741        return {
37742            'activity_id': self.activity_id,
37743            'deleted_at': self.deleted_at,
37744            'timestamp': self.timestamp,
37745            'workflow_approver': self.workflow_approver,
37746        }
37747
37748    @classmethod
37749    def from_dict(cls, d):
37750        return cls(
37751            activity_id=d.get('activity_id'),
37752            deleted_at=d.get('deleted_at'),
37753            timestamp=d.get('timestamp'),
37754            workflow_approver=d.get('workflow_approver'),
37755        )
37756
37757
37758class WorkflowApproversCreateRequest:
37759    '''
37760         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
37761     workflow approver to be created.
37762    '''
37763    __slots__ = [
37764        'workflow_approver',
37765    ]
37766
37767    def __init__(
37768        self,
37769        workflow_approver=None,
37770    ):
37771        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37772        '''
37773         Parameters to define the new WorkflowApprover.
37774        '''
37775
37776    def __repr__(self):
37777        return '<sdm.WorkflowApproversCreateRequest ' + \
37778            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37779            '>'
37780
37781    def to_dict(self):
37782        return {
37783            'workflow_approver': self.workflow_approver,
37784        }
37785
37786    @classmethod
37787    def from_dict(cls, d):
37788        return cls(workflow_approver=d.get('workflow_approver'), )
37789
37790
37791class WorkflowApproversCreateResponse:
37792    '''
37793         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
37794    '''
37795    __slots__ = [
37796        'rate_limit',
37797        'workflow_approver',
37798    ]
37799
37800    def __init__(
37801        self,
37802        rate_limit=None,
37803        workflow_approver=None,
37804    ):
37805        self.rate_limit = rate_limit if rate_limit is not None else None
37806        '''
37807         Rate limit information.
37808        '''
37809        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37810        '''
37811         The created workflow approver.
37812        '''
37813
37814    def __repr__(self):
37815        return '<sdm.WorkflowApproversCreateResponse ' + \
37816            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37817            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37818            '>'
37819
37820    def to_dict(self):
37821        return {
37822            'rate_limit': self.rate_limit,
37823            'workflow_approver': self.workflow_approver,
37824        }
37825
37826    @classmethod
37827    def from_dict(cls, d):
37828        return cls(
37829            rate_limit=d.get('rate_limit'),
37830            workflow_approver=d.get('workflow_approver'),
37831        )
37832
37833
37834class WorkflowApproversDeleteRequest:
37835    '''
37836         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
37837    '''
37838    __slots__ = [
37839        'id',
37840    ]
37841
37842    def __init__(
37843        self,
37844        id=None,
37845    ):
37846        self.id = id if id is not None else ''
37847        '''
37848         The unique identifier of the WorkflowApprover to delete.
37849        '''
37850
37851    def __repr__(self):
37852        return '<sdm.WorkflowApproversDeleteRequest ' + \
37853            'id: ' + repr(self.id) + ' ' +\
37854            '>'
37855
37856    def to_dict(self):
37857        return {
37858            'id': self.id,
37859        }
37860
37861    @classmethod
37862    def from_dict(cls, d):
37863        return cls(id=d.get('id'), )
37864
37865
37866class WorkflowApproversDeleteResponse:
37867    '''
37868         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
37869    '''
37870    __slots__ = [
37871        'rate_limit',
37872    ]
37873
37874    def __init__(
37875        self,
37876        rate_limit=None,
37877    ):
37878        self.rate_limit = rate_limit if rate_limit is not None else None
37879        '''
37880         Rate limit information.
37881        '''
37882
37883    def __repr__(self):
37884        return '<sdm.WorkflowApproversDeleteResponse ' + \
37885            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37886            '>'
37887
37888    def to_dict(self):
37889        return {
37890            'rate_limit': self.rate_limit,
37891        }
37892
37893    @classmethod
37894    def from_dict(cls, d):
37895        return cls(rate_limit=d.get('rate_limit'), )
37896
37897
37898class WorkflowApproversListRequest:
37899    '''
37900         WorkflowApproversListRequest specifies criteria for retrieving a list of
37901     WorkflowApprover records
37902    '''
37903    __slots__ = [
37904        'filter',
37905    ]
37906
37907    def __init__(
37908        self,
37909        filter=None,
37910    ):
37911        self.filter = filter if filter is not None else ''
37912        '''
37913         A human-readable filter query string.
37914        '''
37915
37916    def __repr__(self):
37917        return '<sdm.WorkflowApproversListRequest ' + \
37918            'filter: ' + repr(self.filter) + ' ' +\
37919            '>'
37920
37921    def to_dict(self):
37922        return {
37923            'filter': self.filter,
37924        }
37925
37926    @classmethod
37927    def from_dict(cls, d):
37928        return cls(filter=d.get('filter'), )
37929
37930
37931class WorkflowApproversListResponse:
37932    '''
37933         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
37934     the criteria of a WorkflowApproversListRequest.
37935    '''
37936    __slots__ = [
37937        'rate_limit',
37938    ]
37939
37940    def __init__(
37941        self,
37942        rate_limit=None,
37943    ):
37944        self.rate_limit = rate_limit if rate_limit is not None else None
37945        '''
37946         Rate limit information.
37947        '''
37948
37949    def __repr__(self):
37950        return '<sdm.WorkflowApproversListResponse ' + \
37951            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37952            '>'
37953
37954    def to_dict(self):
37955        return {
37956            'rate_limit': self.rate_limit,
37957        }
37958
37959    @classmethod
37960    def from_dict(cls, d):
37961        return cls(rate_limit=d.get('rate_limit'), )
37962
37963
37964class WorkflowCreateResponse:
37965    '''
37966         WorkflowCreateResponse reports how the Workflow was created in the system.
37967    '''
37968    __slots__ = [
37969        'rate_limit',
37970        'workflow',
37971    ]
37972
37973    def __init__(
37974        self,
37975        rate_limit=None,
37976        workflow=None,
37977    ):
37978        self.rate_limit = rate_limit if rate_limit is not None else None
37979        '''
37980         Rate limit information.
37981        '''
37982        self.workflow = workflow if workflow is not None else None
37983        '''
37984         The created workflow.
37985        '''
37986
37987    def __repr__(self):
37988        return '<sdm.WorkflowCreateResponse ' + \
37989            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37990            'workflow: ' + repr(self.workflow) + ' ' +\
37991            '>'
37992
37993    def to_dict(self):
37994        return {
37995            'rate_limit': self.rate_limit,
37996            'workflow': self.workflow,
37997        }
37998
37999    @classmethod
38000    def from_dict(cls, d):
38001        return cls(
38002            rate_limit=d.get('rate_limit'),
38003            workflow=d.get('workflow'),
38004        )
38005
38006
38007class WorkflowDeleteResponse:
38008    '''
38009         WorkflowDeleteResponse returns information about a Workflow that was deleted.
38010    '''
38011    __slots__ = [
38012        'id',
38013        'rate_limit',
38014    ]
38015
38016    def __init__(
38017        self,
38018        id=None,
38019        rate_limit=None,
38020    ):
38021        self.id = id if id is not None else ''
38022        '''
38023         The deleted workflow id.
38024        '''
38025        self.rate_limit = rate_limit if rate_limit is not None else None
38026        '''
38027         Rate limit information.
38028        '''
38029
38030    def __repr__(self):
38031        return '<sdm.WorkflowDeleteResponse ' + \
38032            'id: ' + repr(self.id) + ' ' +\
38033            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38034            '>'
38035
38036    def to_dict(self):
38037        return {
38038            'id': self.id,
38039            'rate_limit': self.rate_limit,
38040        }
38041
38042    @classmethod
38043    def from_dict(cls, d):
38044        return cls(
38045            id=d.get('id'),
38046            rate_limit=d.get('rate_limit'),
38047        )
38048
38049
38050class WorkflowGetResponse:
38051    '''
38052         WorkflowGetResponse returns a requested Workflow.
38053    '''
38054    __slots__ = [
38055        'meta',
38056        'rate_limit',
38057        'workflow',
38058    ]
38059
38060    def __init__(
38061        self,
38062        meta=None,
38063        rate_limit=None,
38064        workflow=None,
38065    ):
38066        self.meta = meta if meta is not None else None
38067        '''
38068         Reserved for future use.
38069        '''
38070        self.rate_limit = rate_limit if rate_limit is not None else None
38071        '''
38072         Rate limit information.
38073        '''
38074        self.workflow = workflow if workflow is not None else None
38075        '''
38076         The requested Workflow.
38077        '''
38078
38079    def __repr__(self):
38080        return '<sdm.WorkflowGetResponse ' + \
38081            'meta: ' + repr(self.meta) + ' ' +\
38082            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38083            'workflow: ' + repr(self.workflow) + ' ' +\
38084            '>'
38085
38086    def to_dict(self):
38087        return {
38088            'meta': self.meta,
38089            'rate_limit': self.rate_limit,
38090            'workflow': self.workflow,
38091        }
38092
38093    @classmethod
38094    def from_dict(cls, d):
38095        return cls(
38096            meta=d.get('meta'),
38097            rate_limit=d.get('rate_limit'),
38098            workflow=d.get('workflow'),
38099        )
38100
38101
38102class WorkflowHistory:
38103    '''
38104         WorkflowsHistory provides records of all changes to the state of a Workflow.
38105    '''
38106    __slots__ = [
38107        'activity_id',
38108        'deleted_at',
38109        'timestamp',
38110        'workflow',
38111    ]
38112
38113    def __init__(
38114        self,
38115        activity_id=None,
38116        deleted_at=None,
38117        timestamp=None,
38118        workflow=None,
38119    ):
38120        self.activity_id = activity_id if activity_id is not None else ''
38121        '''
38122         The unique identifier of the Activity that produced this change to the Workflow.
38123         May be empty for some system-initiated updates.
38124        '''
38125        self.deleted_at = deleted_at if deleted_at is not None else None
38126        '''
38127         If this Workflow was deleted, the time it was deleted.
38128        '''
38129        self.timestamp = timestamp if timestamp is not None else None
38130        '''
38131         The time at which the Workflow state was recorded.
38132        '''
38133        self.workflow = workflow if workflow is not None else None
38134        '''
38135         The complete Workflow state at this time.
38136        '''
38137
38138    def __repr__(self):
38139        return '<sdm.WorkflowHistory ' + \
38140            'activity_id: ' + repr(self.activity_id) + ' ' +\
38141            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
38142            'timestamp: ' + repr(self.timestamp) + ' ' +\
38143            'workflow: ' + repr(self.workflow) + ' ' +\
38144            '>'
38145
38146    def to_dict(self):
38147        return {
38148            'activity_id': self.activity_id,
38149            'deleted_at': self.deleted_at,
38150            'timestamp': self.timestamp,
38151            'workflow': self.workflow,
38152        }
38153
38154    @classmethod
38155    def from_dict(cls, d):
38156        return cls(
38157            activity_id=d.get('activity_id'),
38158            deleted_at=d.get('deleted_at'),
38159            timestamp=d.get('timestamp'),
38160            workflow=d.get('workflow'),
38161        )
38162
38163
38164class WorkflowListResponse:
38165    '''
38166         WorkflowListResponse returns a list of Workflow records that meet
38167     the criteria of a WorkflowListRequest.
38168    '''
38169    __slots__ = [
38170        'rate_limit',
38171    ]
38172
38173    def __init__(
38174        self,
38175        rate_limit=None,
38176    ):
38177        self.rate_limit = rate_limit if rate_limit is not None else None
38178        '''
38179         Rate limit information.
38180        '''
38181
38182    def __repr__(self):
38183        return '<sdm.WorkflowListResponse ' + \
38184            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38185            '>'
38186
38187    def to_dict(self):
38188        return {
38189            'rate_limit': self.rate_limit,
38190        }
38191
38192    @classmethod
38193    def from_dict(cls, d):
38194        return cls(rate_limit=d.get('rate_limit'), )
38195
38196
38197class WorkflowRole:
38198    '''
38199         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
38200     to request access to a resource via the workflow.
38201    '''
38202    __slots__ = [
38203        'id',
38204        'role_id',
38205        'workflow_id',
38206    ]
38207
38208    def __init__(
38209        self,
38210        id=None,
38211        role_id=None,
38212        workflow_id=None,
38213    ):
38214        self.id = id if id is not None else ''
38215        '''
38216         Unique identifier of the WorkflowRole.
38217        '''
38218        self.role_id = role_id if role_id is not None else ''
38219        '''
38220         The role id.
38221        '''
38222        self.workflow_id = workflow_id if workflow_id is not None else ''
38223        '''
38224         The workflow id.
38225        '''
38226
38227    def __repr__(self):
38228        return '<sdm.WorkflowRole ' + \
38229            'id: ' + repr(self.id) + ' ' +\
38230            'role_id: ' + repr(self.role_id) + ' ' +\
38231            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
38232            '>'
38233
38234    def to_dict(self):
38235        return {
38236            'id': self.id,
38237            'role_id': self.role_id,
38238            'workflow_id': self.workflow_id,
38239        }
38240
38241    @classmethod
38242    def from_dict(cls, d):
38243        return cls(
38244            id=d.get('id'),
38245            role_id=d.get('role_id'),
38246            workflow_id=d.get('workflow_id'),
38247        )
38248
38249
38250class WorkflowRoleGetResponse:
38251    '''
38252         WorkflowRoleGetResponse returns a requested WorkflowRole.
38253    '''
38254    __slots__ = [
38255        'meta',
38256        'rate_limit',
38257        'workflow_role',
38258    ]
38259
38260    def __init__(
38261        self,
38262        meta=None,
38263        rate_limit=None,
38264        workflow_role=None,
38265    ):
38266        self.meta = meta if meta is not None else None
38267        '''
38268         Reserved for future use.
38269        '''
38270        self.rate_limit = rate_limit if rate_limit is not None else None
38271        '''
38272         Rate limit information.
38273        '''
38274        self.workflow_role = workflow_role if workflow_role is not None else None
38275        '''
38276         The requested WorkflowRole.
38277        '''
38278
38279    def __repr__(self):
38280        return '<sdm.WorkflowRoleGetResponse ' + \
38281            'meta: ' + repr(self.meta) + ' ' +\
38282            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38283            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38284            '>'
38285
38286    def to_dict(self):
38287        return {
38288            'meta': self.meta,
38289            'rate_limit': self.rate_limit,
38290            'workflow_role': self.workflow_role,
38291        }
38292
38293    @classmethod
38294    def from_dict(cls, d):
38295        return cls(
38296            meta=d.get('meta'),
38297            rate_limit=d.get('rate_limit'),
38298            workflow_role=d.get('workflow_role'),
38299        )
38300
38301
38302class WorkflowRoleHistory:
38303    '''
38304         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
38305    '''
38306    __slots__ = [
38307        'activity_id',
38308        'deleted_at',
38309        'timestamp',
38310        'workflow_role',
38311    ]
38312
38313    def __init__(
38314        self,
38315        activity_id=None,
38316        deleted_at=None,
38317        timestamp=None,
38318        workflow_role=None,
38319    ):
38320        self.activity_id = activity_id if activity_id is not None else ''
38321        '''
38322         The unique identifier of the Activity that produced this change to the WorkflowRole.
38323         May be empty for some system-initiated updates.
38324        '''
38325        self.deleted_at = deleted_at if deleted_at is not None else None
38326        '''
38327         If this WorkflowRole was deleted, the time it was deleted.
38328        '''
38329        self.timestamp = timestamp if timestamp is not None else None
38330        '''
38331         The time at which the WorkflowRole state was recorded.
38332        '''
38333        self.workflow_role = workflow_role if workflow_role is not None else None
38334        '''
38335         The complete WorkflowRole state at this time.
38336        '''
38337
38338    def __repr__(self):
38339        return '<sdm.WorkflowRoleHistory ' + \
38340            'activity_id: ' + repr(self.activity_id) + ' ' +\
38341            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
38342            'timestamp: ' + repr(self.timestamp) + ' ' +\
38343            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38344            '>'
38345
38346    def to_dict(self):
38347        return {
38348            'activity_id': self.activity_id,
38349            'deleted_at': self.deleted_at,
38350            'timestamp': self.timestamp,
38351            'workflow_role': self.workflow_role,
38352        }
38353
38354    @classmethod
38355    def from_dict(cls, d):
38356        return cls(
38357            activity_id=d.get('activity_id'),
38358            deleted_at=d.get('deleted_at'),
38359            timestamp=d.get('timestamp'),
38360            workflow_role=d.get('workflow_role'),
38361        )
38362
38363
38364class WorkflowRolesCreateRequest:
38365    '''
38366         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
38367     workflow role to be created.
38368    '''
38369    __slots__ = [
38370        'workflow_role',
38371    ]
38372
38373    def __init__(
38374        self,
38375        workflow_role=None,
38376    ):
38377        self.workflow_role = workflow_role if workflow_role is not None else None
38378        '''
38379         Parameters to define the new WorkflowRole.
38380        '''
38381
38382    def __repr__(self):
38383        return '<sdm.WorkflowRolesCreateRequest ' + \
38384            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38385            '>'
38386
38387    def to_dict(self):
38388        return {
38389            'workflow_role': self.workflow_role,
38390        }
38391
38392    @classmethod
38393    def from_dict(cls, d):
38394        return cls(workflow_role=d.get('workflow_role'), )
38395
38396
38397class WorkflowRolesCreateResponse:
38398    '''
38399         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
38400    '''
38401    __slots__ = [
38402        'rate_limit',
38403        'workflow_role',
38404    ]
38405
38406    def __init__(
38407        self,
38408        rate_limit=None,
38409        workflow_role=None,
38410    ):
38411        self.rate_limit = rate_limit if rate_limit is not None else None
38412        '''
38413         Rate limit information.
38414        '''
38415        self.workflow_role = workflow_role if workflow_role is not None else None
38416        '''
38417         The created workflow role.
38418        '''
38419
38420    def __repr__(self):
38421        return '<sdm.WorkflowRolesCreateResponse ' + \
38422            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38423            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38424            '>'
38425
38426    def to_dict(self):
38427        return {
38428            'rate_limit': self.rate_limit,
38429            'workflow_role': self.workflow_role,
38430        }
38431
38432    @classmethod
38433    def from_dict(cls, d):
38434        return cls(
38435            rate_limit=d.get('rate_limit'),
38436            workflow_role=d.get('workflow_role'),
38437        )
38438
38439
38440class WorkflowRolesDeleteRequest:
38441    '''
38442         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
38443    '''
38444    __slots__ = [
38445        'id',
38446    ]
38447
38448    def __init__(
38449        self,
38450        id=None,
38451    ):
38452        self.id = id if id is not None else ''
38453        '''
38454         The unique identifier of the WorkflowRole to delete.
38455        '''
38456
38457    def __repr__(self):
38458        return '<sdm.WorkflowRolesDeleteRequest ' + \
38459            'id: ' + repr(self.id) + ' ' +\
38460            '>'
38461
38462    def to_dict(self):
38463        return {
38464            'id': self.id,
38465        }
38466
38467    @classmethod
38468    def from_dict(cls, d):
38469        return cls(id=d.get('id'), )
38470
38471
38472class WorkflowRolesDeleteResponse:
38473    '''
38474         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
38475    '''
38476    __slots__ = [
38477        'rate_limit',
38478    ]
38479
38480    def __init__(
38481        self,
38482        rate_limit=None,
38483    ):
38484        self.rate_limit = rate_limit if rate_limit is not None else None
38485        '''
38486         Rate limit information.
38487        '''
38488
38489    def __repr__(self):
38490        return '<sdm.WorkflowRolesDeleteResponse ' + \
38491            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38492            '>'
38493
38494    def to_dict(self):
38495        return {
38496            'rate_limit': self.rate_limit,
38497        }
38498
38499    @classmethod
38500    def from_dict(cls, d):
38501        return cls(rate_limit=d.get('rate_limit'), )
38502
38503
38504class WorkflowRolesListRequest:
38505    '''
38506         WorkflowRolesListRequest specifies criteria for retrieving a list of
38507     WorkflowRole records
38508    '''
38509    __slots__ = [
38510        'filter',
38511    ]
38512
38513    def __init__(
38514        self,
38515        filter=None,
38516    ):
38517        self.filter = filter if filter is not None else ''
38518        '''
38519         A human-readable filter query string.
38520        '''
38521
38522    def __repr__(self):
38523        return '<sdm.WorkflowRolesListRequest ' + \
38524            'filter: ' + repr(self.filter) + ' ' +\
38525            '>'
38526
38527    def to_dict(self):
38528        return {
38529            'filter': self.filter,
38530        }
38531
38532    @classmethod
38533    def from_dict(cls, d):
38534        return cls(filter=d.get('filter'), )
38535
38536
38537class WorkflowRolesListResponse:
38538    '''
38539         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
38540     the criteria of a WorkflowRolesListRequest.
38541    '''
38542    __slots__ = [
38543        'rate_limit',
38544    ]
38545
38546    def __init__(
38547        self,
38548        rate_limit=None,
38549    ):
38550        self.rate_limit = rate_limit if rate_limit is not None else None
38551        '''
38552         Rate limit information.
38553        '''
38554
38555    def __repr__(self):
38556        return '<sdm.WorkflowRolesListResponse ' + \
38557            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38558            '>'
38559
38560    def to_dict(self):
38561        return {
38562            'rate_limit': self.rate_limit,
38563        }
38564
38565    @classmethod
38566    def from_dict(cls, d):
38567        return cls(rate_limit=d.get('rate_limit'), )
38568
38569
38570class WorkflowUpdateResponse:
38571    '''
38572         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
38573     a WorkflowUpdateRequest.
38574    '''
38575    __slots__ = [
38576        'rate_limit',
38577        'workflow',
38578    ]
38579
38580    def __init__(
38581        self,
38582        rate_limit=None,
38583        workflow=None,
38584    ):
38585        self.rate_limit = rate_limit if rate_limit is not None else None
38586        '''
38587         Rate limit information.
38588        '''
38589        self.workflow = workflow if workflow is not None else None
38590        '''
38591         The updated workflow.
38592        '''
38593
38594    def __repr__(self):
38595        return '<sdm.WorkflowUpdateResponse ' + \
38596            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38597            'workflow: ' + repr(self.workflow) + ' ' +\
38598            '>'
38599
38600    def to_dict(self):
38601        return {
38602            'rate_limit': self.rate_limit,
38603            'workflow': self.workflow,
38604        }
38605
38606    @classmethod
38607    def from_dict(cls, d):
38608        return cls(
38609            rate_limit=d.get('rate_limit'),
38610            workflow=d.get('workflow'),
38611        )
38612
38613
38614def _porcelain_zero_value_tags():
38615    return {}
38616
38617
38618def _porcelain_zero_value_access_rules():
38619    return []
38620
38621
38622def _porcelain_zero_value_access_rule():
38623    return {}
38624
38625
38626def _porcelain_zero_value_log_category_config_map():
38627    return {}
class ResourceType(builtins.str, enum.Enum):
 23class ResourceType(str, Enum):
 24    UNSPECIFIED = "RESOURCE_TYPE_UNSPECIFIED"
 25    AKS = "RESOURCE_TYPE_AKS"
 26    AKS_BASIC_AUTH = "RESOURCE_TYPE_AKS_BASIC_AUTH"
 27    AKS_SERVICE_ACCOUNT = "RESOURCE_TYPE_AKS_SERVICE_ACCOUNT"
 28    AKS_SERVICE_ACCOUNT_USER_IMPERSONATION = "RESOURCE_TYPE_AKS_SERVICE_ACCOUNT_USER_IMPERSONATION"
 29    AKS_USER_IMPERSONATION = "RESOURCE_TYPE_AKS_USER_IMPERSONATION"
 30    AMAZON_MQAMQP = "RESOURCE_TYPE_AMAZON_MQAMQP"
 31    AWS = "RESOURCE_TYPE_AWS"
 32    AWS_CONSOLE = "RESOURCE_TYPE_AWS_CONSOLE"
 33    AWS_CONSOLE_STATIC_KEY_PAIR = "RESOURCE_TYPE_AWS_CONSOLE_STATIC_KEY_PAIR"
 34    AWS_INSTANCE_PROFILE = "RESOURCE_TYPE_AWS_INSTANCE_PROFILE"
 35    AEROSPIKE = "RESOURCE_TYPE_AEROSPIKE"
 36    AMAZON_EKS = "RESOURCE_TYPE_AMAZON_EKS"
 37    AMAZON_EKS_INSTANCE_PROFILE = "RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE"
 38    AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION = "RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION"
 39    AMAZON_EKS_USER_IMPERSONATION = "RESOURCE_TYPE_AMAZON_EKS_USER_IMPERSONATION"
 40    AMAZON_ES = "RESOURCE_TYPE_AMAZON_ES"
 41    AMAZON_ESIAM = "RESOURCE_TYPE_AMAZON_ESIAM"
 42    AMAZON_MQAMQP_091 = "RESOURCE_TYPE_AMAZON_MQAMQP_091"
 43    ATHENA = "RESOURCE_TYPE_ATHENA"
 44    ATHENA_IAM = "RESOURCE_TYPE_ATHENA_IAM"
 45    AURORA_MY_SQL = "RESOURCE_TYPE_AURORA_MY_SQL"
 46    AURORA_MY_SQLIAM = "RESOURCE_TYPE_AURORA_MY_SQLIAM"
 47    AURORA_POSTGRES = "RESOURCE_TYPE_AURORA_POSTGRES"
 48    AURORA_POSTGRES_IAM = "RESOURCE_TYPE_AURORA_POSTGRES_IAM"
 49    AZURE = "RESOURCE_TYPE_AZURE"
 50    AZURE_CERT = "RESOURCE_TYPE_AZURE_CERT"
 51    AZURE_MY_SQL = "RESOURCE_TYPE_AZURE_MY_SQL"
 52    AZURE_MY_SQL_MANAGED_IDENTITY = "RESOURCE_TYPE_AZURE_MY_SQL_MANAGED_IDENTITY"
 53    AZURE_POSTGRES = "RESOURCE_TYPE_AZURE_POSTGRES"
 54    AZURE_POSTGRES_MANAGED_IDENTITY = "RESOURCE_TYPE_AZURE_POSTGRES_MANAGED_IDENTITY"
 55    BIGQUERY = "RESOURCE_TYPE_BIGQUERY"
 56    CASSANDRA = "RESOURCE_TYPE_CASSANDRA"
 57    CITUS = "RESOURCE_TYPE_CITUS"
 58    CLICK_HOUSE_HTTP = "RESOURCE_TYPE_CLICK_HOUSE_HTTP"
 59    CLICK_HOUSE_MY_SQL = "RESOURCE_TYPE_CLICK_HOUSE_MY_SQL"
 60    CLICK_HOUSE_TCP = "RESOURCE_TYPE_CLICK_HOUSE_TCP"
 61    CLUSTRIX = "RESOURCE_TYPE_CLUSTRIX"
 62    COCKROACH = "RESOURCE_TYPE_COCKROACH"
 63    COUCHBASE_DATABASE = "RESOURCE_TYPE_COUCHBASE_DATABASE"
 64    COUCHBASE_WEB_UI = "RESOURCE_TYPE_COUCHBASE_WEB_UI"
 65    DB_2_I = "RESOURCE_TYPE_DB_2_I"
 66    DB_2_LUW = "RESOURCE_TYPE_DB_2_LUW"
 67    DATABRICKS = "RESOURCE_TYPE_DATABRICKS"
 68    DOCUMENT_DB_HOST = "RESOURCE_TYPE_DOCUMENT_DB_HOST"
 69    DOCUMENT_DB_HOST_IAM = "RESOURCE_TYPE_DOCUMENT_DB_HOST_IAM"
 70    DOCUMENT_DB_REPLICA_SET = "RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET"
 71    DOCUMENT_DB_REPLICA_SET_IAM = "RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET_IAM"
 72    DRUID = "RESOURCE_TYPE_DRUID"
 73    DYNAMO_DB = "RESOURCE_TYPE_DYNAMO_DB"
 74    DYNAMO_DBIAM = "RESOURCE_TYPE_DYNAMO_DBIAM"
 75    ELASTIC = "RESOURCE_TYPE_ELASTIC"
 76    ELASTI_CACHE_REDIS = "RESOURCE_TYPE_ELASTI_CACHE_REDIS"
 77    ELASTI_CACHE_REDIS_IAM = "RESOURCE_TYPE_ELASTI_CACHE_REDIS_IAM"
 78    ENTRA_ID = "RESOURCE_TYPE_ENTRA_ID"
 79    GCP = "RESOURCE_TYPE_GCP"
 80    GCP_CONSOLE = "RESOURCE_TYPE_GCP_CONSOLE"
 81    GCPWIF = "RESOURCE_TYPE_GCPWIF"
 82    GIT_HUB = "RESOURCE_TYPE_GIT_HUB"
 83    GOOGLE_ADMIN = "RESOURCE_TYPE_GOOGLE_ADMIN"
 84    GOOGLE_GKE = "RESOURCE_TYPE_GOOGLE_GKE"
 85    GOOGLE_GKE_USER_IMPERSONATION = "RESOURCE_TYPE_GOOGLE_GKE_USER_IMPERSONATION"
 86    GOOGLE_SPANNER = "RESOURCE_TYPE_GOOGLE_SPANNER"
 87    GREENPLUM = "RESOURCE_TYPE_GREENPLUM"
 88    HTTP_AUTH = "RESOURCE_TYPE_HTTP_AUTH"
 89    HTTP_BASIC = "RESOURCE_TYPE_HTTP_BASIC"
 90    HTTP_NO_AUTH = "RESOURCE_TYPE_HTTP_NO_AUTH"
 91    KUBERNETES = "RESOURCE_TYPE_KUBERNETES"
 92    KUBERNETES_BASIC_AUTH = "RESOURCE_TYPE_KUBERNETES_BASIC_AUTH"
 93    KUBERNETES_POD_IDENTITY = "RESOURCE_TYPE_KUBERNETES_POD_IDENTITY"
 94    KUBERNETES_SERVICE_ACCOUNT = "RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT"
 95    KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION = "RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION"
 96    KUBERNETES_USER_IMPERSONATION = "RESOURCE_TYPE_KUBERNETES_USER_IMPERSONATION"
 97    LLM = "RESOURCE_TYPE_LLM"
 98    MCP_NO_AUTH = "RESOURCE_TYPE_MCP_NO_AUTH"
 99    MCP = "RESOURCE_TYPE_MCP"
100    MCPDCR = "RESOURCE_TYPE_MCPDCR"
101    MCPPAT = "RESOURCE_TYPE_MCPPAT"
102    MTLS_MY_SQL = "RESOURCE_TYPE_MTLS_MY_SQL"
103    MTLS_POSTGRES = "RESOURCE_TYPE_MTLS_POSTGRES"
104    MARIA = "RESOURCE_TYPE_MARIA"
105    MEMCACHED = "RESOURCE_TYPE_MEMCACHED"
106    MEM_SQL = "RESOURCE_TYPE_MEM_SQL"
107    MICROSOFT_365 = "RESOURCE_TYPE_MICROSOFT_365"
108    MONGO_DB_HOST = "RESOURCE_TYPE_MONGO_DB_HOST"
109    MONGO_DB = "RESOURCE_TYPE_MONGO_DB"
110    MONGO_DB_LEGACY_REPLICA_SET = "RESOURCE_TYPE_MONGO_DB_LEGACY_REPLICA_SET"
111    MONGO_DB_REPLICA_SET = "RESOURCE_TYPE_MONGO_DB_REPLICA_SET"
112    MONGO_DB_SHARDED_CLUSTER = "RESOURCE_TYPE_MONGO_DB_SHARDED_CLUSTER"
113    MY_SQL = "RESOURCE_TYPE_MY_SQL"
114    NEPTUNE = "RESOURCE_TYPE_NEPTUNE"
115    NEPTUNE_IAM = "RESOURCE_TYPE_NEPTUNE_IAM"
116    OKTA_ADMIN = "RESOURCE_TYPE_OKTA_ADMIN"
117    OKTA_GROUPS = "RESOURCE_TYPE_OKTA_GROUPS"
118    ORACLE = "RESOURCE_TYPE_ORACLE"
119    ORACLE_NNE = "RESOURCE_TYPE_ORACLE_NNE"
120    POSTGRES = "RESOURCE_TYPE_POSTGRES"
121    PRESTO = "RESOURCE_TYPE_PRESTO"
122    RDP = "RESOURCE_TYPE_RDP"
123    RDP_CERT = "RESOURCE_TYPE_RDP_CERT"
124    RDS_POSTGRES_IAM = "RESOURCE_TYPE_RDS_POSTGRES_IAM"
125    RABBIT_MQAMQP_091 = "RESOURCE_TYPE_RABBIT_MQAMQP_091"
126    TCP = "RESOURCE_TYPE_TCP"
127    REDIS = "RESOURCE_TYPE_REDIS"
128    REDIS_CLUSTER = "RESOURCE_TYPE_REDIS_CLUSTER"
129    REDSHIFT = "RESOURCE_TYPE_REDSHIFT"
130    REDSHIFT_IAM = "RESOURCE_TYPE_REDSHIFT_IAM"
131    REDSHIFT_SERVERLESS_IAM = "RESOURCE_TYPE_REDSHIFT_SERVERLESS_IAM"
132    SQL_SERVER = "RESOURCE_TYPE_SQL_SERVER"
133    SQL_SERVER_AZURE_AD = "RESOURCE_TYPE_SQL_SERVER_AZURE_AD"
134    SQL_SERVER_KERBEROS = "RESOURCE_TYPE_SQL_SERVER_KERBEROS"
135    SSH = "RESOURCE_TYPE_SSH"
136    SSH_CERT = "RESOURCE_TYPE_SSH_CERT"
137    SSH_CERT_USER_PROVISION = "RESOURCE_TYPE_SSH_CERT_USER_PROVISION"
138    SSH_CUSTOMER_KEY = "RESOURCE_TYPE_SSH_CUSTOMER_KEY"
139    SSH_PASSWORD = "RESOURCE_TYPE_SSH_PASSWORD"
140    SALESFORCE = "RESOURCE_TYPE_SALESFORCE"
141    SINGLE_STORE = "RESOURCE_TYPE_SINGLE_STORE"
142    SNOWFLAKE = "RESOURCE_TYPE_SNOWFLAKE"
143    SNOWSIGHT = "RESOURCE_TYPE_SNOWSIGHT"
144    SYBASE_ASE = "RESOURCE_TYPE_SYBASE_ASE"
145    SYBASE_IQ = "RESOURCE_TYPE_SYBASE_IQ"
146    TERADATA = "RESOURCE_TYPE_TERADATA"
147    TRINO = "RESOURCE_TYPE_TRINO"
148    VERTICA = "RESOURCE_TYPE_VERTICA"

An enumeration.

UNSPECIFIED = <ResourceType.UNSPECIFIED: 'RESOURCE_TYPE_UNSPECIFIED'>
AKS = <ResourceType.AKS: 'RESOURCE_TYPE_AKS'>
AKS_BASIC_AUTH = <ResourceType.AKS_BASIC_AUTH: 'RESOURCE_TYPE_AKS_BASIC_AUTH'>
AKS_SERVICE_ACCOUNT = <ResourceType.AKS_SERVICE_ACCOUNT: 'RESOURCE_TYPE_AKS_SERVICE_ACCOUNT'>
AKS_SERVICE_ACCOUNT_USER_IMPERSONATION = <ResourceType.AKS_SERVICE_ACCOUNT_USER_IMPERSONATION: 'RESOURCE_TYPE_AKS_SERVICE_ACCOUNT_USER_IMPERSONATION'>
AKS_USER_IMPERSONATION = <ResourceType.AKS_USER_IMPERSONATION: 'RESOURCE_TYPE_AKS_USER_IMPERSONATION'>
AMAZON_MQAMQP = <ResourceType.AMAZON_MQAMQP: 'RESOURCE_TYPE_AMAZON_MQAMQP'>
AWS = <ResourceType.AWS: 'RESOURCE_TYPE_AWS'>
AWS_CONSOLE = <ResourceType.AWS_CONSOLE: 'RESOURCE_TYPE_AWS_CONSOLE'>
AWS_CONSOLE_STATIC_KEY_PAIR = <ResourceType.AWS_CONSOLE_STATIC_KEY_PAIR: 'RESOURCE_TYPE_AWS_CONSOLE_STATIC_KEY_PAIR'>
AWS_INSTANCE_PROFILE = <ResourceType.AWS_INSTANCE_PROFILE: 'RESOURCE_TYPE_AWS_INSTANCE_PROFILE'>
AEROSPIKE = <ResourceType.AEROSPIKE: 'RESOURCE_TYPE_AEROSPIKE'>
AMAZON_EKS = <ResourceType.AMAZON_EKS: 'RESOURCE_TYPE_AMAZON_EKS'>
AMAZON_EKS_INSTANCE_PROFILE = <ResourceType.AMAZON_EKS_INSTANCE_PROFILE: 'RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE'>
AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION = <ResourceType.AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION: 'RESOURCE_TYPE_AMAZON_EKS_INSTANCE_PROFILE_USER_IMPERSONATION'>
AMAZON_EKS_USER_IMPERSONATION = <ResourceType.AMAZON_EKS_USER_IMPERSONATION: 'RESOURCE_TYPE_AMAZON_EKS_USER_IMPERSONATION'>
AMAZON_ES = <ResourceType.AMAZON_ES: 'RESOURCE_TYPE_AMAZON_ES'>
AMAZON_ESIAM = <ResourceType.AMAZON_ESIAM: 'RESOURCE_TYPE_AMAZON_ESIAM'>
AMAZON_MQAMQP_091 = <ResourceType.AMAZON_MQAMQP_091: 'RESOURCE_TYPE_AMAZON_MQAMQP_091'>
ATHENA = <ResourceType.ATHENA: 'RESOURCE_TYPE_ATHENA'>
ATHENA_IAM = <ResourceType.ATHENA_IAM: 'RESOURCE_TYPE_ATHENA_IAM'>
AURORA_MY_SQL = <ResourceType.AURORA_MY_SQL: 'RESOURCE_TYPE_AURORA_MY_SQL'>
AURORA_MY_SQLIAM = <ResourceType.AURORA_MY_SQLIAM: 'RESOURCE_TYPE_AURORA_MY_SQLIAM'>
AURORA_POSTGRES = <ResourceType.AURORA_POSTGRES: 'RESOURCE_TYPE_AURORA_POSTGRES'>
AURORA_POSTGRES_IAM = <ResourceType.AURORA_POSTGRES_IAM: 'RESOURCE_TYPE_AURORA_POSTGRES_IAM'>
AZURE = <ResourceType.AZURE: 'RESOURCE_TYPE_AZURE'>
AZURE_CERT = <ResourceType.AZURE_CERT: 'RESOURCE_TYPE_AZURE_CERT'>
AZURE_MY_SQL = <ResourceType.AZURE_MY_SQL: 'RESOURCE_TYPE_AZURE_MY_SQL'>
AZURE_MY_SQL_MANAGED_IDENTITY = <ResourceType.AZURE_MY_SQL_MANAGED_IDENTITY: 'RESOURCE_TYPE_AZURE_MY_SQL_MANAGED_IDENTITY'>
AZURE_POSTGRES = <ResourceType.AZURE_POSTGRES: 'RESOURCE_TYPE_AZURE_POSTGRES'>
AZURE_POSTGRES_MANAGED_IDENTITY = <ResourceType.AZURE_POSTGRES_MANAGED_IDENTITY: 'RESOURCE_TYPE_AZURE_POSTGRES_MANAGED_IDENTITY'>
BIGQUERY = <ResourceType.BIGQUERY: 'RESOURCE_TYPE_BIGQUERY'>
CASSANDRA = <ResourceType.CASSANDRA: 'RESOURCE_TYPE_CASSANDRA'>
CITUS = <ResourceType.CITUS: 'RESOURCE_TYPE_CITUS'>
CLICK_HOUSE_HTTP = <ResourceType.CLICK_HOUSE_HTTP: 'RESOURCE_TYPE_CLICK_HOUSE_HTTP'>
CLICK_HOUSE_MY_SQL = <ResourceType.CLICK_HOUSE_MY_SQL: 'RESOURCE_TYPE_CLICK_HOUSE_MY_SQL'>
CLICK_HOUSE_TCP = <ResourceType.CLICK_HOUSE_TCP: 'RESOURCE_TYPE_CLICK_HOUSE_TCP'>
CLUSTRIX = <ResourceType.CLUSTRIX: 'RESOURCE_TYPE_CLUSTRIX'>
COCKROACH = <ResourceType.COCKROACH: 'RESOURCE_TYPE_COCKROACH'>
COUCHBASE_DATABASE = <ResourceType.COUCHBASE_DATABASE: 'RESOURCE_TYPE_COUCHBASE_DATABASE'>
COUCHBASE_WEB_UI = <ResourceType.COUCHBASE_WEB_UI: 'RESOURCE_TYPE_COUCHBASE_WEB_UI'>
DB_2_I = <ResourceType.DB_2_I: 'RESOURCE_TYPE_DB_2_I'>
DB_2_LUW = <ResourceType.DB_2_LUW: 'RESOURCE_TYPE_DB_2_LUW'>
DATABRICKS = <ResourceType.DATABRICKS: 'RESOURCE_TYPE_DATABRICKS'>
DOCUMENT_DB_HOST = <ResourceType.DOCUMENT_DB_HOST: 'RESOURCE_TYPE_DOCUMENT_DB_HOST'>
DOCUMENT_DB_HOST_IAM = <ResourceType.DOCUMENT_DB_HOST_IAM: 'RESOURCE_TYPE_DOCUMENT_DB_HOST_IAM'>
DOCUMENT_DB_REPLICA_SET = <ResourceType.DOCUMENT_DB_REPLICA_SET: 'RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET'>
DOCUMENT_DB_REPLICA_SET_IAM = <ResourceType.DOCUMENT_DB_REPLICA_SET_IAM: 'RESOURCE_TYPE_DOCUMENT_DB_REPLICA_SET_IAM'>
DRUID = <ResourceType.DRUID: 'RESOURCE_TYPE_DRUID'>
DYNAMO_DB = <ResourceType.DYNAMO_DB: 'RESOURCE_TYPE_DYNAMO_DB'>
DYNAMO_DBIAM = <ResourceType.DYNAMO_DBIAM: 'RESOURCE_TYPE_DYNAMO_DBIAM'>
ELASTIC = <ResourceType.ELASTIC: 'RESOURCE_TYPE_ELASTIC'>
ELASTI_CACHE_REDIS = <ResourceType.ELASTI_CACHE_REDIS: 'RESOURCE_TYPE_ELASTI_CACHE_REDIS'>
ELASTI_CACHE_REDIS_IAM = <ResourceType.ELASTI_CACHE_REDIS_IAM: 'RESOURCE_TYPE_ELASTI_CACHE_REDIS_IAM'>
ENTRA_ID = <ResourceType.ENTRA_ID: 'RESOURCE_TYPE_ENTRA_ID'>
GCP = <ResourceType.GCP: 'RESOURCE_TYPE_GCP'>
GCP_CONSOLE = <ResourceType.GCP_CONSOLE: 'RESOURCE_TYPE_GCP_CONSOLE'>
GCPWIF = <ResourceType.GCPWIF: 'RESOURCE_TYPE_GCPWIF'>
GIT_HUB = <ResourceType.GIT_HUB: 'RESOURCE_TYPE_GIT_HUB'>
GOOGLE_ADMIN = <ResourceType.GOOGLE_ADMIN: 'RESOURCE_TYPE_GOOGLE_ADMIN'>
GOOGLE_GKE = <ResourceType.GOOGLE_GKE: 'RESOURCE_TYPE_GOOGLE_GKE'>
GOOGLE_GKE_USER_IMPERSONATION = <ResourceType.GOOGLE_GKE_USER_IMPERSONATION: 'RESOURCE_TYPE_GOOGLE_GKE_USER_IMPERSONATION'>
GOOGLE_SPANNER = <ResourceType.GOOGLE_SPANNER: 'RESOURCE_TYPE_GOOGLE_SPANNER'>
GREENPLUM = <ResourceType.GREENPLUM: 'RESOURCE_TYPE_GREENPLUM'>
HTTP_AUTH = <ResourceType.HTTP_AUTH: 'RESOURCE_TYPE_HTTP_AUTH'>
HTTP_BASIC = <ResourceType.HTTP_BASIC: 'RESOURCE_TYPE_HTTP_BASIC'>
HTTP_NO_AUTH = <ResourceType.HTTP_NO_AUTH: 'RESOURCE_TYPE_HTTP_NO_AUTH'>
KUBERNETES = <ResourceType.KUBERNETES: 'RESOURCE_TYPE_KUBERNETES'>
KUBERNETES_BASIC_AUTH = <ResourceType.KUBERNETES_BASIC_AUTH: 'RESOURCE_TYPE_KUBERNETES_BASIC_AUTH'>
KUBERNETES_POD_IDENTITY = <ResourceType.KUBERNETES_POD_IDENTITY: 'RESOURCE_TYPE_KUBERNETES_POD_IDENTITY'>
KUBERNETES_SERVICE_ACCOUNT = <ResourceType.KUBERNETES_SERVICE_ACCOUNT: 'RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT'>
KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION = <ResourceType.KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION: 'RESOURCE_TYPE_KUBERNETES_SERVICE_ACCOUNT_USER_IMPERSONATION'>
KUBERNETES_USER_IMPERSONATION = <ResourceType.KUBERNETES_USER_IMPERSONATION: 'RESOURCE_TYPE_KUBERNETES_USER_IMPERSONATION'>
LLM = <ResourceType.LLM: 'RESOURCE_TYPE_LLM'>
MCP_NO_AUTH = <ResourceType.MCP_NO_AUTH: 'RESOURCE_TYPE_MCP_NO_AUTH'>
MCP = <ResourceType.MCP: 'RESOURCE_TYPE_MCP'>
MCPDCR = <ResourceType.MCPDCR: 'RESOURCE_TYPE_MCPDCR'>
MCPPAT = <ResourceType.MCPPAT: 'RESOURCE_TYPE_MCPPAT'>
MTLS_MY_SQL = <ResourceType.MTLS_MY_SQL: 'RESOURCE_TYPE_MTLS_MY_SQL'>
MTLS_POSTGRES = <ResourceType.MTLS_POSTGRES: 'RESOURCE_TYPE_MTLS_POSTGRES'>
MARIA = <ResourceType.MARIA: 'RESOURCE_TYPE_MARIA'>
MEMCACHED = <ResourceType.MEMCACHED: 'RESOURCE_TYPE_MEMCACHED'>
MEM_SQL = <ResourceType.MEM_SQL: 'RESOURCE_TYPE_MEM_SQL'>
MICROSOFT_365 = <ResourceType.MICROSOFT_365: 'RESOURCE_TYPE_MICROSOFT_365'>
MONGO_DB_HOST = <ResourceType.MONGO_DB_HOST: 'RESOURCE_TYPE_MONGO_DB_HOST'>
MONGO_DB = <ResourceType.MONGO_DB: 'RESOURCE_TYPE_MONGO_DB'>
MONGO_DB_LEGACY_REPLICA_SET = <ResourceType.MONGO_DB_LEGACY_REPLICA_SET: 'RESOURCE_TYPE_MONGO_DB_LEGACY_REPLICA_SET'>
MONGO_DB_REPLICA_SET = <ResourceType.MONGO_DB_REPLICA_SET: 'RESOURCE_TYPE_MONGO_DB_REPLICA_SET'>
MONGO_DB_SHARDED_CLUSTER = <ResourceType.MONGO_DB_SHARDED_CLUSTER: 'RESOURCE_TYPE_MONGO_DB_SHARDED_CLUSTER'>
MY_SQL = <ResourceType.MY_SQL: 'RESOURCE_TYPE_MY_SQL'>
NEPTUNE = <ResourceType.NEPTUNE: 'RESOURCE_TYPE_NEPTUNE'>
NEPTUNE_IAM = <ResourceType.NEPTUNE_IAM: 'RESOURCE_TYPE_NEPTUNE_IAM'>
OKTA_ADMIN = <ResourceType.OKTA_ADMIN: 'RESOURCE_TYPE_OKTA_ADMIN'>
OKTA_GROUPS = <ResourceType.OKTA_GROUPS: 'RESOURCE_TYPE_OKTA_GROUPS'>
ORACLE = <ResourceType.ORACLE: 'RESOURCE_TYPE_ORACLE'>
ORACLE_NNE = <ResourceType.ORACLE_NNE: 'RESOURCE_TYPE_ORACLE_NNE'>
POSTGRES = <ResourceType.POSTGRES: 'RESOURCE_TYPE_POSTGRES'>
PRESTO = <ResourceType.PRESTO: 'RESOURCE_TYPE_PRESTO'>
RDP = <ResourceType.RDP: 'RESOURCE_TYPE_RDP'>
RDP_CERT = <ResourceType.RDP_CERT: 'RESOURCE_TYPE_RDP_CERT'>
RDS_POSTGRES_IAM = <ResourceType.RDS_POSTGRES_IAM: 'RESOURCE_TYPE_RDS_POSTGRES_IAM'>
RABBIT_MQAMQP_091 = <ResourceType.RABBIT_MQAMQP_091: 'RESOURCE_TYPE_RABBIT_MQAMQP_091'>
TCP = <ResourceType.TCP: 'RESOURCE_TYPE_TCP'>
REDIS = <ResourceType.REDIS: 'RESOURCE_TYPE_REDIS'>
REDIS_CLUSTER = <ResourceType.REDIS_CLUSTER: 'RESOURCE_TYPE_REDIS_CLUSTER'>
REDSHIFT = <ResourceType.REDSHIFT: 'RESOURCE_TYPE_REDSHIFT'>
REDSHIFT_IAM = <ResourceType.REDSHIFT_IAM: 'RESOURCE_TYPE_REDSHIFT_IAM'>
REDSHIFT_SERVERLESS_IAM = <ResourceType.REDSHIFT_SERVERLESS_IAM: 'RESOURCE_TYPE_REDSHIFT_SERVERLESS_IAM'>
SQL_SERVER = <ResourceType.SQL_SERVER: 'RESOURCE_TYPE_SQL_SERVER'>
SQL_SERVER_AZURE_AD = <ResourceType.SQL_SERVER_AZURE_AD: 'RESOURCE_TYPE_SQL_SERVER_AZURE_AD'>
SQL_SERVER_KERBEROS = <ResourceType.SQL_SERVER_KERBEROS: 'RESOURCE_TYPE_SQL_SERVER_KERBEROS'>
SSH = <ResourceType.SSH: 'RESOURCE_TYPE_SSH'>
SSH_CERT = <ResourceType.SSH_CERT: 'RESOURCE_TYPE_SSH_CERT'>
SSH_CERT_USER_PROVISION = <ResourceType.SSH_CERT_USER_PROVISION: 'RESOURCE_TYPE_SSH_CERT_USER_PROVISION'>
SSH_CUSTOMER_KEY = <ResourceType.SSH_CUSTOMER_KEY: 'RESOURCE_TYPE_SSH_CUSTOMER_KEY'>
SSH_PASSWORD = <ResourceType.SSH_PASSWORD: 'RESOURCE_TYPE_SSH_PASSWORD'>
SALESFORCE = <ResourceType.SALESFORCE: 'RESOURCE_TYPE_SALESFORCE'>
SINGLE_STORE = <ResourceType.SINGLE_STORE: 'RESOURCE_TYPE_SINGLE_STORE'>
SNOWFLAKE = <ResourceType.SNOWFLAKE: 'RESOURCE_TYPE_SNOWFLAKE'>
SNOWSIGHT = <ResourceType.SNOWSIGHT: 'RESOURCE_TYPE_SNOWSIGHT'>
SYBASE_ASE = <ResourceType.SYBASE_ASE: 'RESOURCE_TYPE_SYBASE_ASE'>
SYBASE_IQ = <ResourceType.SYBASE_IQ: 'RESOURCE_TYPE_SYBASE_IQ'>
TERADATA = <ResourceType.TERADATA: 'RESOURCE_TYPE_TERADATA'>
TRINO = <ResourceType.TRINO: 'RESOURCE_TYPE_TRINO'>
VERTICA = <ResourceType.VERTICA: 'RESOURCE_TYPE_VERTICA'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class AKS:
151class AKS:
152    __slots__ = [
153        'allow_resource_role_bypass',
154        'bind_interface',
155        'certificate_authority',
156        'client_certificate',
157        'client_key',
158        'discovery_enabled',
159        'discovery_username',
160        'egress_filter',
161        'healthcheck_namespace',
162        'healthy',
163        'hostname',
164        'id',
165        'identity_alias_healthcheck_username',
166        'identity_set_id',
167        'name',
168        'port',
169        'port_override',
170        'proxy_cluster_id',
171        'secret_store_id',
172        'subdomain',
173        'tags',
174    ]
175
176    def __init__(
177        self,
178        allow_resource_role_bypass=None,
179        bind_interface=None,
180        certificate_authority=None,
181        client_certificate=None,
182        client_key=None,
183        discovery_enabled=None,
184        discovery_username=None,
185        egress_filter=None,
186        healthcheck_namespace=None,
187        healthy=None,
188        hostname=None,
189        id=None,
190        identity_alias_healthcheck_username=None,
191        identity_set_id=None,
192        name=None,
193        port=None,
194        port_override=None,
195        proxy_cluster_id=None,
196        secret_store_id=None,
197        subdomain=None,
198        tags=None,
199    ):
200        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
201        '''
202         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
203         when a resource role is not provided.
204        '''
205        self.bind_interface = bind_interface if bind_interface is not None else ''
206        '''
207         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
208        '''
209        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
210        '''
211         The CA to authenticate TLS connections with.
212        '''
213        self.client_certificate = client_certificate if client_certificate is not None else ''
214        '''
215         The certificate to authenticate TLS connections with.
216        '''
217        self.client_key = client_key if client_key is not None else ''
218        '''
219         The key to authenticate TLS connections with.
220        '''
221        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
222        '''
223         If true, configures discovery of a cluster to be run from a node.
224        '''
225        self.discovery_username = discovery_username if discovery_username is not None else ''
226        '''
227         If a cluster is configured for user impersonation, this is the user to impersonate when
228         running discovery.
229        '''
230        self.egress_filter = egress_filter if egress_filter is not None else ''
231        '''
232         A filter applied to the routing logic to pin datasource to nodes.
233        '''
234        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
235        '''
236         The path used to check the health of your connection.  Defaults to `default`.
237        '''
238        self.healthy = healthy if healthy is not None else False
239        '''
240         True if the datasource is reachable and the credentials are valid.
241        '''
242        self.hostname = hostname if hostname is not None else ''
243        '''
244         The host to dial to initiate a connection from the egress node to this resource.
245        '''
246        self.id = id if id is not None else ''
247        '''
248         Unique identifier of the Resource.
249        '''
250        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
251        '''
252         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
253        '''
254        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
255        '''
256         The ID of the identity set to use for identity connections.
257        '''
258        self.name = name if name is not None else ''
259        '''
260         Unique human-readable name of the Resource.
261        '''
262        self.port = port if port is not None else 0
263        '''
264         The port to dial to initiate a connection from the egress node to this resource.
265        '''
266        self.port_override = port_override if port_override is not None else 0
267        '''
268         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
269        '''
270        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
271        '''
272         ID of the proxy cluster for this resource, if any.
273        '''
274        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
275        '''
276         ID of the secret store containing credentials for this resource, if any.
277        '''
278        self.subdomain = subdomain if subdomain is not None else ''
279        '''
280         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
281        '''
282        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
283        '''
284         Tags is a map of key, value pairs.
285        '''
286
287    def __repr__(self):
288        return '<sdm.AKS ' + \
289            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
290            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
291            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
292            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
293            'client_key: ' + repr(self.client_key) + ' ' +\
294            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
295            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
296            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
297            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
298            'healthy: ' + repr(self.healthy) + ' ' +\
299            'hostname: ' + repr(self.hostname) + ' ' +\
300            'id: ' + repr(self.id) + ' ' +\
301            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
302            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
303            'name: ' + repr(self.name) + ' ' +\
304            'port: ' + repr(self.port) + ' ' +\
305            'port_override: ' + repr(self.port_override) + ' ' +\
306            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
307            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
308            'subdomain: ' + repr(self.subdomain) + ' ' +\
309            'tags: ' + repr(self.tags) + ' ' +\
310            '>'
311
312    def to_dict(self):
313        return {
314            'allow_resource_role_bypass': self.allow_resource_role_bypass,
315            'bind_interface': self.bind_interface,
316            'certificate_authority': self.certificate_authority,
317            'client_certificate': self.client_certificate,
318            'client_key': self.client_key,
319            'discovery_enabled': self.discovery_enabled,
320            'discovery_username': self.discovery_username,
321            'egress_filter': self.egress_filter,
322            'healthcheck_namespace': self.healthcheck_namespace,
323            'healthy': self.healthy,
324            'hostname': self.hostname,
325            'id': self.id,
326            'identity_alias_healthcheck_username':
327            self.identity_alias_healthcheck_username,
328            'identity_set_id': self.identity_set_id,
329            'name': self.name,
330            'port': self.port,
331            'port_override': self.port_override,
332            'proxy_cluster_id': self.proxy_cluster_id,
333            'secret_store_id': self.secret_store_id,
334            'subdomain': self.subdomain,
335            'tags': self.tags,
336        }
337
338    @classmethod
339    def from_dict(cls, d):
340        return cls(
341            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
342            bind_interface=d.get('bind_interface'),
343            certificate_authority=d.get('certificate_authority'),
344            client_certificate=d.get('client_certificate'),
345            client_key=d.get('client_key'),
346            discovery_enabled=d.get('discovery_enabled'),
347            discovery_username=d.get('discovery_username'),
348            egress_filter=d.get('egress_filter'),
349            healthcheck_namespace=d.get('healthcheck_namespace'),
350            healthy=d.get('healthy'),
351            hostname=d.get('hostname'),
352            id=d.get('id'),
353            identity_alias_healthcheck_username=d.get(
354                'identity_alias_healthcheck_username'),
355            identity_set_id=d.get('identity_set_id'),
356            name=d.get('name'),
357            port=d.get('port'),
358            port_override=d.get('port_override'),
359            proxy_cluster_id=d.get('proxy_cluster_id'),
360            secret_store_id=d.get('secret_store_id'),
361            subdomain=d.get('subdomain'),
362            tags=d.get('tags'),
363        )
AKS( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
176    def __init__(
177        self,
178        allow_resource_role_bypass=None,
179        bind_interface=None,
180        certificate_authority=None,
181        client_certificate=None,
182        client_key=None,
183        discovery_enabled=None,
184        discovery_username=None,
185        egress_filter=None,
186        healthcheck_namespace=None,
187        healthy=None,
188        hostname=None,
189        id=None,
190        identity_alias_healthcheck_username=None,
191        identity_set_id=None,
192        name=None,
193        port=None,
194        port_override=None,
195        proxy_cluster_id=None,
196        secret_store_id=None,
197        subdomain=None,
198        tags=None,
199    ):
200        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
201        '''
202         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
203         when a resource role is not provided.
204        '''
205        self.bind_interface = bind_interface if bind_interface is not None else ''
206        '''
207         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
208        '''
209        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
210        '''
211         The CA to authenticate TLS connections with.
212        '''
213        self.client_certificate = client_certificate if client_certificate is not None else ''
214        '''
215         The certificate to authenticate TLS connections with.
216        '''
217        self.client_key = client_key if client_key is not None else ''
218        '''
219         The key to authenticate TLS connections with.
220        '''
221        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
222        '''
223         If true, configures discovery of a cluster to be run from a node.
224        '''
225        self.discovery_username = discovery_username if discovery_username is not None else ''
226        '''
227         If a cluster is configured for user impersonation, this is the user to impersonate when
228         running discovery.
229        '''
230        self.egress_filter = egress_filter if egress_filter is not None else ''
231        '''
232         A filter applied to the routing logic to pin datasource to nodes.
233        '''
234        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
235        '''
236         The path used to check the health of your connection.  Defaults to `default`.
237        '''
238        self.healthy = healthy if healthy is not None else False
239        '''
240         True if the datasource is reachable and the credentials are valid.
241        '''
242        self.hostname = hostname if hostname is not None else ''
243        '''
244         The host to dial to initiate a connection from the egress node to this resource.
245        '''
246        self.id = id if id is not None else ''
247        '''
248         Unique identifier of the Resource.
249        '''
250        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
251        '''
252         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
253        '''
254        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
255        '''
256         The ID of the identity set to use for identity connections.
257        '''
258        self.name = name if name is not None else ''
259        '''
260         Unique human-readable name of the Resource.
261        '''
262        self.port = port if port is not None else 0
263        '''
264         The port to dial to initiate a connection from the egress node to this resource.
265        '''
266        self.port_override = port_override if port_override is not None else 0
267        '''
268         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
269        '''
270        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
271        '''
272         ID of the proxy cluster for this resource, if any.
273        '''
274        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
275        '''
276         ID of the secret store containing credentials for this resource, if any.
277        '''
278        self.subdomain = subdomain if subdomain is not None else ''
279        '''
280         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
281        '''
282        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
283        '''
284         Tags is a map of key, value pairs.
285        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
312    def to_dict(self):
313        return {
314            'allow_resource_role_bypass': self.allow_resource_role_bypass,
315            'bind_interface': self.bind_interface,
316            'certificate_authority': self.certificate_authority,
317            'client_certificate': self.client_certificate,
318            'client_key': self.client_key,
319            'discovery_enabled': self.discovery_enabled,
320            'discovery_username': self.discovery_username,
321            'egress_filter': self.egress_filter,
322            'healthcheck_namespace': self.healthcheck_namespace,
323            'healthy': self.healthy,
324            'hostname': self.hostname,
325            'id': self.id,
326            'identity_alias_healthcheck_username':
327            self.identity_alias_healthcheck_username,
328            'identity_set_id': self.identity_set_id,
329            'name': self.name,
330            'port': self.port,
331            'port_override': self.port_override,
332            'proxy_cluster_id': self.proxy_cluster_id,
333            'secret_store_id': self.secret_store_id,
334            'subdomain': self.subdomain,
335            'tags': self.tags,
336        }
@classmethod
def from_dict(cls, d)
338    @classmethod
339    def from_dict(cls, d):
340        return cls(
341            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
342            bind_interface=d.get('bind_interface'),
343            certificate_authority=d.get('certificate_authority'),
344            client_certificate=d.get('client_certificate'),
345            client_key=d.get('client_key'),
346            discovery_enabled=d.get('discovery_enabled'),
347            discovery_username=d.get('discovery_username'),
348            egress_filter=d.get('egress_filter'),
349            healthcheck_namespace=d.get('healthcheck_namespace'),
350            healthy=d.get('healthy'),
351            hostname=d.get('hostname'),
352            id=d.get('id'),
353            identity_alias_healthcheck_username=d.get(
354                'identity_alias_healthcheck_username'),
355            identity_set_id=d.get('identity_set_id'),
356            name=d.get('name'),
357            port=d.get('port'),
358            port_override=d.get('port_override'),
359            proxy_cluster_id=d.get('proxy_cluster_id'),
360            secret_store_id=d.get('secret_store_id'),
361            subdomain=d.get('subdomain'),
362            tags=d.get('tags'),
363        )
class AKSBasicAuth:
366class AKSBasicAuth:
367    '''
368    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
369    without a major version bump.
370    '''
371    __slots__ = [
372        'bind_interface',
373        'egress_filter',
374        'healthcheck_namespace',
375        'healthy',
376        'hostname',
377        'id',
378        'name',
379        'password',
380        'port',
381        'port_override',
382        'proxy_cluster_id',
383        'secret_store_id',
384        'subdomain',
385        'tags',
386        'username',
387    ]
388
389    def __init__(
390        self,
391        bind_interface=None,
392        egress_filter=None,
393        healthcheck_namespace=None,
394        healthy=None,
395        hostname=None,
396        id=None,
397        name=None,
398        password=None,
399        port=None,
400        port_override=None,
401        proxy_cluster_id=None,
402        secret_store_id=None,
403        subdomain=None,
404        tags=None,
405        username=None,
406    ):
407        self.bind_interface = bind_interface if bind_interface is not None else ''
408        '''
409         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
410        '''
411        self.egress_filter = egress_filter if egress_filter is not None else ''
412        '''
413         A filter applied to the routing logic to pin datasource to nodes.
414        '''
415        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
416        '''
417         The path used to check the health of your connection.  Defaults to `default`.
418        '''
419        self.healthy = healthy if healthy is not None else False
420        '''
421         True if the datasource is reachable and the credentials are valid.
422        '''
423        self.hostname = hostname if hostname is not None else ''
424        '''
425         The host to dial to initiate a connection from the egress node to this resource.
426        '''
427        self.id = id if id is not None else ''
428        '''
429         Unique identifier of the Resource.
430        '''
431        self.name = name if name is not None else ''
432        '''
433         Unique human-readable name of the Resource.
434        '''
435        self.password = password if password is not None else ''
436        '''
437         The password to authenticate with.
438        '''
439        self.port = port if port is not None else 0
440        '''
441         The port to dial to initiate a connection from the egress node to this resource.
442        '''
443        self.port_override = port_override if port_override is not None else 0
444        '''
445         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
446        '''
447        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
448        '''
449         ID of the proxy cluster for this resource, if any.
450        '''
451        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
452        '''
453         ID of the secret store containing credentials for this resource, if any.
454        '''
455        self.subdomain = subdomain if subdomain is not None else ''
456        '''
457         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
458        '''
459        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
460        '''
461         Tags is a map of key, value pairs.
462        '''
463        self.username = username if username is not None else ''
464        '''
465         The username to authenticate with.
466        '''
467
468    def __repr__(self):
469        return '<sdm.AKSBasicAuth ' + \
470            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
471            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
472            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
473            'healthy: ' + repr(self.healthy) + ' ' +\
474            'hostname: ' + repr(self.hostname) + ' ' +\
475            'id: ' + repr(self.id) + ' ' +\
476            'name: ' + repr(self.name) + ' ' +\
477            'password: ' + repr(self.password) + ' ' +\
478            'port: ' + repr(self.port) + ' ' +\
479            'port_override: ' + repr(self.port_override) + ' ' +\
480            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
481            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
482            'subdomain: ' + repr(self.subdomain) + ' ' +\
483            'tags: ' + repr(self.tags) + ' ' +\
484            'username: ' + repr(self.username) + ' ' +\
485            '>'
486
487    def to_dict(self):
488        return {
489            'bind_interface': self.bind_interface,
490            'egress_filter': self.egress_filter,
491            'healthcheck_namespace': self.healthcheck_namespace,
492            'healthy': self.healthy,
493            'hostname': self.hostname,
494            'id': self.id,
495            'name': self.name,
496            'password': self.password,
497            'port': self.port,
498            'port_override': self.port_override,
499            'proxy_cluster_id': self.proxy_cluster_id,
500            'secret_store_id': self.secret_store_id,
501            'subdomain': self.subdomain,
502            'tags': self.tags,
503            'username': self.username,
504        }
505
506    @classmethod
507    def from_dict(cls, d):
508        return cls(
509            bind_interface=d.get('bind_interface'),
510            egress_filter=d.get('egress_filter'),
511            healthcheck_namespace=d.get('healthcheck_namespace'),
512            healthy=d.get('healthy'),
513            hostname=d.get('hostname'),
514            id=d.get('id'),
515            name=d.get('name'),
516            password=d.get('password'),
517            port=d.get('port'),
518            port_override=d.get('port_override'),
519            proxy_cluster_id=d.get('proxy_cluster_id'),
520            secret_store_id=d.get('secret_store_id'),
521            subdomain=d.get('subdomain'),
522            tags=d.get('tags'),
523            username=d.get('username'),
524        )

AKSBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump.

AKSBasicAuth( bind_interface=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
389    def __init__(
390        self,
391        bind_interface=None,
392        egress_filter=None,
393        healthcheck_namespace=None,
394        healthy=None,
395        hostname=None,
396        id=None,
397        name=None,
398        password=None,
399        port=None,
400        port_override=None,
401        proxy_cluster_id=None,
402        secret_store_id=None,
403        subdomain=None,
404        tags=None,
405        username=None,
406    ):
407        self.bind_interface = bind_interface if bind_interface is not None else ''
408        '''
409         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
410        '''
411        self.egress_filter = egress_filter if egress_filter is not None else ''
412        '''
413         A filter applied to the routing logic to pin datasource to nodes.
414        '''
415        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
416        '''
417         The path used to check the health of your connection.  Defaults to `default`.
418        '''
419        self.healthy = healthy if healthy is not None else False
420        '''
421         True if the datasource is reachable and the credentials are valid.
422        '''
423        self.hostname = hostname if hostname is not None else ''
424        '''
425         The host to dial to initiate a connection from the egress node to this resource.
426        '''
427        self.id = id if id is not None else ''
428        '''
429         Unique identifier of the Resource.
430        '''
431        self.name = name if name is not None else ''
432        '''
433         Unique human-readable name of the Resource.
434        '''
435        self.password = password if password is not None else ''
436        '''
437         The password to authenticate with.
438        '''
439        self.port = port if port is not None else 0
440        '''
441         The port to dial to initiate a connection from the egress node to this resource.
442        '''
443        self.port_override = port_override if port_override is not None else 0
444        '''
445         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
446        '''
447        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
448        '''
449         ID of the proxy cluster for this resource, if any.
450        '''
451        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
452        '''
453         ID of the secret store containing credentials for this resource, if any.
454        '''
455        self.subdomain = subdomain if subdomain is not None else ''
456        '''
457         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
458        '''
459        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
460        '''
461         Tags is a map of key, value pairs.
462        '''
463        self.username = username if username is not None else ''
464        '''
465         The username to authenticate with.
466        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
487    def to_dict(self):
488        return {
489            'bind_interface': self.bind_interface,
490            'egress_filter': self.egress_filter,
491            'healthcheck_namespace': self.healthcheck_namespace,
492            'healthy': self.healthy,
493            'hostname': self.hostname,
494            'id': self.id,
495            'name': self.name,
496            'password': self.password,
497            'port': self.port,
498            'port_override': self.port_override,
499            'proxy_cluster_id': self.proxy_cluster_id,
500            'secret_store_id': self.secret_store_id,
501            'subdomain': self.subdomain,
502            'tags': self.tags,
503            'username': self.username,
504        }
@classmethod
def from_dict(cls, d)
506    @classmethod
507    def from_dict(cls, d):
508        return cls(
509            bind_interface=d.get('bind_interface'),
510            egress_filter=d.get('egress_filter'),
511            healthcheck_namespace=d.get('healthcheck_namespace'),
512            healthy=d.get('healthy'),
513            hostname=d.get('hostname'),
514            id=d.get('id'),
515            name=d.get('name'),
516            password=d.get('password'),
517            port=d.get('port'),
518            port_override=d.get('port_override'),
519            proxy_cluster_id=d.get('proxy_cluster_id'),
520            secret_store_id=d.get('secret_store_id'),
521            subdomain=d.get('subdomain'),
522            tags=d.get('tags'),
523            username=d.get('username'),
524        )
class AKSServiceAccount:
527class AKSServiceAccount:
528    __slots__ = [
529        'allow_resource_role_bypass',
530        'bind_interface',
531        'discovery_enabled',
532        'discovery_username',
533        'egress_filter',
534        'healthcheck_namespace',
535        'healthy',
536        'hostname',
537        'id',
538        'identity_alias_healthcheck_username',
539        'identity_set_id',
540        'name',
541        'port',
542        'port_override',
543        'proxy_cluster_id',
544        'secret_store_id',
545        'subdomain',
546        'tags',
547        'token',
548    ]
549
550    def __init__(
551        self,
552        allow_resource_role_bypass=None,
553        bind_interface=None,
554        discovery_enabled=None,
555        discovery_username=None,
556        egress_filter=None,
557        healthcheck_namespace=None,
558        healthy=None,
559        hostname=None,
560        id=None,
561        identity_alias_healthcheck_username=None,
562        identity_set_id=None,
563        name=None,
564        port=None,
565        port_override=None,
566        proxy_cluster_id=None,
567        secret_store_id=None,
568        subdomain=None,
569        tags=None,
570        token=None,
571    ):
572        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
573        '''
574         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
575         when a resource role is not provided.
576        '''
577        self.bind_interface = bind_interface if bind_interface is not None else ''
578        '''
579         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
580        '''
581        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
582        '''
583         If true, configures discovery of a cluster to be run from a node.
584        '''
585        self.discovery_username = discovery_username if discovery_username is not None else ''
586        '''
587         If a cluster is configured for user impersonation, this is the user to impersonate when
588         running discovery.
589        '''
590        self.egress_filter = egress_filter if egress_filter is not None else ''
591        '''
592         A filter applied to the routing logic to pin datasource to nodes.
593        '''
594        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
595        '''
596         The path used to check the health of your connection.  Defaults to `default`.
597        '''
598        self.healthy = healthy if healthy is not None else False
599        '''
600         True if the datasource is reachable and the credentials are valid.
601        '''
602        self.hostname = hostname if hostname is not None else ''
603        '''
604         The host to dial to initiate a connection from the egress node to this resource.
605        '''
606        self.id = id if id is not None else ''
607        '''
608         Unique identifier of the Resource.
609        '''
610        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
611        '''
612         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
613        '''
614        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
615        '''
616         The ID of the identity set to use for identity connections.
617        '''
618        self.name = name if name is not None else ''
619        '''
620         Unique human-readable name of the Resource.
621        '''
622        self.port = port if port is not None else 0
623        '''
624         The port to dial to initiate a connection from the egress node to this resource.
625        '''
626        self.port_override = port_override if port_override is not None else 0
627        '''
628         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
629        '''
630        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
631        '''
632         ID of the proxy cluster for this resource, if any.
633        '''
634        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
635        '''
636         ID of the secret store containing credentials for this resource, if any.
637        '''
638        self.subdomain = subdomain if subdomain is not None else ''
639        '''
640         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
641        '''
642        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
643        '''
644         Tags is a map of key, value pairs.
645        '''
646        self.token = token if token is not None else ''
647        '''
648         The API token to authenticate with.
649        '''
650
651    def __repr__(self):
652        return '<sdm.AKSServiceAccount ' + \
653            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
654            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
655            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
656            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
657            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
658            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
659            'healthy: ' + repr(self.healthy) + ' ' +\
660            'hostname: ' + repr(self.hostname) + ' ' +\
661            'id: ' + repr(self.id) + ' ' +\
662            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
663            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
664            'name: ' + repr(self.name) + ' ' +\
665            'port: ' + repr(self.port) + ' ' +\
666            'port_override: ' + repr(self.port_override) + ' ' +\
667            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
668            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
669            'subdomain: ' + repr(self.subdomain) + ' ' +\
670            'tags: ' + repr(self.tags) + ' ' +\
671            'token: ' + repr(self.token) + ' ' +\
672            '>'
673
674    def to_dict(self):
675        return {
676            'allow_resource_role_bypass': self.allow_resource_role_bypass,
677            'bind_interface': self.bind_interface,
678            'discovery_enabled': self.discovery_enabled,
679            'discovery_username': self.discovery_username,
680            'egress_filter': self.egress_filter,
681            'healthcheck_namespace': self.healthcheck_namespace,
682            'healthy': self.healthy,
683            'hostname': self.hostname,
684            'id': self.id,
685            'identity_alias_healthcheck_username':
686            self.identity_alias_healthcheck_username,
687            'identity_set_id': self.identity_set_id,
688            'name': self.name,
689            'port': self.port,
690            'port_override': self.port_override,
691            'proxy_cluster_id': self.proxy_cluster_id,
692            'secret_store_id': self.secret_store_id,
693            'subdomain': self.subdomain,
694            'tags': self.tags,
695            'token': self.token,
696        }
697
698    @classmethod
699    def from_dict(cls, d):
700        return cls(
701            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
702            bind_interface=d.get('bind_interface'),
703            discovery_enabled=d.get('discovery_enabled'),
704            discovery_username=d.get('discovery_username'),
705            egress_filter=d.get('egress_filter'),
706            healthcheck_namespace=d.get('healthcheck_namespace'),
707            healthy=d.get('healthy'),
708            hostname=d.get('hostname'),
709            id=d.get('id'),
710            identity_alias_healthcheck_username=d.get(
711                'identity_alias_healthcheck_username'),
712            identity_set_id=d.get('identity_set_id'),
713            name=d.get('name'),
714            port=d.get('port'),
715            port_override=d.get('port_override'),
716            proxy_cluster_id=d.get('proxy_cluster_id'),
717            secret_store_id=d.get('secret_store_id'),
718            subdomain=d.get('subdomain'),
719            tags=d.get('tags'),
720            token=d.get('token'),
721        )
AKSServiceAccount( allow_resource_role_bypass=None, bind_interface=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, token=None)
550    def __init__(
551        self,
552        allow_resource_role_bypass=None,
553        bind_interface=None,
554        discovery_enabled=None,
555        discovery_username=None,
556        egress_filter=None,
557        healthcheck_namespace=None,
558        healthy=None,
559        hostname=None,
560        id=None,
561        identity_alias_healthcheck_username=None,
562        identity_set_id=None,
563        name=None,
564        port=None,
565        port_override=None,
566        proxy_cluster_id=None,
567        secret_store_id=None,
568        subdomain=None,
569        tags=None,
570        token=None,
571    ):
572        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
573        '''
574         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
575         when a resource role is not provided.
576        '''
577        self.bind_interface = bind_interface if bind_interface is not None else ''
578        '''
579         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
580        '''
581        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
582        '''
583         If true, configures discovery of a cluster to be run from a node.
584        '''
585        self.discovery_username = discovery_username if discovery_username is not None else ''
586        '''
587         If a cluster is configured for user impersonation, this is the user to impersonate when
588         running discovery.
589        '''
590        self.egress_filter = egress_filter if egress_filter is not None else ''
591        '''
592         A filter applied to the routing logic to pin datasource to nodes.
593        '''
594        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
595        '''
596         The path used to check the health of your connection.  Defaults to `default`.
597        '''
598        self.healthy = healthy if healthy is not None else False
599        '''
600         True if the datasource is reachable and the credentials are valid.
601        '''
602        self.hostname = hostname if hostname is not None else ''
603        '''
604         The host to dial to initiate a connection from the egress node to this resource.
605        '''
606        self.id = id if id is not None else ''
607        '''
608         Unique identifier of the Resource.
609        '''
610        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
611        '''
612         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
613        '''
614        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
615        '''
616         The ID of the identity set to use for identity connections.
617        '''
618        self.name = name if name is not None else ''
619        '''
620         Unique human-readable name of the Resource.
621        '''
622        self.port = port if port is not None else 0
623        '''
624         The port to dial to initiate a connection from the egress node to this resource.
625        '''
626        self.port_override = port_override if port_override is not None else 0
627        '''
628         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
629        '''
630        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
631        '''
632         ID of the proxy cluster for this resource, if any.
633        '''
634        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
635        '''
636         ID of the secret store containing credentials for this resource, if any.
637        '''
638        self.subdomain = subdomain if subdomain is not None else ''
639        '''
640         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
641        '''
642        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
643        '''
644         Tags is a map of key, value pairs.
645        '''
646        self.token = token if token is not None else ''
647        '''
648         The API token to authenticate with.
649        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
674    def to_dict(self):
675        return {
676            'allow_resource_role_bypass': self.allow_resource_role_bypass,
677            'bind_interface': self.bind_interface,
678            'discovery_enabled': self.discovery_enabled,
679            'discovery_username': self.discovery_username,
680            'egress_filter': self.egress_filter,
681            'healthcheck_namespace': self.healthcheck_namespace,
682            'healthy': self.healthy,
683            'hostname': self.hostname,
684            'id': self.id,
685            'identity_alias_healthcheck_username':
686            self.identity_alias_healthcheck_username,
687            'identity_set_id': self.identity_set_id,
688            'name': self.name,
689            'port': self.port,
690            'port_override': self.port_override,
691            'proxy_cluster_id': self.proxy_cluster_id,
692            'secret_store_id': self.secret_store_id,
693            'subdomain': self.subdomain,
694            'tags': self.tags,
695            'token': self.token,
696        }
@classmethod
def from_dict(cls, d)
698    @classmethod
699    def from_dict(cls, d):
700        return cls(
701            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
702            bind_interface=d.get('bind_interface'),
703            discovery_enabled=d.get('discovery_enabled'),
704            discovery_username=d.get('discovery_username'),
705            egress_filter=d.get('egress_filter'),
706            healthcheck_namespace=d.get('healthcheck_namespace'),
707            healthy=d.get('healthy'),
708            hostname=d.get('hostname'),
709            id=d.get('id'),
710            identity_alias_healthcheck_username=d.get(
711                'identity_alias_healthcheck_username'),
712            identity_set_id=d.get('identity_set_id'),
713            name=d.get('name'),
714            port=d.get('port'),
715            port_override=d.get('port_override'),
716            proxy_cluster_id=d.get('proxy_cluster_id'),
717            secret_store_id=d.get('secret_store_id'),
718            subdomain=d.get('subdomain'),
719            tags=d.get('tags'),
720            token=d.get('token'),
721        )
class AKSServiceAccountUserImpersonation:
724class AKSServiceAccountUserImpersonation:
725    '''
726    AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
727    '''
728    __slots__ = [
729        'bind_interface',
730        'egress_filter',
731        'healthcheck_namespace',
732        'healthy',
733        'hostname',
734        'id',
735        'name',
736        'port',
737        'port_override',
738        'proxy_cluster_id',
739        'secret_store_id',
740        'subdomain',
741        'tags',
742        'token',
743    ]
744
745    def __init__(
746        self,
747        bind_interface=None,
748        egress_filter=None,
749        healthcheck_namespace=None,
750        healthy=None,
751        hostname=None,
752        id=None,
753        name=None,
754        port=None,
755        port_override=None,
756        proxy_cluster_id=None,
757        secret_store_id=None,
758        subdomain=None,
759        tags=None,
760        token=None,
761    ):
762        self.bind_interface = bind_interface if bind_interface is not None else ''
763        '''
764         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
765        '''
766        self.egress_filter = egress_filter if egress_filter is not None else ''
767        '''
768         A filter applied to the routing logic to pin datasource to nodes.
769        '''
770        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
771        '''
772         The path used to check the health of your connection.  Defaults to `default`.
773        '''
774        self.healthy = healthy if healthy is not None else False
775        '''
776         True if the datasource is reachable and the credentials are valid.
777        '''
778        self.hostname = hostname if hostname is not None else ''
779        '''
780         The host to dial to initiate a connection from the egress node to this resource.
781        '''
782        self.id = id if id is not None else ''
783        '''
784         Unique identifier of the Resource.
785        '''
786        self.name = name if name is not None else ''
787        '''
788         Unique human-readable name of the Resource.
789        '''
790        self.port = port if port is not None else 0
791        '''
792         The port to dial to initiate a connection from the egress node to this resource.
793        '''
794        self.port_override = port_override if port_override is not None else 0
795        '''
796         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
797        '''
798        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
799        '''
800         ID of the proxy cluster for this resource, if any.
801        '''
802        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
803        '''
804         ID of the secret store containing credentials for this resource, if any.
805        '''
806        self.subdomain = subdomain if subdomain is not None else ''
807        '''
808         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
809        '''
810        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
811        '''
812         Tags is a map of key, value pairs.
813        '''
814        self.token = token if token is not None else ''
815        '''
816         The API token to authenticate with.
817        '''
818
819    def __repr__(self):
820        return '<sdm.AKSServiceAccountUserImpersonation ' + \
821            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
822            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
823            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
824            'healthy: ' + repr(self.healthy) + ' ' +\
825            'hostname: ' + repr(self.hostname) + ' ' +\
826            'id: ' + repr(self.id) + ' ' +\
827            'name: ' + repr(self.name) + ' ' +\
828            'port: ' + repr(self.port) + ' ' +\
829            'port_override: ' + repr(self.port_override) + ' ' +\
830            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
831            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
832            'subdomain: ' + repr(self.subdomain) + ' ' +\
833            'tags: ' + repr(self.tags) + ' ' +\
834            'token: ' + repr(self.token) + ' ' +\
835            '>'
836
837    def to_dict(self):
838        return {
839            'bind_interface': self.bind_interface,
840            'egress_filter': self.egress_filter,
841            'healthcheck_namespace': self.healthcheck_namespace,
842            'healthy': self.healthy,
843            'hostname': self.hostname,
844            'id': self.id,
845            'name': self.name,
846            'port': self.port,
847            'port_override': self.port_override,
848            'proxy_cluster_id': self.proxy_cluster_id,
849            'secret_store_id': self.secret_store_id,
850            'subdomain': self.subdomain,
851            'tags': self.tags,
852            'token': self.token,
853        }
854
855    @classmethod
856    def from_dict(cls, d):
857        return cls(
858            bind_interface=d.get('bind_interface'),
859            egress_filter=d.get('egress_filter'),
860            healthcheck_namespace=d.get('healthcheck_namespace'),
861            healthy=d.get('healthy'),
862            hostname=d.get('hostname'),
863            id=d.get('id'),
864            name=d.get('name'),
865            port=d.get('port'),
866            port_override=d.get('port_override'),
867            proxy_cluster_id=d.get('proxy_cluster_id'),
868            secret_store_id=d.get('secret_store_id'),
869            subdomain=d.get('subdomain'),
870            tags=d.get('tags'),
871            token=d.get('token'),
872        )

AKSServiceAccountUserImpersonation is deprecated, see docs for more info.

AKSServiceAccountUserImpersonation( bind_interface=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, token=None)
745    def __init__(
746        self,
747        bind_interface=None,
748        egress_filter=None,
749        healthcheck_namespace=None,
750        healthy=None,
751        hostname=None,
752        id=None,
753        name=None,
754        port=None,
755        port_override=None,
756        proxy_cluster_id=None,
757        secret_store_id=None,
758        subdomain=None,
759        tags=None,
760        token=None,
761    ):
762        self.bind_interface = bind_interface if bind_interface is not None else ''
763        '''
764         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
765        '''
766        self.egress_filter = egress_filter if egress_filter is not None else ''
767        '''
768         A filter applied to the routing logic to pin datasource to nodes.
769        '''
770        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
771        '''
772         The path used to check the health of your connection.  Defaults to `default`.
773        '''
774        self.healthy = healthy if healthy is not None else False
775        '''
776         True if the datasource is reachable and the credentials are valid.
777        '''
778        self.hostname = hostname if hostname is not None else ''
779        '''
780         The host to dial to initiate a connection from the egress node to this resource.
781        '''
782        self.id = id if id is not None else ''
783        '''
784         Unique identifier of the Resource.
785        '''
786        self.name = name if name is not None else ''
787        '''
788         Unique human-readable name of the Resource.
789        '''
790        self.port = port if port is not None else 0
791        '''
792         The port to dial to initiate a connection from the egress node to this resource.
793        '''
794        self.port_override = port_override if port_override is not None else 0
795        '''
796         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
797        '''
798        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
799        '''
800         ID of the proxy cluster for this resource, if any.
801        '''
802        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
803        '''
804         ID of the secret store containing credentials for this resource, if any.
805        '''
806        self.subdomain = subdomain if subdomain is not None else ''
807        '''
808         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
809        '''
810        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
811        '''
812         Tags is a map of key, value pairs.
813        '''
814        self.token = token if token is not None else ''
815        '''
816         The API token to authenticate with.
817        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
837    def to_dict(self):
838        return {
839            'bind_interface': self.bind_interface,
840            'egress_filter': self.egress_filter,
841            'healthcheck_namespace': self.healthcheck_namespace,
842            'healthy': self.healthy,
843            'hostname': self.hostname,
844            'id': self.id,
845            'name': self.name,
846            'port': self.port,
847            'port_override': self.port_override,
848            'proxy_cluster_id': self.proxy_cluster_id,
849            'secret_store_id': self.secret_store_id,
850            'subdomain': self.subdomain,
851            'tags': self.tags,
852            'token': self.token,
853        }
@classmethod
def from_dict(cls, d)
855    @classmethod
856    def from_dict(cls, d):
857        return cls(
858            bind_interface=d.get('bind_interface'),
859            egress_filter=d.get('egress_filter'),
860            healthcheck_namespace=d.get('healthcheck_namespace'),
861            healthy=d.get('healthy'),
862            hostname=d.get('hostname'),
863            id=d.get('id'),
864            name=d.get('name'),
865            port=d.get('port'),
866            port_override=d.get('port_override'),
867            proxy_cluster_id=d.get('proxy_cluster_id'),
868            secret_store_id=d.get('secret_store_id'),
869            subdomain=d.get('subdomain'),
870            tags=d.get('tags'),
871            token=d.get('token'),
872        )
class AKSUserImpersonation:
 875class AKSUserImpersonation:
 876    '''
 877    AKSUserImpersonation is deprecated, see docs for more info.
 878    '''
 879    __slots__ = [
 880        'bind_interface',
 881        'certificate_authority',
 882        'client_certificate',
 883        'client_key',
 884        'egress_filter',
 885        'healthcheck_namespace',
 886        'healthy',
 887        'hostname',
 888        'id',
 889        'name',
 890        'port',
 891        'port_override',
 892        'proxy_cluster_id',
 893        'secret_store_id',
 894        'subdomain',
 895        'tags',
 896    ]
 897
 898    def __init__(
 899        self,
 900        bind_interface=None,
 901        certificate_authority=None,
 902        client_certificate=None,
 903        client_key=None,
 904        egress_filter=None,
 905        healthcheck_namespace=None,
 906        healthy=None,
 907        hostname=None,
 908        id=None,
 909        name=None,
 910        port=None,
 911        port_override=None,
 912        proxy_cluster_id=None,
 913        secret_store_id=None,
 914        subdomain=None,
 915        tags=None,
 916    ):
 917        self.bind_interface = bind_interface if bind_interface is not None else ''
 918        '''
 919         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 920        '''
 921        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 922        '''
 923         The CA to authenticate TLS connections with.
 924        '''
 925        self.client_certificate = client_certificate if client_certificate is not None else ''
 926        '''
 927         The certificate to authenticate TLS connections with.
 928        '''
 929        self.client_key = client_key if client_key is not None else ''
 930        '''
 931         The key to authenticate TLS connections with.
 932        '''
 933        self.egress_filter = egress_filter if egress_filter is not None else ''
 934        '''
 935         A filter applied to the routing logic to pin datasource to nodes.
 936        '''
 937        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 938        '''
 939         The path used to check the health of your connection.  Defaults to `default`.
 940        '''
 941        self.healthy = healthy if healthy is not None else False
 942        '''
 943         True if the datasource is reachable and the credentials are valid.
 944        '''
 945        self.hostname = hostname if hostname is not None else ''
 946        '''
 947         The host to dial to initiate a connection from the egress node to this resource.
 948        '''
 949        self.id = id if id is not None else ''
 950        '''
 951         Unique identifier of the Resource.
 952        '''
 953        self.name = name if name is not None else ''
 954        '''
 955         Unique human-readable name of the Resource.
 956        '''
 957        self.port = port if port is not None else 0
 958        '''
 959         The port to dial to initiate a connection from the egress node to this resource.
 960        '''
 961        self.port_override = port_override if port_override is not None else 0
 962        '''
 963         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 964        '''
 965        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 966        '''
 967         ID of the proxy cluster for this resource, if any.
 968        '''
 969        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 970        '''
 971         ID of the secret store containing credentials for this resource, if any.
 972        '''
 973        self.subdomain = subdomain if subdomain is not None else ''
 974        '''
 975         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 976        '''
 977        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 978        '''
 979         Tags is a map of key, value pairs.
 980        '''
 981
 982    def __repr__(self):
 983        return '<sdm.AKSUserImpersonation ' + \
 984            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 985            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 986            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 987            'client_key: ' + repr(self.client_key) + ' ' +\
 988            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 989            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 990            'healthy: ' + repr(self.healthy) + ' ' +\
 991            'hostname: ' + repr(self.hostname) + ' ' +\
 992            'id: ' + repr(self.id) + ' ' +\
 993            'name: ' + repr(self.name) + ' ' +\
 994            'port: ' + repr(self.port) + ' ' +\
 995            'port_override: ' + repr(self.port_override) + ' ' +\
 996            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 997            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 998            'subdomain: ' + repr(self.subdomain) + ' ' +\
 999            'tags: ' + repr(self.tags) + ' ' +\
1000            '>'
1001
1002    def to_dict(self):
1003        return {
1004            'bind_interface': self.bind_interface,
1005            'certificate_authority': self.certificate_authority,
1006            'client_certificate': self.client_certificate,
1007            'client_key': self.client_key,
1008            'egress_filter': self.egress_filter,
1009            'healthcheck_namespace': self.healthcheck_namespace,
1010            'healthy': self.healthy,
1011            'hostname': self.hostname,
1012            'id': self.id,
1013            'name': self.name,
1014            'port': self.port,
1015            'port_override': self.port_override,
1016            'proxy_cluster_id': self.proxy_cluster_id,
1017            'secret_store_id': self.secret_store_id,
1018            'subdomain': self.subdomain,
1019            'tags': self.tags,
1020        }
1021
1022    @classmethod
1023    def from_dict(cls, d):
1024        return cls(
1025            bind_interface=d.get('bind_interface'),
1026            certificate_authority=d.get('certificate_authority'),
1027            client_certificate=d.get('client_certificate'),
1028            client_key=d.get('client_key'),
1029            egress_filter=d.get('egress_filter'),
1030            healthcheck_namespace=d.get('healthcheck_namespace'),
1031            healthy=d.get('healthy'),
1032            hostname=d.get('hostname'),
1033            id=d.get('id'),
1034            name=d.get('name'),
1035            port=d.get('port'),
1036            port_override=d.get('port_override'),
1037            proxy_cluster_id=d.get('proxy_cluster_id'),
1038            secret_store_id=d.get('secret_store_id'),
1039            subdomain=d.get('subdomain'),
1040            tags=d.get('tags'),
1041        )

AKSUserImpersonation is deprecated, see docs for more info.

AKSUserImpersonation( bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
898    def __init__(
899        self,
900        bind_interface=None,
901        certificate_authority=None,
902        client_certificate=None,
903        client_key=None,
904        egress_filter=None,
905        healthcheck_namespace=None,
906        healthy=None,
907        hostname=None,
908        id=None,
909        name=None,
910        port=None,
911        port_override=None,
912        proxy_cluster_id=None,
913        secret_store_id=None,
914        subdomain=None,
915        tags=None,
916    ):
917        self.bind_interface = bind_interface if bind_interface is not None else ''
918        '''
919         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
920        '''
921        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
922        '''
923         The CA to authenticate TLS connections with.
924        '''
925        self.client_certificate = client_certificate if client_certificate is not None else ''
926        '''
927         The certificate to authenticate TLS connections with.
928        '''
929        self.client_key = client_key if client_key is not None else ''
930        '''
931         The key to authenticate TLS connections with.
932        '''
933        self.egress_filter = egress_filter if egress_filter is not None else ''
934        '''
935         A filter applied to the routing logic to pin datasource to nodes.
936        '''
937        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
938        '''
939         The path used to check the health of your connection.  Defaults to `default`.
940        '''
941        self.healthy = healthy if healthy is not None else False
942        '''
943         True if the datasource is reachable and the credentials are valid.
944        '''
945        self.hostname = hostname if hostname is not None else ''
946        '''
947         The host to dial to initiate a connection from the egress node to this resource.
948        '''
949        self.id = id if id is not None else ''
950        '''
951         Unique identifier of the Resource.
952        '''
953        self.name = name if name is not None else ''
954        '''
955         Unique human-readable name of the Resource.
956        '''
957        self.port = port if port is not None else 0
958        '''
959         The port to dial to initiate a connection from the egress node to this resource.
960        '''
961        self.port_override = port_override if port_override is not None else 0
962        '''
963         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
964        '''
965        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
966        '''
967         ID of the proxy cluster for this resource, if any.
968        '''
969        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
970        '''
971         ID of the secret store containing credentials for this resource, if any.
972        '''
973        self.subdomain = subdomain if subdomain is not None else ''
974        '''
975         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
976        '''
977        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
978        '''
979         Tags is a map of key, value pairs.
980        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
1002    def to_dict(self):
1003        return {
1004            'bind_interface': self.bind_interface,
1005            'certificate_authority': self.certificate_authority,
1006            'client_certificate': self.client_certificate,
1007            'client_key': self.client_key,
1008            'egress_filter': self.egress_filter,
1009            'healthcheck_namespace': self.healthcheck_namespace,
1010            'healthy': self.healthy,
1011            'hostname': self.hostname,
1012            'id': self.id,
1013            'name': self.name,
1014            'port': self.port,
1015            'port_override': self.port_override,
1016            'proxy_cluster_id': self.proxy_cluster_id,
1017            'secret_store_id': self.secret_store_id,
1018            'subdomain': self.subdomain,
1019            'tags': self.tags,
1020        }
@classmethod
def from_dict(cls, d)
1022    @classmethod
1023    def from_dict(cls, d):
1024        return cls(
1025            bind_interface=d.get('bind_interface'),
1026            certificate_authority=d.get('certificate_authority'),
1027            client_certificate=d.get('client_certificate'),
1028            client_key=d.get('client_key'),
1029            egress_filter=d.get('egress_filter'),
1030            healthcheck_namespace=d.get('healthcheck_namespace'),
1031            healthy=d.get('healthy'),
1032            hostname=d.get('hostname'),
1033            id=d.get('id'),
1034            name=d.get('name'),
1035            port=d.get('port'),
1036            port_override=d.get('port_override'),
1037            proxy_cluster_id=d.get('proxy_cluster_id'),
1038            secret_store_id=d.get('secret_store_id'),
1039            subdomain=d.get('subdomain'),
1040            tags=d.get('tags'),
1041        )
class AMQP:
1044class AMQP:
1045    __slots__ = [
1046        'bind_interface',
1047        'egress_filter',
1048        'healthy',
1049        'hostname',
1050        'id',
1051        'name',
1052        'password',
1053        'port',
1054        'port_override',
1055        'proxy_cluster_id',
1056        'secret_store_id',
1057        'subdomain',
1058        'tags',
1059        'tls_required',
1060        'username',
1061    ]
1062
1063    def __init__(
1064        self,
1065        bind_interface=None,
1066        egress_filter=None,
1067        healthy=None,
1068        hostname=None,
1069        id=None,
1070        name=None,
1071        password=None,
1072        port=None,
1073        port_override=None,
1074        proxy_cluster_id=None,
1075        secret_store_id=None,
1076        subdomain=None,
1077        tags=None,
1078        tls_required=None,
1079        username=None,
1080    ):
1081        self.bind_interface = bind_interface if bind_interface is not None else ''
1082        '''
1083         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1084        '''
1085        self.egress_filter = egress_filter if egress_filter is not None else ''
1086        '''
1087         A filter applied to the routing logic to pin datasource to nodes.
1088        '''
1089        self.healthy = healthy if healthy is not None else False
1090        '''
1091         True if the datasource is reachable and the credentials are valid.
1092        '''
1093        self.hostname = hostname if hostname is not None else ''
1094        '''
1095         The host to dial to initiate a connection from the egress node to this resource.
1096        '''
1097        self.id = id if id is not None else ''
1098        '''
1099         Unique identifier of the Resource.
1100        '''
1101        self.name = name if name is not None else ''
1102        '''
1103         Unique human-readable name of the Resource.
1104        '''
1105        self.password = password if password is not None else ''
1106        '''
1107         The password to authenticate with.
1108        '''
1109        self.port = port if port is not None else 0
1110        '''
1111         The port to dial to initiate a connection from the egress node to this resource.
1112        '''
1113        self.port_override = port_override if port_override is not None else 0
1114        '''
1115         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1116        '''
1117        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1118        '''
1119         ID of the proxy cluster for this resource, if any.
1120        '''
1121        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1122        '''
1123         ID of the secret store containing credentials for this resource, if any.
1124        '''
1125        self.subdomain = subdomain if subdomain is not None else ''
1126        '''
1127         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1128        '''
1129        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1130        '''
1131         Tags is a map of key, value pairs.
1132        '''
1133        self.tls_required = tls_required if tls_required is not None else False
1134        '''
1135         If set, TLS must be used to connect to this resource.
1136        '''
1137        self.username = username if username is not None else ''
1138        '''
1139         The username to authenticate with.
1140        '''
1141
1142    def __repr__(self):
1143        return '<sdm.AMQP ' + \
1144            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1145            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1146            'healthy: ' + repr(self.healthy) + ' ' +\
1147            'hostname: ' + repr(self.hostname) + ' ' +\
1148            'id: ' + repr(self.id) + ' ' +\
1149            'name: ' + repr(self.name) + ' ' +\
1150            'password: ' + repr(self.password) + ' ' +\
1151            'port: ' + repr(self.port) + ' ' +\
1152            'port_override: ' + repr(self.port_override) + ' ' +\
1153            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1154            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1155            'subdomain: ' + repr(self.subdomain) + ' ' +\
1156            'tags: ' + repr(self.tags) + ' ' +\
1157            'tls_required: ' + repr(self.tls_required) + ' ' +\
1158            'username: ' + repr(self.username) + ' ' +\
1159            '>'
1160
1161    def to_dict(self):
1162        return {
1163            'bind_interface': self.bind_interface,
1164            'egress_filter': self.egress_filter,
1165            'healthy': self.healthy,
1166            'hostname': self.hostname,
1167            'id': self.id,
1168            'name': self.name,
1169            'password': self.password,
1170            'port': self.port,
1171            'port_override': self.port_override,
1172            'proxy_cluster_id': self.proxy_cluster_id,
1173            'secret_store_id': self.secret_store_id,
1174            'subdomain': self.subdomain,
1175            'tags': self.tags,
1176            'tls_required': self.tls_required,
1177            'username': self.username,
1178        }
1179
1180    @classmethod
1181    def from_dict(cls, d):
1182        return cls(
1183            bind_interface=d.get('bind_interface'),
1184            egress_filter=d.get('egress_filter'),
1185            healthy=d.get('healthy'),
1186            hostname=d.get('hostname'),
1187            id=d.get('id'),
1188            name=d.get('name'),
1189            password=d.get('password'),
1190            port=d.get('port'),
1191            port_override=d.get('port_override'),
1192            proxy_cluster_id=d.get('proxy_cluster_id'),
1193            secret_store_id=d.get('secret_store_id'),
1194            subdomain=d.get('subdomain'),
1195            tags=d.get('tags'),
1196            tls_required=d.get('tls_required'),
1197            username=d.get('username'),
1198        )
AMQP( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
1063    def __init__(
1064        self,
1065        bind_interface=None,
1066        egress_filter=None,
1067        healthy=None,
1068        hostname=None,
1069        id=None,
1070        name=None,
1071        password=None,
1072        port=None,
1073        port_override=None,
1074        proxy_cluster_id=None,
1075        secret_store_id=None,
1076        subdomain=None,
1077        tags=None,
1078        tls_required=None,
1079        username=None,
1080    ):
1081        self.bind_interface = bind_interface if bind_interface is not None else ''
1082        '''
1083         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1084        '''
1085        self.egress_filter = egress_filter if egress_filter is not None else ''
1086        '''
1087         A filter applied to the routing logic to pin datasource to nodes.
1088        '''
1089        self.healthy = healthy if healthy is not None else False
1090        '''
1091         True if the datasource is reachable and the credentials are valid.
1092        '''
1093        self.hostname = hostname if hostname is not None else ''
1094        '''
1095         The host to dial to initiate a connection from the egress node to this resource.
1096        '''
1097        self.id = id if id is not None else ''
1098        '''
1099         Unique identifier of the Resource.
1100        '''
1101        self.name = name if name is not None else ''
1102        '''
1103         Unique human-readable name of the Resource.
1104        '''
1105        self.password = password if password is not None else ''
1106        '''
1107         The password to authenticate with.
1108        '''
1109        self.port = port if port is not None else 0
1110        '''
1111         The port to dial to initiate a connection from the egress node to this resource.
1112        '''
1113        self.port_override = port_override if port_override is not None else 0
1114        '''
1115         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1116        '''
1117        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1118        '''
1119         ID of the proxy cluster for this resource, if any.
1120        '''
1121        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1122        '''
1123         ID of the secret store containing credentials for this resource, if any.
1124        '''
1125        self.subdomain = subdomain if subdomain is not None else ''
1126        '''
1127         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1128        '''
1129        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1130        '''
1131         Tags is a map of key, value pairs.
1132        '''
1133        self.tls_required = tls_required if tls_required is not None else False
1134        '''
1135         If set, TLS must be used to connect to this resource.
1136        '''
1137        self.username = username if username is not None else ''
1138        '''
1139         The username to authenticate with.
1140        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
1161    def to_dict(self):
1162        return {
1163            'bind_interface': self.bind_interface,
1164            'egress_filter': self.egress_filter,
1165            'healthy': self.healthy,
1166            'hostname': self.hostname,
1167            'id': self.id,
1168            'name': self.name,
1169            'password': self.password,
1170            'port': self.port,
1171            'port_override': self.port_override,
1172            'proxy_cluster_id': self.proxy_cluster_id,
1173            'secret_store_id': self.secret_store_id,
1174            'subdomain': self.subdomain,
1175            'tags': self.tags,
1176            'tls_required': self.tls_required,
1177            'username': self.username,
1178        }
@classmethod
def from_dict(cls, d)
1180    @classmethod
1181    def from_dict(cls, d):
1182        return cls(
1183            bind_interface=d.get('bind_interface'),
1184            egress_filter=d.get('egress_filter'),
1185            healthy=d.get('healthy'),
1186            hostname=d.get('hostname'),
1187            id=d.get('id'),
1188            name=d.get('name'),
1189            password=d.get('password'),
1190            port=d.get('port'),
1191            port_override=d.get('port_override'),
1192            proxy_cluster_id=d.get('proxy_cluster_id'),
1193            secret_store_id=d.get('secret_store_id'),
1194            subdomain=d.get('subdomain'),
1195            tags=d.get('tags'),
1196            tls_required=d.get('tls_required'),
1197            username=d.get('username'),
1198        )
class AWS:
1201class AWS:
1202    __slots__ = [
1203        'access_key',
1204        'bind_interface',
1205        'egress_filter',
1206        'healthcheck_region',
1207        'healthy',
1208        'id',
1209        'name',
1210        'port_override',
1211        'proxy_cluster_id',
1212        'role_arn',
1213        'role_external_id',
1214        'secret_access_key',
1215        'secret_store_id',
1216        'subdomain',
1217        'tags',
1218    ]
1219
1220    def __init__(
1221        self,
1222        access_key=None,
1223        bind_interface=None,
1224        egress_filter=None,
1225        healthcheck_region=None,
1226        healthy=None,
1227        id=None,
1228        name=None,
1229        port_override=None,
1230        proxy_cluster_id=None,
1231        role_arn=None,
1232        role_external_id=None,
1233        secret_access_key=None,
1234        secret_store_id=None,
1235        subdomain=None,
1236        tags=None,
1237    ):
1238        self.access_key = access_key if access_key is not None else ''
1239        '''
1240         The Access Key ID to use to authenticate.
1241        '''
1242        self.bind_interface = bind_interface if bind_interface is not None else ''
1243        '''
1244         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1245        '''
1246        self.egress_filter = egress_filter if egress_filter is not None else ''
1247        '''
1248         A filter applied to the routing logic to pin datasource to nodes.
1249        '''
1250        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
1251        '''
1252         The AWS region healthcheck requests should attempt to connect to.
1253        '''
1254        self.healthy = healthy if healthy is not None else False
1255        '''
1256         True if the datasource is reachable and the credentials are valid.
1257        '''
1258        self.id = id if id is not None else ''
1259        '''
1260         Unique identifier of the Resource.
1261        '''
1262        self.name = name if name is not None else ''
1263        '''
1264         Unique human-readable name of the Resource.
1265        '''
1266        self.port_override = port_override if port_override is not None else 0
1267        '''
1268         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1269        '''
1270        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1271        '''
1272         ID of the proxy cluster for this resource, if any.
1273        '''
1274        self.role_arn = role_arn if role_arn is not None else ''
1275        '''
1276         The role to assume after logging in.
1277        '''
1278        self.role_external_id = role_external_id if role_external_id is not None else ''
1279        '''
1280         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1281        '''
1282        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1283        '''
1284         The Secret Access Key to use to authenticate.
1285        '''
1286        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1287        '''
1288         ID of the secret store containing credentials for this resource, if any.
1289        '''
1290        self.subdomain = subdomain if subdomain is not None else ''
1291        '''
1292         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1293        '''
1294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1295        '''
1296         Tags is a map of key, value pairs.
1297        '''
1298
1299    def __repr__(self):
1300        return '<sdm.AWS ' + \
1301            'access_key: ' + repr(self.access_key) + ' ' +\
1302            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1303            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1304            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
1305            'healthy: ' + repr(self.healthy) + ' ' +\
1306            'id: ' + repr(self.id) + ' ' +\
1307            'name: ' + repr(self.name) + ' ' +\
1308            'port_override: ' + repr(self.port_override) + ' ' +\
1309            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1310            'role_arn: ' + repr(self.role_arn) + ' ' +\
1311            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1312            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
1313            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1314            'subdomain: ' + repr(self.subdomain) + ' ' +\
1315            'tags: ' + repr(self.tags) + ' ' +\
1316            '>'
1317
1318    def to_dict(self):
1319        return {
1320            'access_key': self.access_key,
1321            'bind_interface': self.bind_interface,
1322            'egress_filter': self.egress_filter,
1323            'healthcheck_region': self.healthcheck_region,
1324            'healthy': self.healthy,
1325            'id': self.id,
1326            'name': self.name,
1327            'port_override': self.port_override,
1328            'proxy_cluster_id': self.proxy_cluster_id,
1329            'role_arn': self.role_arn,
1330            'role_external_id': self.role_external_id,
1331            'secret_access_key': self.secret_access_key,
1332            'secret_store_id': self.secret_store_id,
1333            'subdomain': self.subdomain,
1334            'tags': self.tags,
1335        }
1336
1337    @classmethod
1338    def from_dict(cls, d):
1339        return cls(
1340            access_key=d.get('access_key'),
1341            bind_interface=d.get('bind_interface'),
1342            egress_filter=d.get('egress_filter'),
1343            healthcheck_region=d.get('healthcheck_region'),
1344            healthy=d.get('healthy'),
1345            id=d.get('id'),
1346            name=d.get('name'),
1347            port_override=d.get('port_override'),
1348            proxy_cluster_id=d.get('proxy_cluster_id'),
1349            role_arn=d.get('role_arn'),
1350            role_external_id=d.get('role_external_id'),
1351            secret_access_key=d.get('secret_access_key'),
1352            secret_store_id=d.get('secret_store_id'),
1353            subdomain=d.get('subdomain'),
1354            tags=d.get('tags'),
1355        )
AWS( access_key=None, bind_interface=None, egress_filter=None, healthcheck_region=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
1220    def __init__(
1221        self,
1222        access_key=None,
1223        bind_interface=None,
1224        egress_filter=None,
1225        healthcheck_region=None,
1226        healthy=None,
1227        id=None,
1228        name=None,
1229        port_override=None,
1230        proxy_cluster_id=None,
1231        role_arn=None,
1232        role_external_id=None,
1233        secret_access_key=None,
1234        secret_store_id=None,
1235        subdomain=None,
1236        tags=None,
1237    ):
1238        self.access_key = access_key if access_key is not None else ''
1239        '''
1240         The Access Key ID to use to authenticate.
1241        '''
1242        self.bind_interface = bind_interface if bind_interface is not None else ''
1243        '''
1244         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1245        '''
1246        self.egress_filter = egress_filter if egress_filter is not None else ''
1247        '''
1248         A filter applied to the routing logic to pin datasource to nodes.
1249        '''
1250        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
1251        '''
1252         The AWS region healthcheck requests should attempt to connect to.
1253        '''
1254        self.healthy = healthy if healthy is not None else False
1255        '''
1256         True if the datasource is reachable and the credentials are valid.
1257        '''
1258        self.id = id if id is not None else ''
1259        '''
1260         Unique identifier of the Resource.
1261        '''
1262        self.name = name if name is not None else ''
1263        '''
1264         Unique human-readable name of the Resource.
1265        '''
1266        self.port_override = port_override if port_override is not None else 0
1267        '''
1268         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1269        '''
1270        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1271        '''
1272         ID of the proxy cluster for this resource, if any.
1273        '''
1274        self.role_arn = role_arn if role_arn is not None else ''
1275        '''
1276         The role to assume after logging in.
1277        '''
1278        self.role_external_id = role_external_id if role_external_id is not None else ''
1279        '''
1280         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1281        '''
1282        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1283        '''
1284         The Secret Access Key to use to authenticate.
1285        '''
1286        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1287        '''
1288         ID of the secret store containing credentials for this resource, if any.
1289        '''
1290        self.subdomain = subdomain if subdomain is not None else ''
1291        '''
1292         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1293        '''
1294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1295        '''
1296         Tags is a map of key, value pairs.
1297        '''
access_key

The Access Key ID to use to authenticate.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_region

The AWS region healthcheck requests should attempt to connect to.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
1318    def to_dict(self):
1319        return {
1320            'access_key': self.access_key,
1321            'bind_interface': self.bind_interface,
1322            'egress_filter': self.egress_filter,
1323            'healthcheck_region': self.healthcheck_region,
1324            'healthy': self.healthy,
1325            'id': self.id,
1326            'name': self.name,
1327            'port_override': self.port_override,
1328            'proxy_cluster_id': self.proxy_cluster_id,
1329            'role_arn': self.role_arn,
1330            'role_external_id': self.role_external_id,
1331            'secret_access_key': self.secret_access_key,
1332            'secret_store_id': self.secret_store_id,
1333            'subdomain': self.subdomain,
1334            'tags': self.tags,
1335        }
@classmethod
def from_dict(cls, d)
1337    @classmethod
1338    def from_dict(cls, d):
1339        return cls(
1340            access_key=d.get('access_key'),
1341            bind_interface=d.get('bind_interface'),
1342            egress_filter=d.get('egress_filter'),
1343            healthcheck_region=d.get('healthcheck_region'),
1344            healthy=d.get('healthy'),
1345            id=d.get('id'),
1346            name=d.get('name'),
1347            port_override=d.get('port_override'),
1348            proxy_cluster_id=d.get('proxy_cluster_id'),
1349            role_arn=d.get('role_arn'),
1350            role_external_id=d.get('role_external_id'),
1351            secret_access_key=d.get('secret_access_key'),
1352            secret_store_id=d.get('secret_store_id'),
1353            subdomain=d.get('subdomain'),
1354            tags=d.get('tags'),
1355        )
class AWSCertX509Store:
1358class AWSCertX509Store:
1359    __slots__ = [
1360        'caarn',
1361        'certificatetemplatearn',
1362        'id',
1363        'issuedcertttlminutes',
1364        'name',
1365        'region',
1366        'signingalgo',
1367        'tags',
1368    ]
1369
1370    def __init__(
1371        self,
1372        caarn=None,
1373        certificatetemplatearn=None,
1374        id=None,
1375        issuedcertttlminutes=None,
1376        name=None,
1377        region=None,
1378        signingalgo=None,
1379        tags=None,
1380    ):
1381        self.caarn = caarn if caarn is not None else ''
1382        '''
1383         The ARN of the CA in AWS Private CA
1384        '''
1385        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1386        '''
1387         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1388        '''
1389        self.id = id if id is not None else ''
1390        '''
1391         Unique identifier of the SecretStore.
1392        '''
1393        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1394        '''
1395         The lifetime of certificates issued by this CA represented in minutes.
1396        '''
1397        self.name = name if name is not None else ''
1398        '''
1399         Unique human-readable name of the SecretStore.
1400        '''
1401        self.region = region if region is not None else ''
1402        '''
1403         The AWS region to target e.g. us-east-1
1404        '''
1405        self.signingalgo = signingalgo if signingalgo is not None else ''
1406        '''
1407         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1408        '''
1409        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1410        '''
1411         Tags is a map of key, value pairs.
1412        '''
1413
1414    def __repr__(self):
1415        return '<sdm.AWSCertX509Store ' + \
1416            'caarn: ' + repr(self.caarn) + ' ' +\
1417            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
1418            'id: ' + repr(self.id) + ' ' +\
1419            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
1420            'name: ' + repr(self.name) + ' ' +\
1421            'region: ' + repr(self.region) + ' ' +\
1422            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
1423            'tags: ' + repr(self.tags) + ' ' +\
1424            '>'
1425
1426    def to_dict(self):
1427        return {
1428            'caarn': self.caarn,
1429            'certificatetemplatearn': self.certificatetemplatearn,
1430            'id': self.id,
1431            'issuedcertttlminutes': self.issuedcertttlminutes,
1432            'name': self.name,
1433            'region': self.region,
1434            'signingalgo': self.signingalgo,
1435            'tags': self.tags,
1436        }
1437
1438    @classmethod
1439    def from_dict(cls, d):
1440        return cls(
1441            caarn=d.get('caarn'),
1442            certificatetemplatearn=d.get('certificatetemplatearn'),
1443            id=d.get('id'),
1444            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1445            name=d.get('name'),
1446            region=d.get('region'),
1447            signingalgo=d.get('signingalgo'),
1448            tags=d.get('tags'),
1449        )
AWSCertX509Store( caarn=None, certificatetemplatearn=None, id=None, issuedcertttlminutes=None, name=None, region=None, signingalgo=None, tags=None)
1370    def __init__(
1371        self,
1372        caarn=None,
1373        certificatetemplatearn=None,
1374        id=None,
1375        issuedcertttlminutes=None,
1376        name=None,
1377        region=None,
1378        signingalgo=None,
1379        tags=None,
1380    ):
1381        self.caarn = caarn if caarn is not None else ''
1382        '''
1383         The ARN of the CA in AWS Private CA
1384        '''
1385        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1386        '''
1387         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1388        '''
1389        self.id = id if id is not None else ''
1390        '''
1391         Unique identifier of the SecretStore.
1392        '''
1393        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1394        '''
1395         The lifetime of certificates issued by this CA represented in minutes.
1396        '''
1397        self.name = name if name is not None else ''
1398        '''
1399         Unique human-readable name of the SecretStore.
1400        '''
1401        self.region = region if region is not None else ''
1402        '''
1403         The AWS region to target e.g. us-east-1
1404        '''
1405        self.signingalgo = signingalgo if signingalgo is not None else ''
1406        '''
1407         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1408        '''
1409        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1410        '''
1411         Tags is a map of key, value pairs.
1412        '''
caarn

The ARN of the CA in AWS Private CA

certificatetemplatearn

The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR

id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

region

The AWS region to target e.g. us-east-1

signingalgo

The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA

tags

Tags is a map of key, value pairs.

def to_dict(self)
1426    def to_dict(self):
1427        return {
1428            'caarn': self.caarn,
1429            'certificatetemplatearn': self.certificatetemplatearn,
1430            'id': self.id,
1431            'issuedcertttlminutes': self.issuedcertttlminutes,
1432            'name': self.name,
1433            'region': self.region,
1434            'signingalgo': self.signingalgo,
1435            'tags': self.tags,
1436        }
@classmethod
def from_dict(cls, d)
1438    @classmethod
1439    def from_dict(cls, d):
1440        return cls(
1441            caarn=d.get('caarn'),
1442            certificatetemplatearn=d.get('certificatetemplatearn'),
1443            id=d.get('id'),
1444            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1445            name=d.get('name'),
1446            region=d.get('region'),
1447            signingalgo=d.get('signingalgo'),
1448            tags=d.get('tags'),
1449        )
class AWSConnector:
1452class AWSConnector:
1453    __slots__ = [
1454        'account_ids',
1455        'description',
1456        'exclude_tags',
1457        'id',
1458        'include_tags',
1459        'name',
1460        'role_name',
1461        'scan_period',
1462        'services',
1463    ]
1464
1465    def __init__(
1466        self,
1467        account_ids=None,
1468        description=None,
1469        exclude_tags=None,
1470        id=None,
1471        include_tags=None,
1472        name=None,
1473        role_name=None,
1474        scan_period=None,
1475        services=None,
1476    ):
1477        self.account_ids = account_ids if account_ids is not None else []
1478        '''
1479         AccountIds is the list of AWS Accounts to scan
1480        '''
1481        self.description = description if description is not None else ''
1482        '''
1483         Description of the Connector.
1484        '''
1485        self.exclude_tags = exclude_tags if exclude_tags is not None else []
1486        '''
1487         ExcludeTags filters out discovered resources that have the tag and value.
1488         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
1489        '''
1490        self.id = id if id is not None else ''
1491        '''
1492         Unique identifier of the Connector.
1493        '''
1494        self.include_tags = include_tags if include_tags is not None else []
1495        '''
1496         IncludeTags only discovers cloud resources that have one of the included tags.
1497         We do not allow duplicate tag names for IncludeTags
1498        '''
1499        self.name = name if name is not None else ''
1500        '''
1501         Unique human-readable name of the Connector.
1502        '''
1503        self.role_name = role_name if role_name is not None else ''
1504        '''
1505         RoleName is the Role we're assuming into for an account
1506        '''
1507        self.scan_period = scan_period if scan_period is not None else ''
1508        '''
1509         ScanPeriod identifies which remote system this Connector discovers
1510        '''
1511        self.services = services if services is not None else []
1512        '''
1513         Services is a list of services this connector should scan.
1514        '''
1515
1516    def __repr__(self):
1517        return '<sdm.AWSConnector ' + \
1518            'account_ids: ' + repr(self.account_ids) + ' ' +\
1519            'description: ' + repr(self.description) + ' ' +\
1520            'exclude_tags: ' + repr(self.exclude_tags) + ' ' +\
1521            'id: ' + repr(self.id) + ' ' +\
1522            'include_tags: ' + repr(self.include_tags) + ' ' +\
1523            'name: ' + repr(self.name) + ' ' +\
1524            'role_name: ' + repr(self.role_name) + ' ' +\
1525            'scan_period: ' + repr(self.scan_period) + ' ' +\
1526            'services: ' + repr(self.services) + ' ' +\
1527            '>'
1528
1529    def to_dict(self):
1530        return {
1531            'account_ids': self.account_ids,
1532            'description': self.description,
1533            'exclude_tags': self.exclude_tags,
1534            'id': self.id,
1535            'include_tags': self.include_tags,
1536            'name': self.name,
1537            'role_name': self.role_name,
1538            'scan_period': self.scan_period,
1539            'services': self.services,
1540        }
1541
1542    @classmethod
1543    def from_dict(cls, d):
1544        return cls(
1545            account_ids=d.get('account_ids'),
1546            description=d.get('description'),
1547            exclude_tags=d.get('exclude_tags'),
1548            id=d.get('id'),
1549            include_tags=d.get('include_tags'),
1550            name=d.get('name'),
1551            role_name=d.get('role_name'),
1552            scan_period=d.get('scan_period'),
1553            services=d.get('services'),
1554        )
AWSConnector( account_ids=None, description=None, exclude_tags=None, id=None, include_tags=None, name=None, role_name=None, scan_period=None, services=None)
1465    def __init__(
1466        self,
1467        account_ids=None,
1468        description=None,
1469        exclude_tags=None,
1470        id=None,
1471        include_tags=None,
1472        name=None,
1473        role_name=None,
1474        scan_period=None,
1475        services=None,
1476    ):
1477        self.account_ids = account_ids if account_ids is not None else []
1478        '''
1479         AccountIds is the list of AWS Accounts to scan
1480        '''
1481        self.description = description if description is not None else ''
1482        '''
1483         Description of the Connector.
1484        '''
1485        self.exclude_tags = exclude_tags if exclude_tags is not None else []
1486        '''
1487         ExcludeTags filters out discovered resources that have the tag and value.
1488         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
1489        '''
1490        self.id = id if id is not None else ''
1491        '''
1492         Unique identifier of the Connector.
1493        '''
1494        self.include_tags = include_tags if include_tags is not None else []
1495        '''
1496         IncludeTags only discovers cloud resources that have one of the included tags.
1497         We do not allow duplicate tag names for IncludeTags
1498        '''
1499        self.name = name if name is not None else ''
1500        '''
1501         Unique human-readable name of the Connector.
1502        '''
1503        self.role_name = role_name if role_name is not None else ''
1504        '''
1505         RoleName is the Role we're assuming into for an account
1506        '''
1507        self.scan_period = scan_period if scan_period is not None else ''
1508        '''
1509         ScanPeriod identifies which remote system this Connector discovers
1510        '''
1511        self.services = services if services is not None else []
1512        '''
1513         Services is a list of services this connector should scan.
1514        '''
account_ids

AccountIds is the list of AWS Accounts to scan

description

Description of the Connector.

exclude_tags

ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.

id

Unique identifier of the Connector.

include_tags

IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags

name

Unique human-readable name of the Connector.

role_name

RoleName is the Role we're assuming into for an account

scan_period

ScanPeriod identifies which remote system this Connector discovers

services

Services is a list of services this connector should scan.

def to_dict(self)
1529    def to_dict(self):
1530        return {
1531            'account_ids': self.account_ids,
1532            'description': self.description,
1533            'exclude_tags': self.exclude_tags,
1534            'id': self.id,
1535            'include_tags': self.include_tags,
1536            'name': self.name,
1537            'role_name': self.role_name,
1538            'scan_period': self.scan_period,
1539            'services': self.services,
1540        }
@classmethod
def from_dict(cls, d)
1542    @classmethod
1543    def from_dict(cls, d):
1544        return cls(
1545            account_ids=d.get('account_ids'),
1546            description=d.get('description'),
1547            exclude_tags=d.get('exclude_tags'),
1548            id=d.get('id'),
1549            include_tags=d.get('include_tags'),
1550            name=d.get('name'),
1551            role_name=d.get('role_name'),
1552            scan_period=d.get('scan_period'),
1553            services=d.get('services'),
1554        )
class AWSConsole:
1557class AWSConsole:
1558    __slots__ = [
1559        'bind_interface',
1560        'egress_filter',
1561        'enable_env_variables',
1562        'healthy',
1563        'id',
1564        'identity_alias_healthcheck_username',
1565        'identity_set_id',
1566        'name',
1567        'port_override',
1568        'proxy_cluster_id',
1569        'region',
1570        'role_arn',
1571        'role_external_id',
1572        'secret_store_id',
1573        'session_expiry',
1574        'subdomain',
1575        'tags',
1576        'use_https',
1577    ]
1578
1579    def __init__(
1580        self,
1581        bind_interface=None,
1582        egress_filter=None,
1583        enable_env_variables=None,
1584        healthy=None,
1585        id=None,
1586        identity_alias_healthcheck_username=None,
1587        identity_set_id=None,
1588        name=None,
1589        port_override=None,
1590        proxy_cluster_id=None,
1591        region=None,
1592        role_arn=None,
1593        role_external_id=None,
1594        secret_store_id=None,
1595        session_expiry=None,
1596        subdomain=None,
1597        tags=None,
1598        use_https=None,
1599    ):
1600        self.bind_interface = bind_interface if bind_interface is not None else ''
1601        '''
1602         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1603        '''
1604        self.egress_filter = egress_filter if egress_filter is not None else ''
1605        '''
1606         A filter applied to the routing logic to pin datasource to nodes.
1607        '''
1608        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1609        '''
1610         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1611        '''
1612        self.healthy = healthy if healthy is not None else False
1613        '''
1614         True if the datasource is reachable and the credentials are valid.
1615        '''
1616        self.id = id if id is not None else ''
1617        '''
1618         Unique identifier of the Resource.
1619        '''
1620        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1621        '''
1622         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1623        '''
1624        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1625        '''
1626         The ID of the identity set to use for identity connections.
1627        '''
1628        self.name = name if name is not None else ''
1629        '''
1630         Unique human-readable name of the Resource.
1631        '''
1632        self.port_override = port_override if port_override is not None else 0
1633        '''
1634         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1635        '''
1636        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1637        '''
1638         ID of the proxy cluster for this resource, if any.
1639        '''
1640        self.region = region if region is not None else ''
1641        '''
1642         The AWS region to connect to.
1643        '''
1644        self.role_arn = role_arn if role_arn is not None else ''
1645        '''
1646         The role to assume after logging in.
1647        '''
1648        self.role_external_id = role_external_id if role_external_id is not None else ''
1649        '''
1650         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1651        '''
1652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1653        '''
1654         ID of the secret store containing credentials for this resource, if any.
1655        '''
1656        self.session_expiry = session_expiry if session_expiry is not None else 0
1657        '''
1658         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1659        '''
1660        self.subdomain = subdomain if subdomain is not None else ''
1661        '''
1662         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1663        '''
1664        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1665        '''
1666         Tags is a map of key, value pairs.
1667        '''
1668        self.use_https = use_https if use_https is not None else False
1669        '''
1670         This option enforces HTTPS on the client, not resource connection.
1671        '''
1672
1673    def __repr__(self):
1674        return '<sdm.AWSConsole ' + \
1675            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1676            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1677            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1678            'healthy: ' + repr(self.healthy) + ' ' +\
1679            'id: ' + repr(self.id) + ' ' +\
1680            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1681            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1682            'name: ' + repr(self.name) + ' ' +\
1683            'port_override: ' + repr(self.port_override) + ' ' +\
1684            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1685            'region: ' + repr(self.region) + ' ' +\
1686            'role_arn: ' + repr(self.role_arn) + ' ' +\
1687            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1688            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1689            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1690            'subdomain: ' + repr(self.subdomain) + ' ' +\
1691            'tags: ' + repr(self.tags) + ' ' +\
1692            'use_https: ' + repr(self.use_https) + ' ' +\
1693            '>'
1694
1695    def to_dict(self):
1696        return {
1697            'bind_interface': self.bind_interface,
1698            'egress_filter': self.egress_filter,
1699            'enable_env_variables': self.enable_env_variables,
1700            'healthy': self.healthy,
1701            'id': self.id,
1702            'identity_alias_healthcheck_username':
1703            self.identity_alias_healthcheck_username,
1704            'identity_set_id': self.identity_set_id,
1705            'name': self.name,
1706            'port_override': self.port_override,
1707            'proxy_cluster_id': self.proxy_cluster_id,
1708            'region': self.region,
1709            'role_arn': self.role_arn,
1710            'role_external_id': self.role_external_id,
1711            'secret_store_id': self.secret_store_id,
1712            'session_expiry': self.session_expiry,
1713            'subdomain': self.subdomain,
1714            'tags': self.tags,
1715            'use_https': self.use_https,
1716        }
1717
1718    @classmethod
1719    def from_dict(cls, d):
1720        return cls(
1721            bind_interface=d.get('bind_interface'),
1722            egress_filter=d.get('egress_filter'),
1723            enable_env_variables=d.get('enable_env_variables'),
1724            healthy=d.get('healthy'),
1725            id=d.get('id'),
1726            identity_alias_healthcheck_username=d.get(
1727                'identity_alias_healthcheck_username'),
1728            identity_set_id=d.get('identity_set_id'),
1729            name=d.get('name'),
1730            port_override=d.get('port_override'),
1731            proxy_cluster_id=d.get('proxy_cluster_id'),
1732            region=d.get('region'),
1733            role_arn=d.get('role_arn'),
1734            role_external_id=d.get('role_external_id'),
1735            secret_store_id=d.get('secret_store_id'),
1736            session_expiry=d.get('session_expiry'),
1737            subdomain=d.get('subdomain'),
1738            tags=d.get('tags'),
1739            use_https=d.get('use_https'),
1740        )
AWSConsole( bind_interface=None, egress_filter=None, enable_env_variables=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, session_expiry=None, subdomain=None, tags=None, use_https=None)
1579    def __init__(
1580        self,
1581        bind_interface=None,
1582        egress_filter=None,
1583        enable_env_variables=None,
1584        healthy=None,
1585        id=None,
1586        identity_alias_healthcheck_username=None,
1587        identity_set_id=None,
1588        name=None,
1589        port_override=None,
1590        proxy_cluster_id=None,
1591        region=None,
1592        role_arn=None,
1593        role_external_id=None,
1594        secret_store_id=None,
1595        session_expiry=None,
1596        subdomain=None,
1597        tags=None,
1598        use_https=None,
1599    ):
1600        self.bind_interface = bind_interface if bind_interface is not None else ''
1601        '''
1602         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1603        '''
1604        self.egress_filter = egress_filter if egress_filter is not None else ''
1605        '''
1606         A filter applied to the routing logic to pin datasource to nodes.
1607        '''
1608        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1609        '''
1610         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1611        '''
1612        self.healthy = healthy if healthy is not None else False
1613        '''
1614         True if the datasource is reachable and the credentials are valid.
1615        '''
1616        self.id = id if id is not None else ''
1617        '''
1618         Unique identifier of the Resource.
1619        '''
1620        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1621        '''
1622         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1623        '''
1624        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1625        '''
1626         The ID of the identity set to use for identity connections.
1627        '''
1628        self.name = name if name is not None else ''
1629        '''
1630         Unique human-readable name of the Resource.
1631        '''
1632        self.port_override = port_override if port_override is not None else 0
1633        '''
1634         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1635        '''
1636        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1637        '''
1638         ID of the proxy cluster for this resource, if any.
1639        '''
1640        self.region = region if region is not None else ''
1641        '''
1642         The AWS region to connect to.
1643        '''
1644        self.role_arn = role_arn if role_arn is not None else ''
1645        '''
1646         The role to assume after logging in.
1647        '''
1648        self.role_external_id = role_external_id if role_external_id is not None else ''
1649        '''
1650         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1651        '''
1652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1653        '''
1654         ID of the secret store containing credentials for this resource, if any.
1655        '''
1656        self.session_expiry = session_expiry if session_expiry is not None else 0
1657        '''
1658         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1659        '''
1660        self.subdomain = subdomain if subdomain is not None else ''
1661        '''
1662         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1663        '''
1664        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1665        '''
1666         Tags is a map of key, value pairs.
1667        '''
1668        self.use_https = use_https if use_https is not None else False
1669        '''
1670         This option enforces HTTPS on the client, not resource connection.
1671        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

enable_env_variables

If true, prefer environment variables to authenticate connection even if EC2 roles are configured.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

session_expiry

The length of time in seconds AWS console sessions will live before needing to reauthenticate.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

use_https

This option enforces HTTPS on the client, not resource connection.

def to_dict(self)
1695    def to_dict(self):
1696        return {
1697            'bind_interface': self.bind_interface,
1698            'egress_filter': self.egress_filter,
1699            'enable_env_variables': self.enable_env_variables,
1700            'healthy': self.healthy,
1701            'id': self.id,
1702            'identity_alias_healthcheck_username':
1703            self.identity_alias_healthcheck_username,
1704            'identity_set_id': self.identity_set_id,
1705            'name': self.name,
1706            'port_override': self.port_override,
1707            'proxy_cluster_id': self.proxy_cluster_id,
1708            'region': self.region,
1709            'role_arn': self.role_arn,
1710            'role_external_id': self.role_external_id,
1711            'secret_store_id': self.secret_store_id,
1712            'session_expiry': self.session_expiry,
1713            'subdomain': self.subdomain,
1714            'tags': self.tags,
1715            'use_https': self.use_https,
1716        }
@classmethod
def from_dict(cls, d)
1718    @classmethod
1719    def from_dict(cls, d):
1720        return cls(
1721            bind_interface=d.get('bind_interface'),
1722            egress_filter=d.get('egress_filter'),
1723            enable_env_variables=d.get('enable_env_variables'),
1724            healthy=d.get('healthy'),
1725            id=d.get('id'),
1726            identity_alias_healthcheck_username=d.get(
1727                'identity_alias_healthcheck_username'),
1728            identity_set_id=d.get('identity_set_id'),
1729            name=d.get('name'),
1730            port_override=d.get('port_override'),
1731            proxy_cluster_id=d.get('proxy_cluster_id'),
1732            region=d.get('region'),
1733            role_arn=d.get('role_arn'),
1734            role_external_id=d.get('role_external_id'),
1735            secret_store_id=d.get('secret_store_id'),
1736            session_expiry=d.get('session_expiry'),
1737            subdomain=d.get('subdomain'),
1738            tags=d.get('tags'),
1739            use_https=d.get('use_https'),
1740        )
class AWSConsoleStaticKeyPair:
1743class AWSConsoleStaticKeyPair:
1744    __slots__ = [
1745        'access_key',
1746        'bind_interface',
1747        'egress_filter',
1748        'healthy',
1749        'id',
1750        'identity_alias_healthcheck_username',
1751        'identity_set_id',
1752        'name',
1753        'port_override',
1754        'proxy_cluster_id',
1755        'region',
1756        'role_arn',
1757        'role_external_id',
1758        'secret_access_key',
1759        'secret_store_id',
1760        'session_expiry',
1761        'subdomain',
1762        'tags',
1763        'use_https',
1764    ]
1765
1766    def __init__(
1767        self,
1768        access_key=None,
1769        bind_interface=None,
1770        egress_filter=None,
1771        healthy=None,
1772        id=None,
1773        identity_alias_healthcheck_username=None,
1774        identity_set_id=None,
1775        name=None,
1776        port_override=None,
1777        proxy_cluster_id=None,
1778        region=None,
1779        role_arn=None,
1780        role_external_id=None,
1781        secret_access_key=None,
1782        secret_store_id=None,
1783        session_expiry=None,
1784        subdomain=None,
1785        tags=None,
1786        use_https=None,
1787    ):
1788        self.access_key = access_key if access_key is not None else ''
1789        '''
1790         The Access Key ID to authenticate with.
1791        '''
1792        self.bind_interface = bind_interface if bind_interface is not None else ''
1793        '''
1794         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1795        '''
1796        self.egress_filter = egress_filter if egress_filter is not None else ''
1797        '''
1798         A filter applied to the routing logic to pin datasource to nodes.
1799        '''
1800        self.healthy = healthy if healthy is not None else False
1801        '''
1802         True if the datasource is reachable and the credentials are valid.
1803        '''
1804        self.id = id if id is not None else ''
1805        '''
1806         Unique identifier of the Resource.
1807        '''
1808        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1809        '''
1810         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1811        '''
1812        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1813        '''
1814         The ID of the identity set to use for identity connections.
1815        '''
1816        self.name = name if name is not None else ''
1817        '''
1818         Unique human-readable name of the Resource.
1819        '''
1820        self.port_override = port_override if port_override is not None else 0
1821        '''
1822         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1823        '''
1824        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1825        '''
1826         ID of the proxy cluster for this resource, if any.
1827        '''
1828        self.region = region if region is not None else ''
1829        '''
1830         The AWS region to connect to.
1831        '''
1832        self.role_arn = role_arn if role_arn is not None else ''
1833        '''
1834         The role to assume after logging in.
1835        '''
1836        self.role_external_id = role_external_id if role_external_id is not None else ''
1837        '''
1838         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1839        '''
1840        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1841        '''
1842         The Secret Access Key to authenticate with.
1843        '''
1844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1845        '''
1846         ID of the secret store containing credentials for this resource, if any.
1847        '''
1848        self.session_expiry = session_expiry if session_expiry is not None else 0
1849        '''
1850         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1851        '''
1852        self.subdomain = subdomain if subdomain is not None else ''
1853        '''
1854         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1855        '''
1856        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1857        '''
1858         Tags is a map of key, value pairs.
1859        '''
1860        self.use_https = use_https if use_https is not None else False
1861        '''
1862         This option enforces HTTPS on the client, not resource connection
1863        '''
1864
1865    def __repr__(self):
1866        return '<sdm.AWSConsoleStaticKeyPair ' + \
1867            'access_key: ' + repr(self.access_key) + ' ' +\
1868            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1869            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1870            'healthy: ' + repr(self.healthy) + ' ' +\
1871            'id: ' + repr(self.id) + ' ' +\
1872            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1873            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1874            'name: ' + repr(self.name) + ' ' +\
1875            'port_override: ' + repr(self.port_override) + ' ' +\
1876            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1877            'region: ' + repr(self.region) + ' ' +\
1878            'role_arn: ' + repr(self.role_arn) + ' ' +\
1879            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1880            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
1881            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1882            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1883            'subdomain: ' + repr(self.subdomain) + ' ' +\
1884            'tags: ' + repr(self.tags) + ' ' +\
1885            'use_https: ' + repr(self.use_https) + ' ' +\
1886            '>'
1887
1888    def to_dict(self):
1889        return {
1890            'access_key': self.access_key,
1891            'bind_interface': self.bind_interface,
1892            'egress_filter': self.egress_filter,
1893            'healthy': self.healthy,
1894            'id': self.id,
1895            'identity_alias_healthcheck_username':
1896            self.identity_alias_healthcheck_username,
1897            'identity_set_id': self.identity_set_id,
1898            'name': self.name,
1899            'port_override': self.port_override,
1900            'proxy_cluster_id': self.proxy_cluster_id,
1901            'region': self.region,
1902            'role_arn': self.role_arn,
1903            'role_external_id': self.role_external_id,
1904            'secret_access_key': self.secret_access_key,
1905            'secret_store_id': self.secret_store_id,
1906            'session_expiry': self.session_expiry,
1907            'subdomain': self.subdomain,
1908            'tags': self.tags,
1909            'use_https': self.use_https,
1910        }
1911
1912    @classmethod
1913    def from_dict(cls, d):
1914        return cls(
1915            access_key=d.get('access_key'),
1916            bind_interface=d.get('bind_interface'),
1917            egress_filter=d.get('egress_filter'),
1918            healthy=d.get('healthy'),
1919            id=d.get('id'),
1920            identity_alias_healthcheck_username=d.get(
1921                'identity_alias_healthcheck_username'),
1922            identity_set_id=d.get('identity_set_id'),
1923            name=d.get('name'),
1924            port_override=d.get('port_override'),
1925            proxy_cluster_id=d.get('proxy_cluster_id'),
1926            region=d.get('region'),
1927            role_arn=d.get('role_arn'),
1928            role_external_id=d.get('role_external_id'),
1929            secret_access_key=d.get('secret_access_key'),
1930            secret_store_id=d.get('secret_store_id'),
1931            session_expiry=d.get('session_expiry'),
1932            subdomain=d.get('subdomain'),
1933            tags=d.get('tags'),
1934            use_https=d.get('use_https'),
1935        )
AWSConsoleStaticKeyPair( access_key=None, bind_interface=None, egress_filter=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, session_expiry=None, subdomain=None, tags=None, use_https=None)
1766    def __init__(
1767        self,
1768        access_key=None,
1769        bind_interface=None,
1770        egress_filter=None,
1771        healthy=None,
1772        id=None,
1773        identity_alias_healthcheck_username=None,
1774        identity_set_id=None,
1775        name=None,
1776        port_override=None,
1777        proxy_cluster_id=None,
1778        region=None,
1779        role_arn=None,
1780        role_external_id=None,
1781        secret_access_key=None,
1782        secret_store_id=None,
1783        session_expiry=None,
1784        subdomain=None,
1785        tags=None,
1786        use_https=None,
1787    ):
1788        self.access_key = access_key if access_key is not None else ''
1789        '''
1790         The Access Key ID to authenticate with.
1791        '''
1792        self.bind_interface = bind_interface if bind_interface is not None else ''
1793        '''
1794         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1795        '''
1796        self.egress_filter = egress_filter if egress_filter is not None else ''
1797        '''
1798         A filter applied to the routing logic to pin datasource to nodes.
1799        '''
1800        self.healthy = healthy if healthy is not None else False
1801        '''
1802         True if the datasource is reachable and the credentials are valid.
1803        '''
1804        self.id = id if id is not None else ''
1805        '''
1806         Unique identifier of the Resource.
1807        '''
1808        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1809        '''
1810         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1811        '''
1812        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1813        '''
1814         The ID of the identity set to use for identity connections.
1815        '''
1816        self.name = name if name is not None else ''
1817        '''
1818         Unique human-readable name of the Resource.
1819        '''
1820        self.port_override = port_override if port_override is not None else 0
1821        '''
1822         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1823        '''
1824        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1825        '''
1826         ID of the proxy cluster for this resource, if any.
1827        '''
1828        self.region = region if region is not None else ''
1829        '''
1830         The AWS region to connect to.
1831        '''
1832        self.role_arn = role_arn if role_arn is not None else ''
1833        '''
1834         The role to assume after logging in.
1835        '''
1836        self.role_external_id = role_external_id if role_external_id is not None else ''
1837        '''
1838         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1839        '''
1840        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1841        '''
1842         The Secret Access Key to authenticate with.
1843        '''
1844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1845        '''
1846         ID of the secret store containing credentials for this resource, if any.
1847        '''
1848        self.session_expiry = session_expiry if session_expiry is not None else 0
1849        '''
1850         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1851        '''
1852        self.subdomain = subdomain if subdomain is not None else ''
1853        '''
1854         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1855        '''
1856        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1857        '''
1858         Tags is a map of key, value pairs.
1859        '''
1860        self.use_https = use_https if use_https is not None else False
1861        '''
1862         This option enforces HTTPS on the client, not resource connection
1863        '''
access_key

The Access Key ID to authenticate with.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to authenticate with.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

session_expiry

The length of time in seconds AWS console sessions will live before needing to reauthenticate.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

use_https

This option enforces HTTPS on the client, not resource connection

def to_dict(self)
1888    def to_dict(self):
1889        return {
1890            'access_key': self.access_key,
1891            'bind_interface': self.bind_interface,
1892            'egress_filter': self.egress_filter,
1893            'healthy': self.healthy,
1894            'id': self.id,
1895            'identity_alias_healthcheck_username':
1896            self.identity_alias_healthcheck_username,
1897            'identity_set_id': self.identity_set_id,
1898            'name': self.name,
1899            'port_override': self.port_override,
1900            'proxy_cluster_id': self.proxy_cluster_id,
1901            'region': self.region,
1902            'role_arn': self.role_arn,
1903            'role_external_id': self.role_external_id,
1904            'secret_access_key': self.secret_access_key,
1905            'secret_store_id': self.secret_store_id,
1906            'session_expiry': self.session_expiry,
1907            'subdomain': self.subdomain,
1908            'tags': self.tags,
1909            'use_https': self.use_https,
1910        }
@classmethod
def from_dict(cls, d)
1912    @classmethod
1913    def from_dict(cls, d):
1914        return cls(
1915            access_key=d.get('access_key'),
1916            bind_interface=d.get('bind_interface'),
1917            egress_filter=d.get('egress_filter'),
1918            healthy=d.get('healthy'),
1919            id=d.get('id'),
1920            identity_alias_healthcheck_username=d.get(
1921                'identity_alias_healthcheck_username'),
1922            identity_set_id=d.get('identity_set_id'),
1923            name=d.get('name'),
1924            port_override=d.get('port_override'),
1925            proxy_cluster_id=d.get('proxy_cluster_id'),
1926            region=d.get('region'),
1927            role_arn=d.get('role_arn'),
1928            role_external_id=d.get('role_external_id'),
1929            secret_access_key=d.get('secret_access_key'),
1930            secret_store_id=d.get('secret_store_id'),
1931            session_expiry=d.get('session_expiry'),
1932            subdomain=d.get('subdomain'),
1933            tags=d.get('tags'),
1934            use_https=d.get('use_https'),
1935        )
class AWSInstanceProfile:
1938class AWSInstanceProfile:
1939    __slots__ = [
1940        'bind_interface',
1941        'egress_filter',
1942        'enable_env_variables',
1943        'healthy',
1944        'id',
1945        'name',
1946        'port_override',
1947        'proxy_cluster_id',
1948        'region',
1949        'role_arn',
1950        'role_external_id',
1951        'secret_store_id',
1952        'subdomain',
1953        'tags',
1954    ]
1955
1956    def __init__(
1957        self,
1958        bind_interface=None,
1959        egress_filter=None,
1960        enable_env_variables=None,
1961        healthy=None,
1962        id=None,
1963        name=None,
1964        port_override=None,
1965        proxy_cluster_id=None,
1966        region=None,
1967        role_arn=None,
1968        role_external_id=None,
1969        secret_store_id=None,
1970        subdomain=None,
1971        tags=None,
1972    ):
1973        self.bind_interface = bind_interface if bind_interface is not None else ''
1974        '''
1975         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1976        '''
1977        self.egress_filter = egress_filter if egress_filter is not None else ''
1978        '''
1979         A filter applied to the routing logic to pin datasource to nodes.
1980        '''
1981        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1982        '''
1983         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1984        '''
1985        self.healthy = healthy if healthy is not None else False
1986        '''
1987         True if the datasource is reachable and the credentials are valid.
1988        '''
1989        self.id = id if id is not None else ''
1990        '''
1991         Unique identifier of the Resource.
1992        '''
1993        self.name = name if name is not None else ''
1994        '''
1995         Unique human-readable name of the Resource.
1996        '''
1997        self.port_override = port_override if port_override is not None else 0
1998        '''
1999         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
2000        '''
2001        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
2002        '''
2003         ID of the proxy cluster for this resource, if any.
2004        '''
2005        self.region = region if region is not None else ''
2006        '''
2007         The AWS region to connect to.
2008        '''
2009        self.role_arn = role_arn if role_arn is not None else ''
2010        '''
2011         The role to assume after logging in.
2012        '''
2013        self.role_external_id = role_external_id if role_external_id is not None else ''
2014        '''
2015         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
2016        '''
2017        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
2018        '''
2019         ID of the secret store containing credentials for this resource, if any.
2020        '''
2021        self.subdomain = subdomain if subdomain is not None else ''
2022        '''
2023         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
2024        '''
2025        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
2026        '''
2027         Tags is a map of key, value pairs.
2028        '''
2029
2030    def __repr__(self):
2031        return '<sdm.AWSInstanceProfile ' + \
2032            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
2033            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
2034            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
2035            'healthy: ' + repr(self.healthy) + ' ' +\
2036            'id: ' + repr(self.id) + ' ' +\
2037            'name: ' + repr(self.name) + ' ' +\
2038            'port_override: ' + repr(self.port_override) + ' ' +\
2039            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
2040            'region: ' + repr(self.region) + ' ' +\
2041            'role_arn: ' + repr(self.role_arn) + ' ' +\
2042            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
2043            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
2044            'subdomain: ' + repr(self.subdomain) + ' ' +\
2045            'tags: ' + repr(self.tags) + ' ' +\
2046            '>'
2047
2048    def to_dict(self):
2049        return {
2050            'bind_interface': self.bind_interface,
2051            'egress_filter': self.egress_filter,
2052            'enable_env_variables': self.enable_env_variables,
2053            'healthy': self.healthy,
2054            'id': self.id,
2055            'name': self.name,
2056            'port_override': self.port_override,
2057            'proxy_cluster_id': self.proxy_cluster_id,
2058            'region': self.region,
2059            'role_arn': self.role_arn,
2060            'role_external_id': self.role_external_id,
2061            'secret_store_id': self.secret_store_id,
2062            'subdomain': self.subdomain,
2063            'tags': self.tags,
2064        }
2065
2066    @classmethod
2067    def from_dict(cls, d):
2068        return cls(
2069            bind_interface=d.get('bind_interface'),
2070            egress_filter=d.get('egress_filter'),
2071            enable_env_variables=d.get('enable_env_variables'),
2072            healthy=d.get('healthy'),
2073            id=d.get('id'),
2074            name=d.get('name'),
2075            port_override=d.get('port_override'),
2076            proxy_cluster_id=d.get('proxy_cluster_id'),
2077            region=d.get('region'),
2078            role_arn=d.get('role_arn'),
2079            role_external_id=d.get('role_external_id'),
2080            secret_store_id=d.get('secret_store_id'),
2081            subdomain=d.get('subdomain'),
2082            tags=d.get('tags'),
2083        )
AWSInstanceProfile( bind_interface=None, egress_filter=None, enable_env_variables=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
1956    def __init__(
1957        self,
1958        bind_interface=None,
1959        egress_filter=None,
1960        enable_env_variables=None,
1961        healthy=None,
1962        id=None,
1963        name=None,
1964        port_override=None,
1965        proxy_cluster_id=None,
1966        region=None,
1967        role_arn=None,
1968        role_external_id=None,
1969        secret_store_id=None,
1970        subdomain=None,
1971        tags=None,
1972    ):
1973        self.bind_interface = bind_interface if bind_interface is not None else ''
1974        '''
1975         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1976        '''
1977        self.egress_filter = egress_filter if egress_filter is not None else ''
1978        '''
1979         A filter applied to the routing logic to pin datasource to nodes.
1980        '''
1981        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1982        '''
1983         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1984        '''
1985        self.healthy = healthy if healthy is not None else False
1986        '''
1987         True if the datasource is reachable and the credentials are valid.
1988        '''
1989        self.id = id if id is not None else ''
1990        '''
1991         Unique identifier of the Resource.
1992        '''
1993        self.name = name if name is not None else ''
1994        '''
1995         Unique human-readable name of the Resource.
1996        '''
1997        self.port_override = port_override if port_override is not None else 0
1998        '''
1999         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
2000        '''
2001        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
2002        '''
2003         ID of the proxy cluster for this resource, if any.
2004        '''
2005        self.region = region if region is not None else ''
2006        '''
2007         The AWS region to connect to.
2008        '''
2009        self.role_arn = role_arn if role_arn is not None else ''
2010        '''
2011         The role to assume after logging in.
2012        '''
2013        self.role_external_id = role_external_id if role_external_id is not None else ''
2014        '''
2015         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
2016        '''
2017        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
2018        '''
2019         ID of the secret store containing credentials for this resource, if any.
2020        '''
2021        self.subdomain = subdomain if subdomain is not None else ''
2022        '''
2023         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
2024        '''
2025        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
2026        '''
2027         Tags is a map of key, value pairs.
2028        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

enable_env_variables

If true, prefer environment variables to authenticate connection even if EC2 roles are configured.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
2048    def to_dict(self):
2049        return {
2050            'bind_interface': self.bind_interface,
2051            'egress_filter': self.egress_filter,
2052            'enable_env_variables': self.enable_env_variables,
2053            'healthy': self.healthy,
2054            'id': self.id,
2055            'name': self.name,
2056            'port_override': self.port_override,
2057            'proxy_cluster_id': self.proxy_cluster_id,
2058            'region': self.region,
2059            'role_arn': self.role_arn,
2060            'role_external_id': self.role_external_id,
2061            'secret_store_id': self.secret_store_id,
2062            'subdomain': self.subdomain,
2063            'tags': self.tags,
2064        }
@classmethod
def from_dict(cls, d)
2066    @classmethod
2067    def from_dict(cls, d):
2068        return cls(
2069            bind_interface=d.get('bind_interface'),
2070            egress_filter=d.get('egress_filter'),
2071            enable_env_variables=d.get('enable_env_variables'),
2072            healthy=d.get('healthy'),
2073            id=d.get('id'),
2074            name=d.get('name'),
2075            port_override=d.get('port_override'),
2076            proxy_cluster_id=d.get('proxy_cluster_id'),
2077            region=d.get('region'),
2078            role_arn=d.get('role_arn'),
2079            role_external_id=d.get('role_external_id'),
2080            secret_store_id=d.get('secret_store_id'),
2081            subdomain=d.get('subdomain'),
2082            tags=d.get('tags'),
2083        )
class AWSStore:
2086class AWSStore:
2087    __slots__ = [
2088        'id',
2089        'name',
2090        'region',
2091        'role_arn',
2092        'role_external_id',
2093        'tags',
2094    ]
2095
2096    def __init__(
2097        self,
2098        id=None,
2099        name=None,
2100        region=None,
2101        role_arn=None,
2102        role_external_id=None,
2103        tags=None,
2104    ):
2105        self.id = id if id is not None else ''
2106        '''
2107         Unique identifier of the SecretStore.
2108        '''
2109        self.name = name if name is not None else ''
2110        '''
2111         Unique human-readable name of the SecretStore.
2112        '''
2113        self.region = region if region is not None else ''
2114        '''
2115         The AWS region to target e.g. us-east-1
2116        '''
2117        self.role_arn = role_arn if role_arn is not None else ''
2118        '''
2119         The role to assume after logging in.
2120        '''
2121        self.role_external_id = role_external_id if role_external_id is not None else ''
2122        '''
2123         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
2124        '''
2125        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
2126        '''
2127         Tags is a map of key, value pairs.
2128        '''
2129
2130    def __repr__(self):
2131        return '<sdm.AWSStore ' + \
2132            'id: ' + repr(self.id) + ' ' +\
2133            'name: ' + repr(self.name) + ' ' +\
2134            'region: ' + repr(self.region) + ' ' +\
2135            'role_arn: ' + repr(self.role_arn) + ' ' +\
2136            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
2137            'tags: ' + repr(self.tags) + ' ' +\
2138            '>'
2139
2140    def to_dict(self):
2141        return {
2142            'id': self.id,
2143            'name': self.name,
2144            'region': self.region,
2145            'role_arn': self.role_arn,
2146            'role_external_id': self.role_external_id,
2147            'tags': self.tags,
2148        }
2149
2150    @classmethod
2151    def from_dict(cls, d):
2152        return cls(
2153            id=d.get('id'),
2154            name=d.get('name'),
2155            region=d.get('region'),
2156            role_arn=d.get('role_arn'),
2157            role_external_id=d.get('role_external_id'),
2158            tags=d.get('tags'),
2159        )
AWSStore( id=None, name=None, region=None, role_arn=None, role_external_id=None, tags=None)
2096    def __init__(
2097        self,
2098        id=None,
2099        name=None,
2100        region=None,
2101        role_arn=None,
2102        role_external_id=None,
2103        tags=None,
2104    ):
2105        self.id = id if id is not None else ''
2106        '''
2107         Unique identifier of the SecretStore.
2108        '''
2109        self.name = name if name is not None else ''
2110        '''
2111         Unique human-readable name of the SecretStore.
2112        '''
2113        self.region = region if region is not None else ''
2114        '''
2115         The AWS region to target e.g. us-east-1
2116        '''
2117        self.role_arn = role_arn if role_arn is not None else ''
2118        '''
2119         The role to assume after logging in.
2120        '''
2121        self.role_external_id = role_external_id if role_external_id is not None else ''
2122        '''
2123         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
2124        '''
2125        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
2126        '''
2127         Tags is a map of key, value pairs.
2128        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

region

The AWS region to target e.g. us-east-1

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

tags

Tags is a map of key, value pairs.

def to_dict(self)
2140    def to_dict(self):
2141        return {
2142            'id': self.id,
2143            'name': self.name,
2144            'region': self.region,
2145            'role_arn': self.role_arn,
2146            'role_external_id': self.role_external_id,
2147            'tags': self.tags,
2148        }
@classmethod
def from_dict(cls, d)
2150    @classmethod
2151    def from_dict(cls, d):
2152        return cls(
2153            id=d.get('id'),
2154            name=d.get('name'),
2155            region=d.get('region'),
2156            role_arn=d.get('role_arn'),
2157            role_external_id=d.get('role_external_id'),
2158            tags=d.get('tags'),
2159        )
class AccessRequest:
2162class AccessRequest:
2163    '''
2164         AccessRequests are requests for access to a resource that may match a Workflow.
2165    '''
2166    __slots__ = [
2167        'account_id',
2168        'duration',
2169        'grant_id',
2170        'id',
2171        'reason',
2172        'requestedduration',
2173        'resource_id',
2174        'resultduration',
2175        'start_from',
2176        'status',
2177        'status_at',
2178        'valid_until',
2179        'workflow_id',
2180    ]
2181
2182    def __init__(
2183        self,
2184        account_id=None,
2185        duration=None,
2186        grant_id=None,
2187        id=None,
2188        reason=None,
2189        requestedduration=None,
2190        resource_id=None,
2191        resultduration=None,
2192        start_from=None,
2193        status=None,
2194        status_at=None,
2195        valid_until=None,
2196        workflow_id=None,
2197    ):
2198        self.account_id = account_id if account_id is not None else ''
2199        '''
2200         The account that initiated the request.
2201        '''
2202        self.duration = duration if duration is not None else 0
2203        '''
2204         Duration of the access request.
2205         Deprecated: use requested/result duration instead
2206        '''
2207        self.grant_id = grant_id if grant_id is not None else ''
2208        '''
2209         The account grant created, if it exists.
2210        '''
2211        self.id = id if id is not None else ''
2212        '''
2213         The access request id.
2214        '''
2215        self.reason = reason if reason is not None else ''
2216        '''
2217         The reason the access was requested.
2218        '''
2219        self.requestedduration = requestedduration if requestedduration is not None else None
2220        '''
2221         The duration that access was requested for, if any.
2222        '''
2223        self.resource_id = resource_id if resource_id is not None else ''
2224        '''
2225         The resource id.
2226        '''
2227        self.resultduration = resultduration if resultduration is not None else None
2228        '''
2229         The duration that results from an approved request.
2230        '''
2231        self.start_from = start_from if start_from is not None else None
2232        '''
2233         The timestamp when the requested access will be granted.
2234         If this field is not specified it will default to the current time.
2235        '''
2236        self.status = status if status is not None else ''
2237        '''
2238         The status of the access request.
2239        '''
2240        self.status_at = status_at if status_at is not None else None
2241        '''
2242         The timestamp when the status changed.
2243        '''
2244        self.valid_until = valid_until if valid_until is not None else None
2245        '''
2246         The timestamp when the requested access will expire.
2247        '''
2248        self.workflow_id = workflow_id if workflow_id is not None else ''
2249        '''
2250         The workflow the request bound to.
2251        '''
2252
2253    def __repr__(self):
2254        return '<sdm.AccessRequest ' + \
2255            'account_id: ' + repr(self.account_id) + ' ' +\
2256            'duration: ' + repr(self.duration) + ' ' +\
2257            'grant_id: ' + repr(self.grant_id) + ' ' +\
2258            'id: ' + repr(self.id) + ' ' +\
2259            'reason: ' + repr(self.reason) + ' ' +\
2260            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
2261            'resource_id: ' + repr(self.resource_id) + ' ' +\
2262            'resultduration: ' + repr(self.resultduration) + ' ' +\
2263            'start_from: ' + repr(self.start_from) + ' ' +\
2264            'status: ' + repr(self.status) + ' ' +\
2265            'status_at: ' + repr(self.status_at) + ' ' +\
2266            'valid_until: ' + repr(self.valid_until) + ' ' +\
2267            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
2268            '>'
2269
2270    def to_dict(self):
2271        return {
2272            'account_id': self.account_id,
2273            'duration': self.duration,
2274            'grant_id': self.grant_id,
2275            'id': self.id,
2276            'reason': self.reason,
2277            'requestedduration': self.requestedduration,
2278            'resource_id': self.resource_id,
2279            'resultduration': self.resultduration,
2280            'start_from': self.start_from,
2281            'status': self.status,
2282            'status_at': self.status_at,
2283            'valid_until': self.valid_until,
2284            'workflow_id': self.workflow_id,
2285        }
2286
2287    @classmethod
2288    def from_dict(cls, d):
2289        return cls(
2290            account_id=d.get('account_id'),
2291            duration=d.get('duration'),
2292            grant_id=d.get('grant_id'),
2293            id=d.get('id'),
2294            reason=d.get('reason'),
2295            requestedduration=d.get('requestedduration'),
2296            resource_id=d.get('resource_id'),
2297            resultduration=d.get('resultduration'),
2298            start_from=d.get('start_from'),
2299            status=d.get('status'),
2300            status_at=d.get('status_at'),
2301            valid_until=d.get('valid_until'),
2302            workflow_id=d.get('workflow_id'),
2303        )

AccessRequests are requests for access to a resource that may match a Workflow.

AccessRequest( account_id=None, duration=None, grant_id=None, id=None, reason=None, requestedduration=None, resource_id=None, resultduration=None, start_from=None, status=None, status_at=None, valid_until=None, workflow_id=None)
2182    def __init__(
2183        self,
2184        account_id=None,
2185        duration=None,
2186        grant_id=None,
2187        id=None,
2188        reason=None,
2189        requestedduration=None,
2190        resource_id=None,
2191        resultduration=None,
2192        start_from=None,
2193        status=None,
2194        status_at=None,
2195        valid_until=None,
2196        workflow_id=None,
2197    ):
2198        self.account_id = account_id if account_id is not None else ''
2199        '''
2200         The account that initiated the request.
2201        '''
2202        self.duration = duration if duration is not None else 0
2203        '''
2204         Duration of the access request.
2205         Deprecated: use requested/result duration instead
2206        '''
2207        self.grant_id = grant_id if grant_id is not None else ''
2208        '''
2209         The account grant created, if it exists.
2210        '''
2211        self.id = id if id is not None else ''
2212        '''
2213         The access request id.
2214        '''
2215        self.reason = reason if reason is not None else ''
2216        '''
2217         The reason the access was requested.
2218        '''
2219        self.requestedduration = requestedduration if requestedduration is not None else None
2220        '''
2221         The duration that access was requested for, if any.
2222        '''
2223        self.resource_id = resource_id if resource_id is not None else ''
2224        '''
2225         The resource id.
2226        '''
2227        self.resultduration = resultduration if resultduration is not None else None
2228        '''
2229         The duration that results from an approved request.
2230        '''
2231        self.start_from = start_from if start_from is not None else None
2232        '''
2233         The timestamp when the requested access will be granted.
2234         If this field is not specified it will default to the current time.
2235        '''
2236        self.status = status if status is not None else ''
2237        '''
2238         The status of the access request.
2239        '''
2240        self.status_at = status_at if status_at is not None else None
2241        '''
2242         The timestamp when the status changed.
2243        '''
2244        self.valid_until = valid_until if valid_until is not None else None
2245        '''
2246         The timestamp when the requested access will expire.
2247        '''
2248        self.workflow_id = workflow_id if workflow_id is not None else ''
2249        '''
2250         The workflow the request bound to.
2251        '''
account_id

The account that initiated the request.

duration

Duration of the access request. Deprecated: use requested/result duration instead

grant_id

The account grant created, if it exists.

id

The access request id.

reason

The reason the access was requested.

requestedduration

The duration that access was requested for, if any.

resource_id

The resource id.

resultduration

The duration that results from an approved request.

start_from

The timestamp when the requested access will be granted. If this field is not specified it will default to the current time.

status

The status of the access request.

status_at

The timestamp when the status changed.

valid_until

The timestamp when the requested access will expire.

workflow_id

The workflow the request bound to.

def to_dict(self)
2270    def to_dict(self):
2271        return {
2272            'account_id': self.account_id,
2273            'duration': self.duration,
2274            'grant_id': self.grant_id,
2275            'id': self.id,
2276            'reason': self.reason,
2277            'requestedduration': self.requestedduration,
2278            'resource_id': self.resource_id,
2279            'resultduration': self.resultduration,
2280            'start_from': self.start_from,
2281            'status': self.status,
2282            'status_at': self.status_at,
2283            'valid_until': self.valid_until,
2284            'workflow_id': self.workflow_id,
2285        }
@classmethod
def from_dict(cls, d)
2287    @classmethod
2288    def from_dict(cls, d):
2289        return cls(
2290            account_id=d.get('account_id'),
2291            duration=d.get('duration'),
2292            grant_id=d.get('grant_id'),
2293            id=d.get('id'),
2294            reason=d.get('reason'),
2295            requestedduration=d.get('requestedduration'),
2296            resource_id=d.get('resource_id'),
2297            resultduration=d.get('resultduration'),
2298            start_from=d.get('start_from'),
2299            status=d.get('status'),
2300            status_at=d.get('status_at'),
2301            valid_until=d.get('valid_until'),
2302            workflow_id=d.get('workflow_id'),
2303        )
class AccessRequestConfig:
2306class AccessRequestConfig:
2307    '''
2308         AccessRequestConfig holds the information required to request access to a resource
2309    '''
2310    __slots__ = [
2311        'duration',
2312        'reason',
2313        'resource_id',
2314        'start_from',
2315    ]
2316
2317    def __init__(
2318        self,
2319        duration=None,
2320        reason=None,
2321        resource_id=None,
2322        start_from=None,
2323    ):
2324        self.duration = duration if duration is not None else ''
2325        '''
2326         The time access should end, defaults to the next occurance of 5 pm
2327        '''
2328        self.reason = reason if reason is not None else ''
2329        '''
2330         The reason for access
2331        '''
2332        self.resource_id = resource_id if resource_id is not None else ''
2333        '''
2334         The resource for which access is being requested
2335        '''
2336        self.start_from = start_from if start_from is not None else None
2337        '''
2338         The time access should start, defaults to now
2339        '''
2340
2341    def __repr__(self):
2342        return '<sdm.AccessRequestConfig ' + \
2343            'duration: ' + repr(self.duration) + ' ' +\
2344            'reason: ' + repr(self.reason) + ' ' +\
2345            'resource_id: ' + repr(self.resource_id) + ' ' +\
2346            'start_from: ' + repr(self.start_from) + ' ' +\
2347            '>'
2348
2349    def to_dict(self):
2350        return {
2351            'duration': self.duration,
2352            'reason': self.reason,
2353            'resource_id': self.resource_id,
2354            'start_from': self.start_from,
2355        }
2356
2357    @classmethod
2358    def from_dict(cls, d):
2359        return cls(
2360            duration=d.get('duration'),
2361            reason=d.get('reason'),
2362            resource_id=d.get('resource_id'),
2363            start_from=d.get('start_from'),
2364        )

AccessRequestConfig holds the information required to request access to a resource

AccessRequestConfig(duration=None, reason=None, resource_id=None, start_from=None)
2317    def __init__(
2318        self,
2319        duration=None,
2320        reason=None,
2321        resource_id=None,
2322        start_from=None,
2323    ):
2324        self.duration = duration if duration is not None else ''
2325        '''
2326         The time access should end, defaults to the next occurance of 5 pm
2327        '''
2328        self.reason = reason if reason is not None else ''
2329        '''
2330         The reason for access
2331        '''
2332        self.resource_id = resource_id if resource_id is not None else ''
2333        '''
2334         The resource for which access is being requested
2335        '''
2336        self.start_from = start_from if start_from is not None else None
2337        '''
2338         The time access should start, defaults to now
2339        '''
duration

The time access should end, defaults to the next occurance of 5 pm

reason

The reason for access

resource_id

The resource for which access is being requested

start_from

The time access should start, defaults to now

def to_dict(self)
2349    def to_dict(self):
2350        return {
2351            'duration': self.duration,
2352            'reason': self.reason,
2353            'resource_id': self.resource_id,
2354            'start_from': self.start_from,
2355        }
@classmethod
def from_dict(cls, d)
2357    @classmethod
2358    def from_dict(cls, d):
2359        return cls(
2360            duration=d.get('duration'),
2361            reason=d.get('reason'),
2362            resource_id=d.get('resource_id'),
2363            start_from=d.get('start_from'),
2364        )
class AccessRequestEvent:
2367class AccessRequestEvent:
2368    '''
2369         AccessRequestEvents hold information about events related to an access
2370     request such as creation, approval and denial.
2371    '''
2372    __slots__ = [
2373        'actor_id',
2374        'id',
2375        'metadata',
2376        'request_id',
2377        'type',
2378    ]
2379
2380    def __init__(
2381        self,
2382        actor_id=None,
2383        id=None,
2384        metadata=None,
2385        request_id=None,
2386        type=None,
2387    ):
2388        self.actor_id = actor_id if actor_id is not None else ''
2389        '''
2390         The account responsible for the event.
2391        '''
2392        self.id = id if id is not None else ''
2393        '''
2394         The access request event id.
2395        '''
2396        self.metadata = metadata if metadata is not None else ''
2397        '''
2398         The metadata about the event
2399        '''
2400        self.request_id = request_id if request_id is not None else ''
2401        '''
2402         The request that the event is bound to.
2403        '''
2404        self.type = type if type is not None else ''
2405        '''
2406         The type of event.
2407        '''
2408
2409    def __repr__(self):
2410        return '<sdm.AccessRequestEvent ' + \
2411            'actor_id: ' + repr(self.actor_id) + ' ' +\
2412            'id: ' + repr(self.id) + ' ' +\
2413            'metadata: ' + repr(self.metadata) + ' ' +\
2414            'request_id: ' + repr(self.request_id) + ' ' +\
2415            'type: ' + repr(self.type) + ' ' +\
2416            '>'
2417
2418    def to_dict(self):
2419        return {
2420            'actor_id': self.actor_id,
2421            'id': self.id,
2422            'metadata': self.metadata,
2423            'request_id': self.request_id,
2424            'type': self.type,
2425        }
2426
2427    @classmethod
2428    def from_dict(cls, d):
2429        return cls(
2430            actor_id=d.get('actor_id'),
2431            id=d.get('id'),
2432            metadata=d.get('metadata'),
2433            request_id=d.get('request_id'),
2434            type=d.get('type'),
2435        )

AccessRequestEvents hold information about events related to an access request such as creation, approval and denial.

AccessRequestEvent(actor_id=None, id=None, metadata=None, request_id=None, type=None)
2380    def __init__(
2381        self,
2382        actor_id=None,
2383        id=None,
2384        metadata=None,
2385        request_id=None,
2386        type=None,
2387    ):
2388        self.actor_id = actor_id if actor_id is not None else ''
2389        '''
2390         The account responsible for the event.
2391        '''
2392        self.id = id if id is not None else ''
2393        '''
2394         The access request event id.
2395        '''
2396        self.metadata = metadata if metadata is not None else ''
2397        '''
2398         The metadata about the event
2399        '''
2400        self.request_id = request_id if request_id is not None else ''
2401        '''
2402         The request that the event is bound to.
2403        '''
2404        self.type = type if type is not None else ''
2405        '''
2406         The type of event.
2407        '''
actor_id

The account responsible for the event.

id

The access request event id.

metadata

The metadata about the event

request_id

The request that the event is bound to.

type

The type of event.

def to_dict(self)
2418    def to_dict(self):
2419        return {
2420            'actor_id': self.actor_id,
2421            'id': self.id,
2422            'metadata': self.metadata,
2423            'request_id': self.request_id,
2424            'type': self.type,
2425        }
@classmethod
def from_dict(cls, d)
2427    @classmethod
2428    def from_dict(cls, d):
2429        return cls(
2430            actor_id=d.get('actor_id'),
2431            id=d.get('id'),
2432            metadata=d.get('metadata'),
2433            request_id=d.get('request_id'),
2434            type=d.get('type'),
2435        )
class AccessRequestEventHistory:
2438class AccessRequestEventHistory:
2439    '''
2440         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
2441     where every change (create, update and delete) to a AccessRequest produces an
2442     AccessRequestEventHistory record.
2443    '''
2444    __slots__ = [
2445        'access_request_event',
2446        'activity_id',
2447        'deleted_at',
2448        'timestamp',
2449    ]
2450
2451    def __init__(
2452        self,
2453        access_request_event=None,
2454        activity_id=None,
2455        deleted_at=None,
2456        timestamp=None,
2457    ):
2458        self.access_request_event = access_request_event if access_request_event is not None else None
2459        '''
2460         The complete AccessRequestEvent state at this time.
2461        '''
2462        self.activity_id = activity_id if activity_id is not None else ''
2463        '''
2464         The unique identifier of the Activity that produced this change to the AccessRequest.
2465         May be empty for some system-initiated updates.
2466        '''
2467        self.deleted_at = deleted_at if deleted_at is not None else None
2468        '''
2469         If this Workflow was deleted, the time it was deleted.
2470        '''
2471        self.timestamp = timestamp if timestamp is not None else None
2472        '''
2473         The time at which the AccessRequest state was recorded.
2474        '''
2475
2476    def __repr__(self):
2477        return '<sdm.AccessRequestEventHistory ' + \
2478            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
2479            'activity_id: ' + repr(self.activity_id) + ' ' +\
2480            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2481            'timestamp: ' + repr(self.timestamp) + ' ' +\
2482            '>'
2483
2484    def to_dict(self):
2485        return {
2486            'access_request_event': self.access_request_event,
2487            'activity_id': self.activity_id,
2488            'deleted_at': self.deleted_at,
2489            'timestamp': self.timestamp,
2490        }
2491
2492    @classmethod
2493    def from_dict(cls, d):
2494        return cls(
2495            access_request_event=d.get('access_request_event'),
2496            activity_id=d.get('activity_id'),
2497            deleted_at=d.get('deleted_at'),
2498            timestamp=d.get('timestamp'),
2499        )

AccessRequestEventHistory records the state of a AccessRequest at a given point in time, where every change (create, update and delete) to a AccessRequest produces an AccessRequestEventHistory record.

AccessRequestEventHistory( access_request_event=None, activity_id=None, deleted_at=None, timestamp=None)
2451    def __init__(
2452        self,
2453        access_request_event=None,
2454        activity_id=None,
2455        deleted_at=None,
2456        timestamp=None,
2457    ):
2458        self.access_request_event = access_request_event if access_request_event is not None else None
2459        '''
2460         The complete AccessRequestEvent state at this time.
2461        '''
2462        self.activity_id = activity_id if activity_id is not None else ''
2463        '''
2464         The unique identifier of the Activity that produced this change to the AccessRequest.
2465         May be empty for some system-initiated updates.
2466        '''
2467        self.deleted_at = deleted_at if deleted_at is not None else None
2468        '''
2469         If this Workflow was deleted, the time it was deleted.
2470        '''
2471        self.timestamp = timestamp if timestamp is not None else None
2472        '''
2473         The time at which the AccessRequest state was recorded.
2474        '''
access_request_event

The complete AccessRequestEvent state at this time.

activity_id

The unique identifier of the Activity that produced this change to the AccessRequest. May be empty for some system-initiated updates.

deleted_at

If this Workflow was deleted, the time it was deleted.

timestamp

The time at which the AccessRequest state was recorded.

def to_dict(self)
2484    def to_dict(self):
2485        return {
2486            'access_request_event': self.access_request_event,
2487            'activity_id': self.activity_id,
2488            'deleted_at': self.deleted_at,
2489            'timestamp': self.timestamp,
2490        }
@classmethod
def from_dict(cls, d)
2492    @classmethod
2493    def from_dict(cls, d):
2494        return cls(
2495            access_request_event=d.get('access_request_event'),
2496            activity_id=d.get('activity_id'),
2497            deleted_at=d.get('deleted_at'),
2498            timestamp=d.get('timestamp'),
2499        )
class AccessRequestHistory:
2502class AccessRequestHistory:
2503    '''
2504         AccessRequestHistory records the state of a AccessRequest at a given point in time,
2505     where every change (create, update and delete) to a AccessRequest produces an
2506     AccessRequestHistory record.
2507    '''
2508    __slots__ = [
2509        'access_request',
2510        'activity_id',
2511        'deleted_at',
2512        'timestamp',
2513    ]
2514
2515    def __init__(
2516        self,
2517        access_request=None,
2518        activity_id=None,
2519        deleted_at=None,
2520        timestamp=None,
2521    ):
2522        self.access_request = access_request if access_request is not None else None
2523        '''
2524         The complete AccessRequest state at this time.
2525        '''
2526        self.activity_id = activity_id if activity_id is not None else ''
2527        '''
2528         The unique identifier of the Activity that produced this change to the AccessRequest.
2529         May be empty for some system-initiated updates.
2530        '''
2531        self.deleted_at = deleted_at if deleted_at is not None else None
2532        '''
2533         If this Workflow was deleted, the time it was deleted.
2534        '''
2535        self.timestamp = timestamp if timestamp is not None else None
2536        '''
2537         The time at which the AccessRequest state was recorded.
2538        '''
2539
2540    def __repr__(self):
2541        return '<sdm.AccessRequestHistory ' + \
2542            'access_request: ' + repr(self.access_request) + ' ' +\
2543            'activity_id: ' + repr(self.activity_id) + ' ' +\
2544            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2545            'timestamp: ' + repr(self.timestamp) + ' ' +\
2546            '>'
2547
2548    def to_dict(self):
2549        return {
2550            'access_request': self.access_request,
2551            'activity_id': self.activity_id,
2552            'deleted_at': self.deleted_at,
2553            'timestamp': self.timestamp,
2554        }
2555
2556    @classmethod
2557    def from_dict(cls, d):
2558        return cls(
2559            access_request=d.get('access_request'),
2560            activity_id=d.get('activity_id'),
2561            deleted_at=d.get('deleted_at'),
2562            timestamp=d.get('timestamp'),
2563        )

AccessRequestHistory records the state of a AccessRequest at a given point in time, where every change (create, update and delete) to a AccessRequest produces an AccessRequestHistory record.

AccessRequestHistory( access_request=None, activity_id=None, deleted_at=None, timestamp=None)
2515    def __init__(
2516        self,
2517        access_request=None,
2518        activity_id=None,
2519        deleted_at=None,
2520        timestamp=None,
2521    ):
2522        self.access_request = access_request if access_request is not None else None
2523        '''
2524         The complete AccessRequest state at this time.
2525        '''
2526        self.activity_id = activity_id if activity_id is not None else ''
2527        '''
2528         The unique identifier of the Activity that produced this change to the AccessRequest.
2529         May be empty for some system-initiated updates.
2530        '''
2531        self.deleted_at = deleted_at if deleted_at is not None else None
2532        '''
2533         If this Workflow was deleted, the time it was deleted.
2534        '''
2535        self.timestamp = timestamp if timestamp is not None else None
2536        '''
2537         The time at which the AccessRequest state was recorded.
2538        '''
access_request

The complete AccessRequest state at this time.

activity_id

The unique identifier of the Activity that produced this change to the AccessRequest. May be empty for some system-initiated updates.

deleted_at

If this Workflow was deleted, the time it was deleted.

timestamp

The time at which the AccessRequest state was recorded.

def to_dict(self)
2548    def to_dict(self):
2549        return {
2550            'access_request': self.access_request,
2551            'activity_id': self.activity_id,
2552            'deleted_at': self.deleted_at,
2553            'timestamp': self.timestamp,
2554        }
@classmethod
def from_dict(cls, d)
2556    @classmethod
2557    def from_dict(cls, d):
2558        return cls(
2559            access_request=d.get('access_request'),
2560            activity_id=d.get('activity_id'),
2561            deleted_at=d.get('deleted_at'),
2562            timestamp=d.get('timestamp'),
2563        )
class AccessRequestListRequest:
2566class AccessRequestListRequest:
2567    '''
2568         AccessRequestListRequest specifies criteria for retrieving a list of
2569     AccessRequest records
2570    '''
2571    __slots__ = [
2572        'filter',
2573    ]
2574
2575    def __init__(
2576        self,
2577        filter=None,
2578    ):
2579        self.filter = filter if filter is not None else ''
2580        '''
2581         A human-readable filter query string.
2582        '''
2583
2584    def __repr__(self):
2585        return '<sdm.AccessRequestListRequest ' + \
2586            'filter: ' + repr(self.filter) + ' ' +\
2587            '>'
2588
2589    def to_dict(self):
2590        return {
2591            'filter': self.filter,
2592        }
2593
2594    @classmethod
2595    def from_dict(cls, d):
2596        return cls(filter=d.get('filter'), )

AccessRequestListRequest specifies criteria for retrieving a list of AccessRequest records

AccessRequestListRequest(filter=None)
2575    def __init__(
2576        self,
2577        filter=None,
2578    ):
2579        self.filter = filter if filter is not None else ''
2580        '''
2581         A human-readable filter query string.
2582        '''
filter

A human-readable filter query string.

def to_dict(self)
2589    def to_dict(self):
2590        return {
2591            'filter': self.filter,
2592        }
@classmethod
def from_dict(cls, d)
2594    @classmethod
2595    def from_dict(cls, d):
2596        return cls(filter=d.get('filter'), )
class AccessRequestListResponse:
2599class AccessRequestListResponse:
2600    '''
2601         AccessRequestListResponse returns a list of access requests records that meet
2602     the criteria of a AccessRequestListRequest.
2603    '''
2604    __slots__ = [
2605        'rate_limit',
2606    ]
2607
2608    def __init__(
2609        self,
2610        rate_limit=None,
2611    ):
2612        self.rate_limit = rate_limit if rate_limit is not None else None
2613        '''
2614         Rate limit information.
2615        '''
2616
2617    def __repr__(self):
2618        return '<sdm.AccessRequestListResponse ' + \
2619            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2620            '>'
2621
2622    def to_dict(self):
2623        return {
2624            'rate_limit': self.rate_limit,
2625        }
2626
2627    @classmethod
2628    def from_dict(cls, d):
2629        return cls(rate_limit=d.get('rate_limit'), )

AccessRequestListResponse returns a list of access requests records that meet the criteria of a AccessRequestListRequest.

AccessRequestListResponse(rate_limit=None)
2608    def __init__(
2609        self,
2610        rate_limit=None,
2611    ):
2612        self.rate_limit = rate_limit if rate_limit is not None else None
2613        '''
2614         Rate limit information.
2615        '''
rate_limit

Rate limit information.

def to_dict(self)
2622    def to_dict(self):
2623        return {
2624            'rate_limit': self.rate_limit,
2625        }
@classmethod
def from_dict(cls, d)
2627    @classmethod
2628    def from_dict(cls, d):
2629        return cls(rate_limit=d.get('rate_limit'), )
class AccountAttachment:
2632class AccountAttachment:
2633    '''
2634         AccountAttachments assign an account to a role.
2635    '''
2636    __slots__ = [
2637        'account_id',
2638        'id',
2639        'role_id',
2640    ]
2641
2642    def __init__(
2643        self,
2644        account_id=None,
2645        id=None,
2646        role_id=None,
2647    ):
2648        self.account_id = account_id if account_id is not None else ''
2649        '''
2650         The id of the account of this AccountAttachment.
2651        '''
2652        self.id = id if id is not None else ''
2653        '''
2654         Unique identifier of the AccountAttachment.
2655        '''
2656        self.role_id = role_id if role_id is not None else ''
2657        '''
2658         The id of the attached role of this AccountAttachment.
2659        '''
2660
2661    def __repr__(self):
2662        return '<sdm.AccountAttachment ' + \
2663            'account_id: ' + repr(self.account_id) + ' ' +\
2664            'id: ' + repr(self.id) + ' ' +\
2665            'role_id: ' + repr(self.role_id) + ' ' +\
2666            '>'
2667
2668    def to_dict(self):
2669        return {
2670            'account_id': self.account_id,
2671            'id': self.id,
2672            'role_id': self.role_id,
2673        }
2674
2675    @classmethod
2676    def from_dict(cls, d):
2677        return cls(
2678            account_id=d.get('account_id'),
2679            id=d.get('id'),
2680            role_id=d.get('role_id'),
2681        )

AccountAttachments assign an account to a role.

AccountAttachment(account_id=None, id=None, role_id=None)
2642    def __init__(
2643        self,
2644        account_id=None,
2645        id=None,
2646        role_id=None,
2647    ):
2648        self.account_id = account_id if account_id is not None else ''
2649        '''
2650         The id of the account of this AccountAttachment.
2651        '''
2652        self.id = id if id is not None else ''
2653        '''
2654         Unique identifier of the AccountAttachment.
2655        '''
2656        self.role_id = role_id if role_id is not None else ''
2657        '''
2658         The id of the attached role of this AccountAttachment.
2659        '''
account_id

The id of the account of this AccountAttachment.

id

Unique identifier of the AccountAttachment.

role_id

The id of the attached role of this AccountAttachment.

def to_dict(self)
2668    def to_dict(self):
2669        return {
2670            'account_id': self.account_id,
2671            'id': self.id,
2672            'role_id': self.role_id,
2673        }
@classmethod
def from_dict(cls, d)
2675    @classmethod
2676    def from_dict(cls, d):
2677        return cls(
2678            account_id=d.get('account_id'),
2679            id=d.get('id'),
2680            role_id=d.get('role_id'),
2681        )
class AccountAttachmentCreateResponse:
2684class AccountAttachmentCreateResponse:
2685    '''
2686         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
2687    '''
2688    __slots__ = [
2689        'account_attachment',
2690        'meta',
2691        'rate_limit',
2692    ]
2693
2694    def __init__(
2695        self,
2696        account_attachment=None,
2697        meta=None,
2698        rate_limit=None,
2699    ):
2700        self.account_attachment = account_attachment if account_attachment is not None else None
2701        '''
2702         The created AccountAttachment.
2703        '''
2704        self.meta = meta if meta is not None else None
2705        '''
2706         Reserved for future use.
2707        '''
2708        self.rate_limit = rate_limit if rate_limit is not None else None
2709        '''
2710         Rate limit information.
2711        '''
2712
2713    def __repr__(self):
2714        return '<sdm.AccountAttachmentCreateResponse ' + \
2715            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2716            'meta: ' + repr(self.meta) + ' ' +\
2717            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2718            '>'
2719
2720    def to_dict(self):
2721        return {
2722            'account_attachment': self.account_attachment,
2723            'meta': self.meta,
2724            'rate_limit': self.rate_limit,
2725        }
2726
2727    @classmethod
2728    def from_dict(cls, d):
2729        return cls(
2730            account_attachment=d.get('account_attachment'),
2731            meta=d.get('meta'),
2732            rate_limit=d.get('rate_limit'),
2733        )

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

AccountAttachmentCreateResponse(account_attachment=None, meta=None, rate_limit=None)
2694    def __init__(
2695        self,
2696        account_attachment=None,
2697        meta=None,
2698        rate_limit=None,
2699    ):
2700        self.account_attachment = account_attachment if account_attachment is not None else None
2701        '''
2702         The created AccountAttachment.
2703        '''
2704        self.meta = meta if meta is not None else None
2705        '''
2706         Reserved for future use.
2707        '''
2708        self.rate_limit = rate_limit if rate_limit is not None else None
2709        '''
2710         Rate limit information.
2711        '''
account_attachment

The created AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2720    def to_dict(self):
2721        return {
2722            'account_attachment': self.account_attachment,
2723            'meta': self.meta,
2724            'rate_limit': self.rate_limit,
2725        }
@classmethod
def from_dict(cls, d)
2727    @classmethod
2728    def from_dict(cls, d):
2729        return cls(
2730            account_attachment=d.get('account_attachment'),
2731            meta=d.get('meta'),
2732            rate_limit=d.get('rate_limit'),
2733        )
class AccountAttachmentDeleteResponse:
2736class AccountAttachmentDeleteResponse:
2737    '''
2738         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
2739    '''
2740    __slots__ = [
2741        'meta',
2742        'rate_limit',
2743    ]
2744
2745    def __init__(
2746        self,
2747        meta=None,
2748        rate_limit=None,
2749    ):
2750        self.meta = meta if meta is not None else None
2751        '''
2752         Reserved for future use.
2753        '''
2754        self.rate_limit = rate_limit if rate_limit is not None else None
2755        '''
2756         Rate limit information.
2757        '''
2758
2759    def __repr__(self):
2760        return '<sdm.AccountAttachmentDeleteResponse ' + \
2761            'meta: ' + repr(self.meta) + ' ' +\
2762            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2763            '>'
2764
2765    def to_dict(self):
2766        return {
2767            'meta': self.meta,
2768            'rate_limit': self.rate_limit,
2769        }
2770
2771    @classmethod
2772    def from_dict(cls, d):
2773        return cls(
2774            meta=d.get('meta'),
2775            rate_limit=d.get('rate_limit'),
2776        )

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

AccountAttachmentDeleteResponse(meta=None, rate_limit=None)
2745    def __init__(
2746        self,
2747        meta=None,
2748        rate_limit=None,
2749    ):
2750        self.meta = meta if meta is not None else None
2751        '''
2752         Reserved for future use.
2753        '''
2754        self.rate_limit = rate_limit if rate_limit is not None else None
2755        '''
2756         Rate limit information.
2757        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2765    def to_dict(self):
2766        return {
2767            'meta': self.meta,
2768            'rate_limit': self.rate_limit,
2769        }
@classmethod
def from_dict(cls, d)
2771    @classmethod
2772    def from_dict(cls, d):
2773        return cls(
2774            meta=d.get('meta'),
2775            rate_limit=d.get('rate_limit'),
2776        )
class AccountAttachmentGetResponse:
2779class AccountAttachmentGetResponse:
2780    '''
2781         AccountAttachmentGetResponse returns a requested AccountAttachment.
2782    '''
2783    __slots__ = [
2784        'account_attachment',
2785        'meta',
2786        'rate_limit',
2787    ]
2788
2789    def __init__(
2790        self,
2791        account_attachment=None,
2792        meta=None,
2793        rate_limit=None,
2794    ):
2795        self.account_attachment = account_attachment if account_attachment is not None else None
2796        '''
2797         The requested AccountAttachment.
2798        '''
2799        self.meta = meta if meta is not None else None
2800        '''
2801         Reserved for future use.
2802        '''
2803        self.rate_limit = rate_limit if rate_limit is not None else None
2804        '''
2805         Rate limit information.
2806        '''
2807
2808    def __repr__(self):
2809        return '<sdm.AccountAttachmentGetResponse ' + \
2810            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2811            'meta: ' + repr(self.meta) + ' ' +\
2812            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2813            '>'
2814
2815    def to_dict(self):
2816        return {
2817            'account_attachment': self.account_attachment,
2818            'meta': self.meta,
2819            'rate_limit': self.rate_limit,
2820        }
2821
2822    @classmethod
2823    def from_dict(cls, d):
2824        return cls(
2825            account_attachment=d.get('account_attachment'),
2826            meta=d.get('meta'),
2827            rate_limit=d.get('rate_limit'),
2828        )

AccountAttachmentGetResponse returns a requested AccountAttachment.

AccountAttachmentGetResponse(account_attachment=None, meta=None, rate_limit=None)
2789    def __init__(
2790        self,
2791        account_attachment=None,
2792        meta=None,
2793        rate_limit=None,
2794    ):
2795        self.account_attachment = account_attachment if account_attachment is not None else None
2796        '''
2797         The requested AccountAttachment.
2798        '''
2799        self.meta = meta if meta is not None else None
2800        '''
2801         Reserved for future use.
2802        '''
2803        self.rate_limit = rate_limit if rate_limit is not None else None
2804        '''
2805         Rate limit information.
2806        '''
account_attachment

The requested AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2815    def to_dict(self):
2816        return {
2817            'account_attachment': self.account_attachment,
2818            'meta': self.meta,
2819            'rate_limit': self.rate_limit,
2820        }
@classmethod
def from_dict(cls, d)
2822    @classmethod
2823    def from_dict(cls, d):
2824        return cls(
2825            account_attachment=d.get('account_attachment'),
2826            meta=d.get('meta'),
2827            rate_limit=d.get('rate_limit'),
2828        )
class AccountAttachmentHistory:
2831class AccountAttachmentHistory:
2832    '''
2833         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
2834     where every change (create or delete) to an AccountAttachment produces an
2835     AccountAttachmentHistory record.
2836    '''
2837    __slots__ = [
2838        'account_attachment',
2839        'activity_id',
2840        'deleted_at',
2841        'timestamp',
2842    ]
2843
2844    def __init__(
2845        self,
2846        account_attachment=None,
2847        activity_id=None,
2848        deleted_at=None,
2849        timestamp=None,
2850    ):
2851        self.account_attachment = account_attachment if account_attachment is not None else None
2852        '''
2853         The complete AccountAttachment state at this time.
2854        '''
2855        self.activity_id = activity_id if activity_id is not None else ''
2856        '''
2857         The unique identifier of the Activity that produced this change to the AccountAttachment.
2858         May be empty for some system-initiated updates.
2859        '''
2860        self.deleted_at = deleted_at if deleted_at is not None else None
2861        '''
2862         If this AccountAttachment was deleted, the time it was deleted.
2863        '''
2864        self.timestamp = timestamp if timestamp is not None else None
2865        '''
2866         The time at which the AccountAttachment state was recorded.
2867        '''
2868
2869    def __repr__(self):
2870        return '<sdm.AccountAttachmentHistory ' + \
2871            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2872            'activity_id: ' + repr(self.activity_id) + ' ' +\
2873            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2874            'timestamp: ' + repr(self.timestamp) + ' ' +\
2875            '>'
2876
2877    def to_dict(self):
2878        return {
2879            'account_attachment': self.account_attachment,
2880            'activity_id': self.activity_id,
2881            'deleted_at': self.deleted_at,
2882            'timestamp': self.timestamp,
2883        }
2884
2885    @classmethod
2886    def from_dict(cls, d):
2887        return cls(
2888            account_attachment=d.get('account_attachment'),
2889            activity_id=d.get('activity_id'),
2890            deleted_at=d.get('deleted_at'),
2891            timestamp=d.get('timestamp'),
2892        )

AccountAttachmentHistory records the state of an AccountAttachment at a given point in time, where every change (create or delete) to an AccountAttachment produces an AccountAttachmentHistory record.

AccountAttachmentHistory( account_attachment=None, activity_id=None, deleted_at=None, timestamp=None)
2844    def __init__(
2845        self,
2846        account_attachment=None,
2847        activity_id=None,
2848        deleted_at=None,
2849        timestamp=None,
2850    ):
2851        self.account_attachment = account_attachment if account_attachment is not None else None
2852        '''
2853         The complete AccountAttachment state at this time.
2854        '''
2855        self.activity_id = activity_id if activity_id is not None else ''
2856        '''
2857         The unique identifier of the Activity that produced this change to the AccountAttachment.
2858         May be empty for some system-initiated updates.
2859        '''
2860        self.deleted_at = deleted_at if deleted_at is not None else None
2861        '''
2862         If this AccountAttachment was deleted, the time it was deleted.
2863        '''
2864        self.timestamp = timestamp if timestamp is not None else None
2865        '''
2866         The time at which the AccountAttachment state was recorded.
2867        '''
account_attachment

The complete AccountAttachment state at this time.

activity_id

The unique identifier of the Activity that produced this change to the AccountAttachment. May be empty for some system-initiated updates.

deleted_at

If this AccountAttachment was deleted, the time it was deleted.

timestamp

The time at which the AccountAttachment state was recorded.

def to_dict(self)
2877    def to_dict(self):
2878        return {
2879            'account_attachment': self.account_attachment,
2880            'activity_id': self.activity_id,
2881            'deleted_at': self.deleted_at,
2882            'timestamp': self.timestamp,
2883        }
@classmethod
def from_dict(cls, d)
2885    @classmethod
2886    def from_dict(cls, d):
2887        return cls(
2888            account_attachment=d.get('account_attachment'),
2889            activity_id=d.get('activity_id'),
2890            deleted_at=d.get('deleted_at'),
2891            timestamp=d.get('timestamp'),
2892        )
class AccountCreateResponse:
2895class AccountCreateResponse:
2896    '''
2897         AccountCreateResponse reports how the Accounts were created in the system.
2898    '''
2899    __slots__ = [
2900        'access_key',
2901        'account',
2902        'meta',
2903        'rate_limit',
2904        'secret_key',
2905        'token',
2906    ]
2907
2908    def __init__(
2909        self,
2910        access_key=None,
2911        account=None,
2912        meta=None,
2913        rate_limit=None,
2914        secret_key=None,
2915        token=None,
2916    ):
2917        self.access_key = access_key if access_key is not None else ''
2918        '''
2919         ID part of the API key.
2920        '''
2921        self.account = account if account is not None else None
2922        '''
2923         The created Account.
2924        '''
2925        self.meta = meta if meta is not None else None
2926        '''
2927         Reserved for future use.
2928        '''
2929        self.rate_limit = rate_limit if rate_limit is not None else None
2930        '''
2931         Rate limit information.
2932        '''
2933        self.secret_key = secret_key if secret_key is not None else ''
2934        '''
2935         Secret part of the API key.
2936        '''
2937        self.token = token if token is not None else ''
2938        '''
2939         The auth token generated for the Account. The Account will use this token to
2940         authenticate with the strongDM API.
2941        '''
2942
2943    def __repr__(self):
2944        return '<sdm.AccountCreateResponse ' + \
2945            'access_key: ' + repr(self.access_key) + ' ' +\
2946            'account: ' + repr(self.account) + ' ' +\
2947            'meta: ' + repr(self.meta) + ' ' +\
2948            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2949            'secret_key: ' + repr(self.secret_key) + ' ' +\
2950            'token: ' + repr(self.token) + ' ' +\
2951            '>'
2952
2953    def to_dict(self):
2954        return {
2955            'access_key': self.access_key,
2956            'account': self.account,
2957            'meta': self.meta,
2958            'rate_limit': self.rate_limit,
2959            'secret_key': self.secret_key,
2960            'token': self.token,
2961        }
2962
2963    @classmethod
2964    def from_dict(cls, d):
2965        return cls(
2966            access_key=d.get('access_key'),
2967            account=d.get('account'),
2968            meta=d.get('meta'),
2969            rate_limit=d.get('rate_limit'),
2970            secret_key=d.get('secret_key'),
2971            token=d.get('token'),
2972        )

AccountCreateResponse reports how the Accounts were created in the system.

AccountCreateResponse( access_key=None, account=None, meta=None, rate_limit=None, secret_key=None, token=None)
2908    def __init__(
2909        self,
2910        access_key=None,
2911        account=None,
2912        meta=None,
2913        rate_limit=None,
2914        secret_key=None,
2915        token=None,
2916    ):
2917        self.access_key = access_key if access_key is not None else ''
2918        '''
2919         ID part of the API key.
2920        '''
2921        self.account = account if account is not None else None
2922        '''
2923         The created Account.
2924        '''
2925        self.meta = meta if meta is not None else None
2926        '''
2927         Reserved for future use.
2928        '''
2929        self.rate_limit = rate_limit if rate_limit is not None else None
2930        '''
2931         Rate limit information.
2932        '''
2933        self.secret_key = secret_key if secret_key is not None else ''
2934        '''
2935         Secret part of the API key.
2936        '''
2937        self.token = token if token is not None else ''
2938        '''
2939         The auth token generated for the Account. The Account will use this token to
2940         authenticate with the strongDM API.
2941        '''
access_key

ID part of the API key.

account

The created Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

secret_key

Secret part of the API key.

token

The auth token generated for the Account. The Account will use this token to authenticate with the strongDM API.

def to_dict(self)
2953    def to_dict(self):
2954        return {
2955            'access_key': self.access_key,
2956            'account': self.account,
2957            'meta': self.meta,
2958            'rate_limit': self.rate_limit,
2959            'secret_key': self.secret_key,
2960            'token': self.token,
2961        }
@classmethod
def from_dict(cls, d)
2963    @classmethod
2964    def from_dict(cls, d):
2965        return cls(
2966            access_key=d.get('access_key'),
2967            account=d.get('account'),
2968            meta=d.get('meta'),
2969            rate_limit=d.get('rate_limit'),
2970            secret_key=d.get('secret_key'),
2971            token=d.get('token'),
2972        )
class AccountDeleteResponse:
2975class AccountDeleteResponse:
2976    '''
2977         AccountDeleteResponse returns information about a Account that was deleted.
2978    '''
2979    __slots__ = [
2980        'meta',
2981        'rate_limit',
2982    ]
2983
2984    def __init__(
2985        self,
2986        meta=None,
2987        rate_limit=None,
2988    ):
2989        self.meta = meta if meta is not None else None
2990        '''
2991         Reserved for future use.
2992        '''
2993        self.rate_limit = rate_limit if rate_limit is not None else None
2994        '''
2995         Rate limit information.
2996        '''
2997
2998    def __repr__(self):
2999        return '<sdm.AccountDeleteResponse ' + \
3000            'meta: ' + repr(self.meta) + ' ' +\
3001            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3002            '>'
3003
3004    def to_dict(self):
3005        return {
3006            'meta': self.meta,
3007            'rate_limit': self.rate_limit,
3008        }
3009
3010    @classmethod
3011    def from_dict(cls, d):
3012        return cls(
3013            meta=d.get('meta'),
3014            rate_limit=d.get('rate_limit'),
3015        )

AccountDeleteResponse returns information about a Account that was deleted.

AccountDeleteResponse(meta=None, rate_limit=None)
2984    def __init__(
2985        self,
2986        meta=None,
2987        rate_limit=None,
2988    ):
2989        self.meta = meta if meta is not None else None
2990        '''
2991         Reserved for future use.
2992        '''
2993        self.rate_limit = rate_limit if rate_limit is not None else None
2994        '''
2995         Rate limit information.
2996        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3004    def to_dict(self):
3005        return {
3006            'meta': self.meta,
3007            'rate_limit': self.rate_limit,
3008        }
@classmethod
def from_dict(cls, d)
3010    @classmethod
3011    def from_dict(cls, d):
3012        return cls(
3013            meta=d.get('meta'),
3014            rate_limit=d.get('rate_limit'),
3015        )
class AccountGetResponse:
3018class AccountGetResponse:
3019    '''
3020         AccountGetResponse returns a requested Account.
3021    '''
3022    __slots__ = [
3023        'account',
3024        'meta',
3025        'rate_limit',
3026    ]
3027
3028    def __init__(
3029        self,
3030        account=None,
3031        meta=None,
3032        rate_limit=None,
3033    ):
3034        self.account = account if account is not None else None
3035        '''
3036         The requested Account.
3037        '''
3038        self.meta = meta if meta is not None else None
3039        '''
3040         Reserved for future use.
3041        '''
3042        self.rate_limit = rate_limit if rate_limit is not None else None
3043        '''
3044         Rate limit information.
3045        '''
3046
3047    def __repr__(self):
3048        return '<sdm.AccountGetResponse ' + \
3049            'account: ' + repr(self.account) + ' ' +\
3050            'meta: ' + repr(self.meta) + ' ' +\
3051            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3052            '>'
3053
3054    def to_dict(self):
3055        return {
3056            'account': self.account,
3057            'meta': self.meta,
3058            'rate_limit': self.rate_limit,
3059        }
3060
3061    @classmethod
3062    def from_dict(cls, d):
3063        return cls(
3064            account=d.get('account'),
3065            meta=d.get('meta'),
3066            rate_limit=d.get('rate_limit'),
3067        )

AccountGetResponse returns a requested Account.

AccountGetResponse(account=None, meta=None, rate_limit=None)
3028    def __init__(
3029        self,
3030        account=None,
3031        meta=None,
3032        rate_limit=None,
3033    ):
3034        self.account = account if account is not None else None
3035        '''
3036         The requested Account.
3037        '''
3038        self.meta = meta if meta is not None else None
3039        '''
3040         Reserved for future use.
3041        '''
3042        self.rate_limit = rate_limit if rate_limit is not None else None
3043        '''
3044         Rate limit information.
3045        '''
account

The requested Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3054    def to_dict(self):
3055        return {
3056            'account': self.account,
3057            'meta': self.meta,
3058            'rate_limit': self.rate_limit,
3059        }
@classmethod
def from_dict(cls, d)
3061    @classmethod
3062    def from_dict(cls, d):
3063        return cls(
3064            account=d.get('account'),
3065            meta=d.get('meta'),
3066            rate_limit=d.get('rate_limit'),
3067        )
class AccountGrant:
3070class AccountGrant:
3071    '''
3072         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
3073    '''
3074    __slots__ = [
3075        'access_request_id',
3076        'access_rule',
3077        'account_id',
3078        'id',
3079        'resource_id',
3080        'start_from',
3081        'valid_until',
3082    ]
3083
3084    def __init__(
3085        self,
3086        access_request_id=None,
3087        access_rule=None,
3088        account_id=None,
3089        id=None,
3090        resource_id=None,
3091        start_from=None,
3092        valid_until=None,
3093    ):
3094        self.access_request_id = access_request_id if access_request_id is not None else ''
3095        '''
3096         The access request ID that created this AccountGrant, if any.
3097        '''
3098        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
3099        )
3100        '''
3101         The access rule associated with this AccountGrant.
3102        '''
3103        self.account_id = account_id if account_id is not None else ''
3104        '''
3105         The account ID of this AccountGrant.
3106        '''
3107        self.id = id if id is not None else ''
3108        '''
3109         Unique identifier of the AccountGrant.
3110        '''
3111        self.resource_id = resource_id if resource_id is not None else ''
3112        '''
3113         The resource ID of this AccountGrant.
3114        '''
3115        self.start_from = start_from if start_from is not None else None
3116        '''
3117         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
3118        '''
3119        self.valid_until = valid_until if valid_until is not None else None
3120        '''
3121         The timestamp when the resource grant will expire.
3122        '''
3123
3124    def __repr__(self):
3125        return '<sdm.AccountGrant ' + \
3126            'access_request_id: ' + repr(self.access_request_id) + ' ' +\
3127            'access_rule: ' + repr(self.access_rule) + ' ' +\
3128            'account_id: ' + repr(self.account_id) + ' ' +\
3129            'id: ' + repr(self.id) + ' ' +\
3130            'resource_id: ' + repr(self.resource_id) + ' ' +\
3131            'start_from: ' + repr(self.start_from) + ' ' +\
3132            'valid_until: ' + repr(self.valid_until) + ' ' +\
3133            '>'
3134
3135    def to_dict(self):
3136        return {
3137            'access_request_id': self.access_request_id,
3138            'access_rule': self.access_rule,
3139            'account_id': self.account_id,
3140            'id': self.id,
3141            'resource_id': self.resource_id,
3142            'start_from': self.start_from,
3143            'valid_until': self.valid_until,
3144        }
3145
3146    @classmethod
3147    def from_dict(cls, d):
3148        return cls(
3149            access_request_id=d.get('access_request_id'),
3150            access_rule=d.get('access_rule'),
3151            account_id=d.get('account_id'),
3152            id=d.get('id'),
3153            resource_id=d.get('resource_id'),
3154            start_from=d.get('start_from'),
3155            valid_until=d.get('valid_until'),
3156        )

AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.

AccountGrant( access_request_id=None, access_rule=None, account_id=None, id=None, resource_id=None, start_from=None, valid_until=None)
3084    def __init__(
3085        self,
3086        access_request_id=None,
3087        access_rule=None,
3088        account_id=None,
3089        id=None,
3090        resource_id=None,
3091        start_from=None,
3092        valid_until=None,
3093    ):
3094        self.access_request_id = access_request_id if access_request_id is not None else ''
3095        '''
3096         The access request ID that created this AccountGrant, if any.
3097        '''
3098        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
3099        )
3100        '''
3101         The access rule associated with this AccountGrant.
3102        '''
3103        self.account_id = account_id if account_id is not None else ''
3104        '''
3105         The account ID of this AccountGrant.
3106        '''
3107        self.id = id if id is not None else ''
3108        '''
3109         Unique identifier of the AccountGrant.
3110        '''
3111        self.resource_id = resource_id if resource_id is not None else ''
3112        '''
3113         The resource ID of this AccountGrant.
3114        '''
3115        self.start_from = start_from if start_from is not None else None
3116        '''
3117         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
3118        '''
3119        self.valid_until = valid_until if valid_until is not None else None
3120        '''
3121         The timestamp when the resource grant will expire.
3122        '''
access_request_id

The access request ID that created this AccountGrant, if any.

access_rule

The access rule associated with this AccountGrant.

account_id

The account ID of this AccountGrant.

id

Unique identifier of the AccountGrant.

resource_id

The resource ID of this AccountGrant.

start_from

The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.

valid_until

The timestamp when the resource grant will expire.

def to_dict(self)
3135    def to_dict(self):
3136        return {
3137            'access_request_id': self.access_request_id,
3138            'access_rule': self.access_rule,
3139            'account_id': self.account_id,
3140            'id': self.id,
3141            'resource_id': self.resource_id,
3142            'start_from': self.start_from,
3143            'valid_until': self.valid_until,
3144        }
@classmethod
def from_dict(cls, d)
3146    @classmethod
3147    def from_dict(cls, d):
3148        return cls(
3149            access_request_id=d.get('access_request_id'),
3150            access_rule=d.get('access_rule'),
3151            account_id=d.get('account_id'),
3152            id=d.get('id'),
3153            resource_id=d.get('resource_id'),
3154            start_from=d.get('start_from'),
3155            valid_until=d.get('valid_until'),
3156        )
class AccountGrantCreateResponse:
3159class AccountGrantCreateResponse:
3160    '''
3161         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
3162    '''
3163    __slots__ = [
3164        'account_grant',
3165        'meta',
3166        'rate_limit',
3167    ]
3168
3169    def __init__(
3170        self,
3171        account_grant=None,
3172        meta=None,
3173        rate_limit=None,
3174    ):
3175        self.account_grant = account_grant if account_grant is not None else None
3176        '''
3177         The created AccountGrant.
3178        '''
3179        self.meta = meta if meta is not None else None
3180        '''
3181         Reserved for future use.
3182        '''
3183        self.rate_limit = rate_limit if rate_limit is not None else None
3184        '''
3185         Rate limit information.
3186        '''
3187
3188    def __repr__(self):
3189        return '<sdm.AccountGrantCreateResponse ' + \
3190            'account_grant: ' + repr(self.account_grant) + ' ' +\
3191            'meta: ' + repr(self.meta) + ' ' +\
3192            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3193            '>'
3194
3195    def to_dict(self):
3196        return {
3197            'account_grant': self.account_grant,
3198            'meta': self.meta,
3199            'rate_limit': self.rate_limit,
3200        }
3201
3202    @classmethod
3203    def from_dict(cls, d):
3204        return cls(
3205            account_grant=d.get('account_grant'),
3206            meta=d.get('meta'),
3207            rate_limit=d.get('rate_limit'),
3208        )

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

AccountGrantCreateResponse(account_grant=None, meta=None, rate_limit=None)
3169    def __init__(
3170        self,
3171        account_grant=None,
3172        meta=None,
3173        rate_limit=None,
3174    ):
3175        self.account_grant = account_grant if account_grant is not None else None
3176        '''
3177         The created AccountGrant.
3178        '''
3179        self.meta = meta if meta is not None else None
3180        '''
3181         Reserved for future use.
3182        '''
3183        self.rate_limit = rate_limit if rate_limit is not None else None
3184        '''
3185         Rate limit information.
3186        '''
account_grant

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3195    def to_dict(self):
3196        return {
3197            'account_grant': self.account_grant,
3198            'meta': self.meta,
3199            'rate_limit': self.rate_limit,
3200        }
@classmethod
def from_dict(cls, d)
3202    @classmethod
3203    def from_dict(cls, d):
3204        return cls(
3205            account_grant=d.get('account_grant'),
3206            meta=d.get('meta'),
3207            rate_limit=d.get('rate_limit'),
3208        )
class AccountGrantDeleteResponse:
3211class AccountGrantDeleteResponse:
3212    '''
3213         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
3214    '''
3215    __slots__ = [
3216        'meta',
3217        'rate_limit',
3218    ]
3219
3220    def __init__(
3221        self,
3222        meta=None,
3223        rate_limit=None,
3224    ):
3225        self.meta = meta if meta is not None else None
3226        '''
3227         Reserved for future use.
3228        '''
3229        self.rate_limit = rate_limit if rate_limit is not None else None
3230        '''
3231         Rate limit information.
3232        '''
3233
3234    def __repr__(self):
3235        return '<sdm.AccountGrantDeleteResponse ' + \
3236            'meta: ' + repr(self.meta) + ' ' +\
3237            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3238            '>'
3239
3240    def to_dict(self):
3241        return {
3242            'meta': self.meta,
3243            'rate_limit': self.rate_limit,
3244        }
3245
3246    @classmethod
3247    def from_dict(cls, d):
3248        return cls(
3249            meta=d.get('meta'),
3250            rate_limit=d.get('rate_limit'),
3251        )

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

AccountGrantDeleteResponse(meta=None, rate_limit=None)
3220    def __init__(
3221        self,
3222        meta=None,
3223        rate_limit=None,
3224    ):
3225        self.meta = meta if meta is not None else None
3226        '''
3227         Reserved for future use.
3228        '''
3229        self.rate_limit = rate_limit if rate_limit is not None else None
3230        '''
3231         Rate limit information.
3232        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3240    def to_dict(self):
3241        return {
3242            'meta': self.meta,
3243            'rate_limit': self.rate_limit,
3244        }
@classmethod
def from_dict(cls, d)
3246    @classmethod
3247    def from_dict(cls, d):
3248        return cls(
3249            meta=d.get('meta'),
3250            rate_limit=d.get('rate_limit'),
3251        )
class AccountGrantGetResponse:
3254class AccountGrantGetResponse:
3255    '''
3256         AccountGrantGetResponse returns a requested AccountGrant.
3257    '''
3258    __slots__ = [
3259        'account_grant',
3260        'meta',
3261        'rate_limit',
3262    ]
3263
3264    def __init__(
3265        self,
3266        account_grant=None,
3267        meta=None,
3268        rate_limit=None,
3269    ):
3270        self.account_grant = account_grant if account_grant is not None else None
3271        '''
3272         The requested AccountGrant.
3273        '''
3274        self.meta = meta if meta is not None else None
3275        '''
3276         Reserved for future use.
3277        '''
3278        self.rate_limit = rate_limit if rate_limit is not None else None
3279        '''
3280         Rate limit information.
3281        '''
3282
3283    def __repr__(self):
3284        return '<sdm.AccountGrantGetResponse ' + \
3285            'account_grant: ' + repr(self.account_grant) + ' ' +\
3286            'meta: ' + repr(self.meta) + ' ' +\
3287            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3288            '>'
3289
3290    def to_dict(self):
3291        return {
3292            'account_grant': self.account_grant,
3293            'meta': self.meta,
3294            'rate_limit': self.rate_limit,
3295        }
3296
3297    @classmethod
3298    def from_dict(cls, d):
3299        return cls(
3300            account_grant=d.get('account_grant'),
3301            meta=d.get('meta'),
3302            rate_limit=d.get('rate_limit'),
3303        )

AccountGrantGetResponse returns a requested AccountGrant.

AccountGrantGetResponse(account_grant=None, meta=None, rate_limit=None)
3264    def __init__(
3265        self,
3266        account_grant=None,
3267        meta=None,
3268        rate_limit=None,
3269    ):
3270        self.account_grant = account_grant if account_grant is not None else None
3271        '''
3272         The requested AccountGrant.
3273        '''
3274        self.meta = meta if meta is not None else None
3275        '''
3276         Reserved for future use.
3277        '''
3278        self.rate_limit = rate_limit if rate_limit is not None else None
3279        '''
3280         Rate limit information.
3281        '''
account_grant

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3290    def to_dict(self):
3291        return {
3292            'account_grant': self.account_grant,
3293            'meta': self.meta,
3294            'rate_limit': self.rate_limit,
3295        }
@classmethod
def from_dict(cls, d)
3297    @classmethod
3298    def from_dict(cls, d):
3299        return cls(
3300            account_grant=d.get('account_grant'),
3301            meta=d.get('meta'),
3302            rate_limit=d.get('rate_limit'),
3303        )
class AccountGrantHistory:
3306class AccountGrantHistory:
3307    '''
3308         AccountGrantHistory records the state of an AccountGrant at a given point in time,
3309     where every change (create or delete) to an AccountGrant produces an
3310     AccountGrantHistory record.
3311    '''
3312    __slots__ = [
3313        'account_grant',
3314        'activity_id',
3315        'deleted_at',
3316        'timestamp',
3317    ]
3318
3319    def __init__(
3320        self,
3321        account_grant=None,
3322        activity_id=None,
3323        deleted_at=None,
3324        timestamp=None,
3325    ):
3326        self.account_grant = account_grant if account_grant is not None else None
3327        '''
3328         The complete AccountGrant state at this time.
3329        '''
3330        self.activity_id = activity_id if activity_id is not None else ''
3331        '''
3332         The unique identifier of the Activity that produced this change to the AccountGrant.
3333         May be empty for some system-initiated updates.
3334        '''
3335        self.deleted_at = deleted_at if deleted_at is not None else None
3336        '''
3337         If this AccountGrant was deleted, the time it was deleted.
3338        '''
3339        self.timestamp = timestamp if timestamp is not None else None
3340        '''
3341         The time at which the AccountGrant state was recorded.
3342        '''
3343
3344    def __repr__(self):
3345        return '<sdm.AccountGrantHistory ' + \
3346            'account_grant: ' + repr(self.account_grant) + ' ' +\
3347            'activity_id: ' + repr(self.activity_id) + ' ' +\
3348            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3349            'timestamp: ' + repr(self.timestamp) + ' ' +\
3350            '>'
3351
3352    def to_dict(self):
3353        return {
3354            'account_grant': self.account_grant,
3355            'activity_id': self.activity_id,
3356            'deleted_at': self.deleted_at,
3357            'timestamp': self.timestamp,
3358        }
3359
3360    @classmethod
3361    def from_dict(cls, d):
3362        return cls(
3363            account_grant=d.get('account_grant'),
3364            activity_id=d.get('activity_id'),
3365            deleted_at=d.get('deleted_at'),
3366            timestamp=d.get('timestamp'),
3367        )

AccountGrantHistory records the state of an AccountGrant at a given point in time, where every change (create or delete) to an AccountGrant produces an AccountGrantHistory record.

AccountGrantHistory( account_grant=None, activity_id=None, deleted_at=None, timestamp=None)
3319    def __init__(
3320        self,
3321        account_grant=None,
3322        activity_id=None,
3323        deleted_at=None,
3324        timestamp=None,
3325    ):
3326        self.account_grant = account_grant if account_grant is not None else None
3327        '''
3328         The complete AccountGrant state at this time.
3329        '''
3330        self.activity_id = activity_id if activity_id is not None else ''
3331        '''
3332         The unique identifier of the Activity that produced this change to the AccountGrant.
3333         May be empty for some system-initiated updates.
3334        '''
3335        self.deleted_at = deleted_at if deleted_at is not None else None
3336        '''
3337         If this AccountGrant was deleted, the time it was deleted.
3338        '''
3339        self.timestamp = timestamp if timestamp is not None else None
3340        '''
3341         The time at which the AccountGrant state was recorded.
3342        '''
account_grant

The complete AccountGrant state at this time.

activity_id

The unique identifier of the Activity that produced this change to the AccountGrant. May be empty for some system-initiated updates.

deleted_at

If this AccountGrant was deleted, the time it was deleted.

timestamp

The time at which the AccountGrant state was recorded.

def to_dict(self)
3352    def to_dict(self):
3353        return {
3354            'account_grant': self.account_grant,
3355            'activity_id': self.activity_id,
3356            'deleted_at': self.deleted_at,
3357            'timestamp': self.timestamp,
3358        }
@classmethod
def from_dict(cls, d)
3360    @classmethod
3361    def from_dict(cls, d):
3362        return cls(
3363            account_grant=d.get('account_grant'),
3364            activity_id=d.get('activity_id'),
3365            deleted_at=d.get('deleted_at'),
3366            timestamp=d.get('timestamp'),
3367        )
class AccountGroup:
3370class AccountGroup:
3371    '''
3372         An AccountGroup is a link between an Account and a Group.
3373    '''
3374    __slots__ = [
3375        'account_id',
3376        'group_id',
3377        'id',
3378    ]
3379
3380    def __init__(
3381        self,
3382        account_id=None,
3383        group_id=None,
3384        id=None,
3385    ):
3386        self.account_id = account_id if account_id is not None else ''
3387        '''
3388         Unique identifier of the Account.
3389        '''
3390        self.group_id = group_id if group_id is not None else ''
3391        '''
3392         Unique identifier of the Group.
3393        '''
3394        self.id = id if id is not None else ''
3395        '''
3396         Unique identifier of the AccountGroup.
3397        '''
3398
3399    def __repr__(self):
3400        return '<sdm.AccountGroup ' + \
3401            'account_id: ' + repr(self.account_id) + ' ' +\
3402            'group_id: ' + repr(self.group_id) + ' ' +\
3403            'id: ' + repr(self.id) + ' ' +\
3404            '>'
3405
3406    def to_dict(self):
3407        return {
3408            'account_id': self.account_id,
3409            'group_id': self.group_id,
3410            'id': self.id,
3411        }
3412
3413    @classmethod
3414    def from_dict(cls, d):
3415        return cls(
3416            account_id=d.get('account_id'),
3417            group_id=d.get('group_id'),
3418            id=d.get('id'),
3419        )

An AccountGroup is a link between an Account and a Group.

AccountGroup(account_id=None, group_id=None, id=None)
3380    def __init__(
3381        self,
3382        account_id=None,
3383        group_id=None,
3384        id=None,
3385    ):
3386        self.account_id = account_id if account_id is not None else ''
3387        '''
3388         Unique identifier of the Account.
3389        '''
3390        self.group_id = group_id if group_id is not None else ''
3391        '''
3392         Unique identifier of the Group.
3393        '''
3394        self.id = id if id is not None else ''
3395        '''
3396         Unique identifier of the AccountGroup.
3397        '''
account_id

Unique identifier of the Account.

group_id

Unique identifier of the Group.

id

Unique identifier of the AccountGroup.

def to_dict(self)
3406    def to_dict(self):
3407        return {
3408            'account_id': self.account_id,
3409            'group_id': self.group_id,
3410            'id': self.id,
3411        }
@classmethod
def from_dict(cls, d)
3413    @classmethod
3414    def from_dict(cls, d):
3415        return cls(
3416            account_id=d.get('account_id'),
3417            group_id=d.get('group_id'),
3418            id=d.get('id'),
3419        )
class AccountGroupCreateRequest:
3422class AccountGroupCreateRequest:
3423    '''
3424         AccountGroupCreateRequest specifies an AccountGroup to create.
3425    '''
3426    __slots__ = [
3427        'account_group',
3428    ]
3429
3430    def __init__(
3431        self,
3432        account_group=None,
3433    ):
3434        self.account_group = account_group if account_group is not None else None
3435        '''
3436         Parameters to define the new AccountGroup.
3437        '''
3438
3439    def __repr__(self):
3440        return '<sdm.AccountGroupCreateRequest ' + \
3441            'account_group: ' + repr(self.account_group) + ' ' +\
3442            '>'
3443
3444    def to_dict(self):
3445        return {
3446            'account_group': self.account_group,
3447        }
3448
3449    @classmethod
3450    def from_dict(cls, d):
3451        return cls(account_group=d.get('account_group'), )

AccountGroupCreateRequest specifies an AccountGroup to create.

AccountGroupCreateRequest(account_group=None)
3430    def __init__(
3431        self,
3432        account_group=None,
3433    ):
3434        self.account_group = account_group if account_group is not None else None
3435        '''
3436         Parameters to define the new AccountGroup.
3437        '''
account_group

Parameters to define the new AccountGroup.

def to_dict(self)
3444    def to_dict(self):
3445        return {
3446            'account_group': self.account_group,
3447        }
@classmethod
def from_dict(cls, d)
3449    @classmethod
3450    def from_dict(cls, d):
3451        return cls(account_group=d.get('account_group'), )
class AccountGroupCreateResponse:
3454class AccountGroupCreateResponse:
3455    '''
3456         AccountGroupCreateResponse reports the result of a create.
3457    '''
3458    __slots__ = [
3459        'account_group',
3460        'rate_limit',
3461    ]
3462
3463    def __init__(
3464        self,
3465        account_group=None,
3466        rate_limit=None,
3467    ):
3468        self.account_group = account_group if account_group is not None else None
3469        '''
3470         The created AccountGroup.
3471        '''
3472        self.rate_limit = rate_limit if rate_limit is not None else None
3473        '''
3474         Rate limit information.
3475        '''
3476
3477    def __repr__(self):
3478        return '<sdm.AccountGroupCreateResponse ' + \
3479            'account_group: ' + repr(self.account_group) + ' ' +\
3480            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3481            '>'
3482
3483    def to_dict(self):
3484        return {
3485            'account_group': self.account_group,
3486            'rate_limit': self.rate_limit,
3487        }
3488
3489    @classmethod
3490    def from_dict(cls, d):
3491        return cls(
3492            account_group=d.get('account_group'),
3493            rate_limit=d.get('rate_limit'),
3494        )

AccountGroupCreateResponse reports the result of a create.

AccountGroupCreateResponse(account_group=None, rate_limit=None)
3463    def __init__(
3464        self,
3465        account_group=None,
3466        rate_limit=None,
3467    ):
3468        self.account_group = account_group if account_group is not None else None
3469        '''
3470         The created AccountGroup.
3471        '''
3472        self.rate_limit = rate_limit if rate_limit is not None else None
3473        '''
3474         Rate limit information.
3475        '''
account_group

The created AccountGroup.

rate_limit

Rate limit information.

def to_dict(self)
3483    def to_dict(self):
3484        return {
3485            'account_group': self.account_group,
3486            'rate_limit': self.rate_limit,
3487        }
@classmethod
def from_dict(cls, d)
3489    @classmethod
3490    def from_dict(cls, d):
3491        return cls(
3492            account_group=d.get('account_group'),
3493            rate_limit=d.get('rate_limit'),
3494        )
class AccountGroupDeleteRequest:
3497class AccountGroupDeleteRequest:
3498    '''
3499         GroupDeleteRequest identifies an AccountGroup by ID to delete.
3500    '''
3501    __slots__ = [
3502        'id',
3503    ]
3504
3505    def __init__(
3506        self,
3507        id=None,
3508    ):
3509        self.id = id if id is not None else ''
3510        '''
3511         The unique identifier of the group to delete.
3512        '''
3513
3514    def __repr__(self):
3515        return '<sdm.AccountGroupDeleteRequest ' + \
3516            'id: ' + repr(self.id) + ' ' +\
3517            '>'
3518
3519    def to_dict(self):
3520        return {
3521            'id': self.id,
3522        }
3523
3524    @classmethod
3525    def from_dict(cls, d):
3526        return cls(id=d.get('id'), )

GroupDeleteRequest identifies an AccountGroup by ID to delete.

AccountGroupDeleteRequest(id=None)
3505    def __init__(
3506        self,
3507        id=None,
3508    ):
3509        self.id = id if id is not None else ''
3510        '''
3511         The unique identifier of the group to delete.
3512        '''
id

The unique identifier of the group to delete.

def to_dict(self)
3519    def to_dict(self):
3520        return {
3521            'id': self.id,
3522        }
@classmethod
def from_dict(cls, d)
3524    @classmethod
3525    def from_dict(cls, d):
3526        return cls(id=d.get('id'), )
class AccountGroupDeleteResponse:
3529class AccountGroupDeleteResponse:
3530    '''
3531         GroupDeleteResponse returns information about an AccountGroup that was deleted.
3532    '''
3533    __slots__ = [
3534        'meta',
3535        'rate_limit',
3536    ]
3537
3538    def __init__(
3539        self,
3540        meta=None,
3541        rate_limit=None,
3542    ):
3543        self.meta = meta if meta is not None else None
3544        '''
3545         Reserved for future use.
3546        '''
3547        self.rate_limit = rate_limit if rate_limit is not None else None
3548        '''
3549         Rate limit information.
3550        '''
3551
3552    def __repr__(self):
3553        return '<sdm.AccountGroupDeleteResponse ' + \
3554            'meta: ' + repr(self.meta) + ' ' +\
3555            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3556            '>'
3557
3558    def to_dict(self):
3559        return {
3560            'meta': self.meta,
3561            'rate_limit': self.rate_limit,
3562        }
3563
3564    @classmethod
3565    def from_dict(cls, d):
3566        return cls(
3567            meta=d.get('meta'),
3568            rate_limit=d.get('rate_limit'),
3569        )

GroupDeleteResponse returns information about an AccountGroup that was deleted.

AccountGroupDeleteResponse(meta=None, rate_limit=None)
3538    def __init__(
3539        self,
3540        meta=None,
3541        rate_limit=None,
3542    ):
3543        self.meta = meta if meta is not None else None
3544        '''
3545         Reserved for future use.
3546        '''
3547        self.rate_limit = rate_limit if rate_limit is not None else None
3548        '''
3549         Rate limit information.
3550        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3558    def to_dict(self):
3559        return {
3560            'meta': self.meta,
3561            'rate_limit': self.rate_limit,
3562        }
@classmethod
def from_dict(cls, d)
3564    @classmethod
3565    def from_dict(cls, d):
3566        return cls(
3567            meta=d.get('meta'),
3568            rate_limit=d.get('rate_limit'),
3569        )
class AccountGroupGetRequest:
3572class AccountGroupGetRequest:
3573    '''
3574         AccountGroupGetRequest specifies which AccountGroup to retrieve.
3575    '''
3576    __slots__ = [
3577        'id',
3578    ]
3579
3580    def __init__(
3581        self,
3582        id=None,
3583    ):
3584        self.id = id if id is not None else ''
3585        '''
3586         The unique identifier of the AccountGroup to retrieve.
3587        '''
3588
3589    def __repr__(self):
3590        return '<sdm.AccountGroupGetRequest ' + \
3591            'id: ' + repr(self.id) + ' ' +\
3592            '>'
3593
3594    def to_dict(self):
3595        return {
3596            'id': self.id,
3597        }
3598
3599    @classmethod
3600    def from_dict(cls, d):
3601        return cls(id=d.get('id'), )

AccountGroupGetRequest specifies which AccountGroup to retrieve.

AccountGroupGetRequest(id=None)
3580    def __init__(
3581        self,
3582        id=None,
3583    ):
3584        self.id = id if id is not None else ''
3585        '''
3586         The unique identifier of the AccountGroup to retrieve.
3587        '''
id

The unique identifier of the AccountGroup to retrieve.

def to_dict(self)
3594    def to_dict(self):
3595        return {
3596            'id': self.id,
3597        }
@classmethod
def from_dict(cls, d)
3599    @classmethod
3600    def from_dict(cls, d):
3601        return cls(id=d.get('id'), )
class AccountGroupGetResponse:
3604class AccountGroupGetResponse:
3605    '''
3606         AccountGroupGetResponse returns a requested AccountGroup.
3607    '''
3608    __slots__ = [
3609        'account_group',
3610        'meta',
3611        'rate_limit',
3612    ]
3613
3614    def __init__(
3615        self,
3616        account_group=None,
3617        meta=None,
3618        rate_limit=None,
3619    ):
3620        self.account_group = account_group if account_group is not None else None
3621        '''
3622         The requested AccountGroup.
3623        '''
3624        self.meta = meta if meta is not None else None
3625        '''
3626         Reserved for future use.
3627        '''
3628        self.rate_limit = rate_limit if rate_limit is not None else None
3629        '''
3630         Rate limit information.
3631        '''
3632
3633    def __repr__(self):
3634        return '<sdm.AccountGroupGetResponse ' + \
3635            'account_group: ' + repr(self.account_group) + ' ' +\
3636            'meta: ' + repr(self.meta) + ' ' +\
3637            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3638            '>'
3639
3640    def to_dict(self):
3641        return {
3642            'account_group': self.account_group,
3643            'meta': self.meta,
3644            'rate_limit': self.rate_limit,
3645        }
3646
3647    @classmethod
3648    def from_dict(cls, d):
3649        return cls(
3650            account_group=d.get('account_group'),
3651            meta=d.get('meta'),
3652            rate_limit=d.get('rate_limit'),
3653        )

AccountGroupGetResponse returns a requested AccountGroup.

AccountGroupGetResponse(account_group=None, meta=None, rate_limit=None)
3614    def __init__(
3615        self,
3616        account_group=None,
3617        meta=None,
3618        rate_limit=None,
3619    ):
3620        self.account_group = account_group if account_group is not None else None
3621        '''
3622         The requested AccountGroup.
3623        '''
3624        self.meta = meta if meta is not None else None
3625        '''
3626         Reserved for future use.
3627        '''
3628        self.rate_limit = rate_limit if rate_limit is not None else None
3629        '''
3630         Rate limit information.
3631        '''
account_group

The requested AccountGroup.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3640    def to_dict(self):
3641        return {
3642            'account_group': self.account_group,
3643            'meta': self.meta,
3644            'rate_limit': self.rate_limit,
3645        }
@classmethod
def from_dict(cls, d)
3647    @classmethod
3648    def from_dict(cls, d):
3649        return cls(
3650            account_group=d.get('account_group'),
3651            meta=d.get('meta'),
3652            rate_limit=d.get('rate_limit'),
3653        )
class AccountGroupHistory:
3656class AccountGroupHistory:
3657    '''
3658         AccountGroupHistory records the state of an AccountGroup at a given point in time,
3659     where every change (create, update and delete) to an AccountGroup produces an
3660     AccountGroupHistory record.
3661    '''
3662    __slots__ = [
3663        'account_group',
3664        'activity_id',
3665        'deleted_at',
3666        'timestamp',
3667    ]
3668
3669    def __init__(
3670        self,
3671        account_group=None,
3672        activity_id=None,
3673        deleted_at=None,
3674        timestamp=None,
3675    ):
3676        self.account_group = account_group if account_group is not None else None
3677        '''
3678         The complete AccountGroup state at this time.
3679        '''
3680        self.activity_id = activity_id if activity_id is not None else ''
3681        '''
3682         The unique identifier of the Activity that produced this change to the AccountGroup.
3683         May be empty for some system-initiated updates.
3684        '''
3685        self.deleted_at = deleted_at if deleted_at is not None else None
3686        '''
3687         If this AccountGroup was deleted, the time it was deleted.
3688        '''
3689        self.timestamp = timestamp if timestamp is not None else None
3690        '''
3691         The time at which the AccountGroup state was recorded.
3692        '''
3693
3694    def __repr__(self):
3695        return '<sdm.AccountGroupHistory ' + \
3696            'account_group: ' + repr(self.account_group) + ' ' +\
3697            'activity_id: ' + repr(self.activity_id) + ' ' +\
3698            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3699            'timestamp: ' + repr(self.timestamp) + ' ' +\
3700            '>'
3701
3702    def to_dict(self):
3703        return {
3704            'account_group': self.account_group,
3705            'activity_id': self.activity_id,
3706            'deleted_at': self.deleted_at,
3707            'timestamp': self.timestamp,
3708        }
3709
3710    @classmethod
3711    def from_dict(cls, d):
3712        return cls(
3713            account_group=d.get('account_group'),
3714            activity_id=d.get('activity_id'),
3715            deleted_at=d.get('deleted_at'),
3716            timestamp=d.get('timestamp'),
3717        )

AccountGroupHistory records the state of an AccountGroup at a given point in time, where every change (create, update and delete) to an AccountGroup produces an AccountGroupHistory record.

AccountGroupHistory( account_group=None, activity_id=None, deleted_at=None, timestamp=None)
3669    def __init__(
3670        self,
3671        account_group=None,
3672        activity_id=None,
3673        deleted_at=None,
3674        timestamp=None,
3675    ):
3676        self.account_group = account_group if account_group is not None else None
3677        '''
3678         The complete AccountGroup state at this time.
3679        '''
3680        self.activity_id = activity_id if activity_id is not None else ''
3681        '''
3682         The unique identifier of the Activity that produced this change to the AccountGroup.
3683         May be empty for some system-initiated updates.
3684        '''
3685        self.deleted_at = deleted_at if deleted_at is not None else None
3686        '''
3687         If this AccountGroup was deleted, the time it was deleted.
3688        '''
3689        self.timestamp = timestamp if timestamp is not None else None
3690        '''
3691         The time at which the AccountGroup state was recorded.
3692        '''
account_group

The complete AccountGroup state at this time.

activity_id

The unique identifier of the Activity that produced this change to the AccountGroup. May be empty for some system-initiated updates.

deleted_at

If this AccountGroup was deleted, the time it was deleted.

timestamp

The time at which the AccountGroup state was recorded.

def to_dict(self)
3702    def to_dict(self):
3703        return {
3704            'account_group': self.account_group,
3705            'activity_id': self.activity_id,
3706            'deleted_at': self.deleted_at,
3707            'timestamp': self.timestamp,
3708        }
@classmethod
def from_dict(cls, d)
3710    @classmethod
3711    def from_dict(cls, d):
3712        return cls(
3713            account_group=d.get('account_group'),
3714            activity_id=d.get('activity_id'),
3715            deleted_at=d.get('deleted_at'),
3716            timestamp=d.get('timestamp'),
3717        )
class AccountGroupListRequest:
3720class AccountGroupListRequest:
3721    '''
3722         GroupListRequest specifies criteria for retrieving a list of groups.
3723    '''
3724    __slots__ = [
3725        'filter',
3726    ]
3727
3728    def __init__(
3729        self,
3730        filter=None,
3731    ):
3732        self.filter = filter if filter is not None else ''
3733        '''
3734         A human-readable filter query string.
3735        '''
3736
3737    def __repr__(self):
3738        return '<sdm.AccountGroupListRequest ' + \
3739            'filter: ' + repr(self.filter) + ' ' +\
3740            '>'
3741
3742    def to_dict(self):
3743        return {
3744            'filter': self.filter,
3745        }
3746
3747    @classmethod
3748    def from_dict(cls, d):
3749        return cls(filter=d.get('filter'), )

GroupListRequest specifies criteria for retrieving a list of groups.

AccountGroupListRequest(filter=None)
3728    def __init__(
3729        self,
3730        filter=None,
3731    ):
3732        self.filter = filter if filter is not None else ''
3733        '''
3734         A human-readable filter query string.
3735        '''
filter

A human-readable filter query string.

def to_dict(self)
3742    def to_dict(self):
3743        return {
3744            'filter': self.filter,
3745        }
@classmethod
def from_dict(cls, d)
3747    @classmethod
3748    def from_dict(cls, d):
3749        return cls(filter=d.get('filter'), )
class AccountGroupListResponse:
3752class AccountGroupListResponse:
3753    '''
3754         GroupListResponse returns a list of groups that meet the criteria of a
3755     GroupListRequest.
3756    '''
3757    __slots__ = [
3758        'rate_limit',
3759    ]
3760
3761    def __init__(
3762        self,
3763        rate_limit=None,
3764    ):
3765        self.rate_limit = rate_limit if rate_limit is not None else None
3766        '''
3767         Rate limit information.
3768        '''
3769
3770    def __repr__(self):
3771        return '<sdm.AccountGroupListResponse ' + \
3772            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3773            '>'
3774
3775    def to_dict(self):
3776        return {
3777            'rate_limit': self.rate_limit,
3778        }
3779
3780    @classmethod
3781    def from_dict(cls, d):
3782        return cls(rate_limit=d.get('rate_limit'), )

GroupListResponse returns a list of groups that meet the criteria of a GroupListRequest.

AccountGroupListResponse(rate_limit=None)
3761    def __init__(
3762        self,
3763        rate_limit=None,
3764    ):
3765        self.rate_limit = rate_limit if rate_limit is not None else None
3766        '''
3767         Rate limit information.
3768        '''
rate_limit

Rate limit information.

def to_dict(self)
3775    def to_dict(self):
3776        return {
3777            'rate_limit': self.rate_limit,
3778        }
@classmethod
def from_dict(cls, d)
3780    @classmethod
3781    def from_dict(cls, d):
3782        return cls(rate_limit=d.get('rate_limit'), )
class AccountHistory:
3785class AccountHistory:
3786    '''
3787         AccountHistory records the state of an Account at a given point in time,
3788     where every change (create, update and delete) to an Account produces an
3789     AccountHistory record.
3790    '''
3791    __slots__ = [
3792        'account',
3793        'activity_id',
3794        'deleted_at',
3795        'timestamp',
3796    ]
3797
3798    def __init__(
3799        self,
3800        account=None,
3801        activity_id=None,
3802        deleted_at=None,
3803        timestamp=None,
3804    ):
3805        self.account = account if account is not None else None
3806        '''
3807         The complete Account state at this time.
3808        '''
3809        self.activity_id = activity_id if activity_id is not None else ''
3810        '''
3811         The unique identifier of the Activity that produced this change to the Account.
3812         May be empty for some system-initiated updates.
3813        '''
3814        self.deleted_at = deleted_at if deleted_at is not None else None
3815        '''
3816         If this Account was deleted, the time it was deleted.
3817        '''
3818        self.timestamp = timestamp if timestamp is not None else None
3819        '''
3820         The time at which the Account state was recorded.
3821        '''
3822
3823    def __repr__(self):
3824        return '<sdm.AccountHistory ' + \
3825            'account: ' + repr(self.account) + ' ' +\
3826            'activity_id: ' + repr(self.activity_id) + ' ' +\
3827            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3828            'timestamp: ' + repr(self.timestamp) + ' ' +\
3829            '>'
3830
3831    def to_dict(self):
3832        return {
3833            'account': self.account,
3834            'activity_id': self.activity_id,
3835            'deleted_at': self.deleted_at,
3836            'timestamp': self.timestamp,
3837        }
3838
3839    @classmethod
3840    def from_dict(cls, d):
3841        return cls(
3842            account=d.get('account'),
3843            activity_id=d.get('activity_id'),
3844            deleted_at=d.get('deleted_at'),
3845            timestamp=d.get('timestamp'),
3846        )

AccountHistory records the state of an Account at a given point in time, where every change (create, update and delete) to an Account produces an AccountHistory record.

AccountHistory(account=None, activity_id=None, deleted_at=None, timestamp=None)
3798    def __init__(
3799        self,
3800        account=None,
3801        activity_id=None,
3802        deleted_at=None,
3803        timestamp=None,
3804    ):
3805        self.account = account if account is not None else None
3806        '''
3807         The complete Account state at this time.
3808        '''
3809        self.activity_id = activity_id if activity_id is not None else ''
3810        '''
3811         The unique identifier of the Activity that produced this change to the Account.
3812         May be empty for some system-initiated updates.
3813        '''
3814        self.deleted_at = deleted_at if deleted_at is not None else None
3815        '''
3816         If this Account was deleted, the time it was deleted.
3817        '''
3818        self.timestamp = timestamp if timestamp is not None else None
3819        '''
3820         The time at which the Account state was recorded.
3821        '''
account

The complete Account state at this time.

activity_id

The unique identifier of the Activity that produced this change to the Account. May be empty for some system-initiated updates.

deleted_at

If this Account was deleted, the time it was deleted.

timestamp

The time at which the Account state was recorded.

def to_dict(self)
3831    def to_dict(self):
3832        return {
3833            'account': self.account,
3834            'activity_id': self.activity_id,
3835            'deleted_at': self.deleted_at,
3836            'timestamp': self.timestamp,
3837        }
@classmethod
def from_dict(cls, d)
3839    @classmethod
3840    def from_dict(cls, d):
3841        return cls(
3842            account=d.get('account'),
3843            activity_id=d.get('activity_id'),
3844            deleted_at=d.get('deleted_at'),
3845            timestamp=d.get('timestamp'),
3846        )
class AccountPermission:
3849class AccountPermission:
3850    '''
3851         AccountPermission represents an individual API action available to an account.
3852    '''
3853    __slots__ = [
3854        'account_id',
3855        'granted_at',
3856        'permission',
3857        'scope',
3858        'scoped_id',
3859    ]
3860
3861    def __init__(
3862        self,
3863        account_id=None,
3864        granted_at=None,
3865        permission=None,
3866        scope=None,
3867        scoped_id=None,
3868    ):
3869        self.account_id = account_id if account_id is not None else ''
3870        '''
3871         The unique identifier of the Account this permission belongs to.
3872        '''
3873        self.granted_at = granted_at if granted_at is not None else None
3874        '''
3875         The most recent time at which the permission was granted. If a permission was
3876         granted, revoked, and granted again, this will reflect the later time.
3877        '''
3878        self.permission = permission if permission is not None else ''
3879        '''
3880         The value of this permission, split into vertical and action, one of the Permission constants.
3881        '''
3882        self.scope = scope if scope is not None else ''
3883        '''
3884         The scope of this permission. A global scope means this action can be taken
3885         on any entity; otherwise the action can only be taken on or in the scope of
3886         the scoped id.
3887        '''
3888        self.scoped_id = scoped_id if scoped_id is not None else ''
3889        '''
3890         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3891         role that a team leader has the abillity to remove and add accounts to, or the
3892         ID of a resource that a user has the permission to connect to. If Scope is global,
3893         scoped id is not populated.
3894        '''
3895
3896    def __repr__(self):
3897        return '<sdm.AccountPermission ' + \
3898            'account_id: ' + repr(self.account_id) + ' ' +\
3899            'granted_at: ' + repr(self.granted_at) + ' ' +\
3900            'permission: ' + repr(self.permission) + ' ' +\
3901            'scope: ' + repr(self.scope) + ' ' +\
3902            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
3903            '>'
3904
3905    def to_dict(self):
3906        return {
3907            'account_id': self.account_id,
3908            'granted_at': self.granted_at,
3909            'permission': self.permission,
3910            'scope': self.scope,
3911            'scoped_id': self.scoped_id,
3912        }
3913
3914    @classmethod
3915    def from_dict(cls, d):
3916        return cls(
3917            account_id=d.get('account_id'),
3918            granted_at=d.get('granted_at'),
3919            permission=d.get('permission'),
3920            scope=d.get('scope'),
3921            scoped_id=d.get('scoped_id'),
3922        )

AccountPermission represents an individual API action available to an account.

AccountPermission( account_id=None, granted_at=None, permission=None, scope=None, scoped_id=None)
3861    def __init__(
3862        self,
3863        account_id=None,
3864        granted_at=None,
3865        permission=None,
3866        scope=None,
3867        scoped_id=None,
3868    ):
3869        self.account_id = account_id if account_id is not None else ''
3870        '''
3871         The unique identifier of the Account this permission belongs to.
3872        '''
3873        self.granted_at = granted_at if granted_at is not None else None
3874        '''
3875         The most recent time at which the permission was granted. If a permission was
3876         granted, revoked, and granted again, this will reflect the later time.
3877        '''
3878        self.permission = permission if permission is not None else ''
3879        '''
3880         The value of this permission, split into vertical and action, one of the Permission constants.
3881        '''
3882        self.scope = scope if scope is not None else ''
3883        '''
3884         The scope of this permission. A global scope means this action can be taken
3885         on any entity; otherwise the action can only be taken on or in the scope of
3886         the scoped id.
3887        '''
3888        self.scoped_id = scoped_id if scoped_id is not None else ''
3889        '''
3890         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3891         role that a team leader has the abillity to remove and add accounts to, or the
3892         ID of a resource that a user has the permission to connect to. If Scope is global,
3893         scoped id is not populated.
3894        '''
account_id

The unique identifier of the Account this permission belongs to.

granted_at

The most recent time at which the permission was granted. If a permission was granted, revoked, and granted again, this will reflect the later time.

permission

The value of this permission, split into vertical and action, one of the Permission constants.

scope

The scope of this permission. A global scope means this action can be taken on any entity; otherwise the action can only be taken on or in the scope of the scoped id.

scoped_id

The ID to which or in whose context this operation is permitted. e.g. The ID of a role that a team leader has the abillity to remove and add accounts to, or the ID of a resource that a user has the permission to connect to. If Scope is global, scoped id is not populated.

def to_dict(self)
3905    def to_dict(self):
3906        return {
3907            'account_id': self.account_id,
3908            'granted_at': self.granted_at,
3909            'permission': self.permission,
3910            'scope': self.scope,
3911            'scoped_id': self.scoped_id,
3912        }
@classmethod
def from_dict(cls, d)
3914    @classmethod
3915    def from_dict(cls, d):
3916        return cls(
3917            account_id=d.get('account_id'),
3918            granted_at=d.get('granted_at'),
3919            permission=d.get('permission'),
3920            scope=d.get('scope'),
3921            scoped_id=d.get('scoped_id'),
3922        )
class AccountResource:
3925class AccountResource:
3926    '''
3927         AccountResource represents an individual access grant of a Account to a Resource.
3928    '''
3929    __slots__ = [
3930        'account_grant_id',
3931        'account_id',
3932        'created_at',
3933        'expires_at',
3934        'granted_at',
3935        'resource_id',
3936        'role_id',
3937    ]
3938
3939    def __init__(
3940        self,
3941        account_grant_id=None,
3942        account_id=None,
3943        created_at=None,
3944        expires_at=None,
3945        granted_at=None,
3946        resource_id=None,
3947        role_id=None,
3948    ):
3949        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3950        '''
3951         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3952         If empty, access was not granted through an AccountGrant.
3953        '''
3954        self.account_id = account_id if account_id is not None else ''
3955        '''
3956         The unique identifier of the Account to which access is granted.
3957        '''
3958        self.created_at = created_at if created_at is not None else None
3959        '''
3960         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3961         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3962        '''
3963        self.expires_at = expires_at if expires_at is not None else None
3964        '''
3965         The time at which access will expire. If empty, this access has no expiration.
3966        '''
3967        self.granted_at = granted_at if granted_at is not None else None
3968        '''
3969         The most recent time at which access was granted. If access was granted,
3970         revoked, and granted again, this will reflect the later time.
3971        '''
3972        self.resource_id = resource_id if resource_id is not None else ''
3973        '''
3974         The unique identifier of the Resource to which access is granted.
3975        '''
3976        self.role_id = role_id if role_id is not None else ''
3977        '''
3978         The unique identifier of the Role through which the Account was granted access to the Resource.
3979         If empty, access was not granted through an AccountAttachment to a Role.
3980        '''
3981
3982    def __repr__(self):
3983        return '<sdm.AccountResource ' + \
3984            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
3985            'account_id: ' + repr(self.account_id) + ' ' +\
3986            'created_at: ' + repr(self.created_at) + ' ' +\
3987            'expires_at: ' + repr(self.expires_at) + ' ' +\
3988            'granted_at: ' + repr(self.granted_at) + ' ' +\
3989            'resource_id: ' + repr(self.resource_id) + ' ' +\
3990            'role_id: ' + repr(self.role_id) + ' ' +\
3991            '>'
3992
3993    def to_dict(self):
3994        return {
3995            'account_grant_id': self.account_grant_id,
3996            'account_id': self.account_id,
3997            'created_at': self.created_at,
3998            'expires_at': self.expires_at,
3999            'granted_at': self.granted_at,
4000            'resource_id': self.resource_id,
4001            'role_id': self.role_id,
4002        }
4003
4004    @classmethod
4005    def from_dict(cls, d):
4006        return cls(
4007            account_grant_id=d.get('account_grant_id'),
4008            account_id=d.get('account_id'),
4009            created_at=d.get('created_at'),
4010            expires_at=d.get('expires_at'),
4011            granted_at=d.get('granted_at'),
4012            resource_id=d.get('resource_id'),
4013            role_id=d.get('role_id'),
4014        )

AccountResource represents an individual access grant of a Account to a Resource.

AccountResource( account_grant_id=None, account_id=None, created_at=None, expires_at=None, granted_at=None, resource_id=None, role_id=None)
3939    def __init__(
3940        self,
3941        account_grant_id=None,
3942        account_id=None,
3943        created_at=None,
3944        expires_at=None,
3945        granted_at=None,
3946        resource_id=None,
3947        role_id=None,
3948    ):
3949        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3950        '''
3951         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3952         If empty, access was not granted through an AccountGrant.
3953        '''
3954        self.account_id = account_id if account_id is not None else ''
3955        '''
3956         The unique identifier of the Account to which access is granted.
3957        '''
3958        self.created_at = created_at if created_at is not None else None
3959        '''
3960         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3961         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3962        '''
3963        self.expires_at = expires_at if expires_at is not None else None
3964        '''
3965         The time at which access will expire. If empty, this access has no expiration.
3966        '''
3967        self.granted_at = granted_at if granted_at is not None else None
3968        '''
3969         The most recent time at which access was granted. If access was granted,
3970         revoked, and granted again, this will reflect the later time.
3971        '''
3972        self.resource_id = resource_id if resource_id is not None else ''
3973        '''
3974         The unique identifier of the Resource to which access is granted.
3975        '''
3976        self.role_id = role_id if role_id is not None else ''
3977        '''
3978         The unique identifier of the Role through which the Account was granted access to the Resource.
3979         If empty, access was not granted through an AccountAttachment to a Role.
3980        '''
account_grant_id

The unique identifier of the AccountGrant through which the Account was granted access to the Resource. If empty, access was not granted through an AccountGrant.

account_id

The unique identifier of the Account to which access is granted.

created_at

The time this grant was created, distinct from 'granted at' in the case where access is scheduled for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.

expires_at

The time at which access will expire. If empty, this access has no expiration.

granted_at

The most recent time at which access was granted. If access was granted, revoked, and granted again, this will reflect the later time.

resource_id

The unique identifier of the Resource to which access is granted.

role_id

The unique identifier of the Role through which the Account was granted access to the Resource. If empty, access was not granted through an AccountAttachment to a Role.

def to_dict(self)
3993    def to_dict(self):
3994        return {
3995            'account_grant_id': self.account_grant_id,
3996            'account_id': self.account_id,
3997            'created_at': self.created_at,
3998            'expires_at': self.expires_at,
3999            'granted_at': self.granted_at,
4000            'resource_id': self.resource_id,
4001            'role_id': self.role_id,
4002        }
@classmethod
def from_dict(cls, d)
4004    @classmethod
4005    def from_dict(cls, d):
4006        return cls(
4007            account_grant_id=d.get('account_grant_id'),
4008            account_id=d.get('account_id'),
4009            created_at=d.get('created_at'),
4010            expires_at=d.get('expires_at'),
4011            granted_at=d.get('granted_at'),
4012            resource_id=d.get('resource_id'),
4013            role_id=d.get('role_id'),
4014        )
class AccountResourceHistory:
4017class AccountResourceHistory:
4018    '''
4019         AccountResourceHistory records the state of a AccountResource at a given point in time,
4020     where every change (create or delete) to a AccountResource produces an
4021     AccountResourceHistory record.
4022    '''
4023    __slots__ = [
4024        'account_resource',
4025        'activity_id',
4026        'deleted_at',
4027        'timestamp',
4028    ]
4029
4030    def __init__(
4031        self,
4032        account_resource=None,
4033        activity_id=None,
4034        deleted_at=None,
4035        timestamp=None,
4036    ):
4037        self.account_resource = account_resource if account_resource is not None else None
4038        '''
4039         The complete AccountResource state at this time.
4040        '''
4041        self.activity_id = activity_id if activity_id is not None else ''
4042        '''
4043         The unique identifier of the Activity that produced this change to the AccountResource.
4044         May be empty for some system-initiated updates.
4045        '''
4046        self.deleted_at = deleted_at if deleted_at is not None else None
4047        '''
4048         If this AccountResource was deleted, the time it was deleted.
4049        '''
4050        self.timestamp = timestamp if timestamp is not None else None
4051        '''
4052         The time at which the AccountResource state was recorded.
4053        '''
4054
4055    def __repr__(self):
4056        return '<sdm.AccountResourceHistory ' + \
4057            'account_resource: ' + repr(self.account_resource) + ' ' +\
4058            'activity_id: ' + repr(self.activity_id) + ' ' +\
4059            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
4060            'timestamp: ' + repr(self.timestamp) + ' ' +\
4061            '>'
4062
4063    def to_dict(self):
4064        return {
4065            'account_resource': self.account_resource,
4066            'activity_id': self.activity_id,
4067            'deleted_at': self.deleted_at,
4068            'timestamp': self.timestamp,
4069        }
4070
4071    @classmethod
4072    def from_dict(cls, d):
4073        return cls(
4074            account_resource=d.get('account_resource'),
4075            activity_id=d.get('activity_id'),
4076            deleted_at=d.get('deleted_at'),
4077            timestamp=d.get('timestamp'),
4078        )

AccountResourceHistory records the state of a AccountResource at a given point in time, where every change (create or delete) to a AccountResource produces an AccountResourceHistory record.

AccountResourceHistory( account_resource=None, activity_id=None, deleted_at=None, timestamp=None)
4030    def __init__(
4031        self,
4032        account_resource=None,
4033        activity_id=None,
4034        deleted_at=None,
4035        timestamp=None,
4036    ):
4037        self.account_resource = account_resource if account_resource is not None else None
4038        '''
4039         The complete AccountResource state at this time.
4040        '''
4041        self.activity_id = activity_id if activity_id is not None else ''
4042        '''
4043         The unique identifier of the Activity that produced this change to the AccountResource.
4044         May be empty for some system-initiated updates.
4045        '''
4046        self.deleted_at = deleted_at if deleted_at is not None else None
4047        '''
4048         If this AccountResource was deleted, the time it was deleted.
4049        '''
4050        self.timestamp = timestamp if timestamp is not None else None
4051        '''
4052         The time at which the AccountResource state was recorded.
4053        '''
account_resource

The complete AccountResource state at this time.

activity_id

The unique identifier of the Activity that produced this change to the AccountResource. May be empty for some system-initiated updates.

deleted_at

If this AccountResource was deleted, the time it was deleted.

timestamp

The time at which the AccountResource state was recorded.

def to_dict(self)
4063    def to_dict(self):
4064        return {
4065            'account_resource': self.account_resource,
4066            'activity_id': self.activity_id,
4067            'deleted_at': self.deleted_at,
4068            'timestamp': self.timestamp,
4069        }
@classmethod
def from_dict(cls, d)
4071    @classmethod
4072    def from_dict(cls, d):
4073        return cls(
4074            account_resource=d.get('account_resource'),
4075            activity_id=d.get('activity_id'),
4076            deleted_at=d.get('deleted_at'),
4077            timestamp=d.get('timestamp'),
4078        )
class AccountUpdateResponse:
4081class AccountUpdateResponse:
4082    '''
4083         AccountUpdateResponse returns the fields of a Account after it has been updated by
4084     a AccountUpdateRequest.
4085    '''
4086    __slots__ = [
4087        'account',
4088        'meta',
4089        'rate_limit',
4090    ]
4091
4092    def __init__(
4093        self,
4094        account=None,
4095        meta=None,
4096        rate_limit=None,
4097    ):
4098        self.account = account if account is not None else None
4099        '''
4100         The updated Account.
4101        '''
4102        self.meta = meta if meta is not None else None
4103        '''
4104         Reserved for future use.
4105        '''
4106        self.rate_limit = rate_limit if rate_limit is not None else None
4107        '''
4108         Rate limit information.
4109        '''
4110
4111    def __repr__(self):
4112        return '<sdm.AccountUpdateResponse ' + \
4113            'account: ' + repr(self.account) + ' ' +\
4114            'meta: ' + repr(self.meta) + ' ' +\
4115            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4116            '>'
4117
4118    def to_dict(self):
4119        return {
4120            'account': self.account,
4121            'meta': self.meta,
4122            'rate_limit': self.rate_limit,
4123        }
4124
4125    @classmethod
4126    def from_dict(cls, d):
4127        return cls(
4128            account=d.get('account'),
4129            meta=d.get('meta'),
4130            rate_limit=d.get('rate_limit'),
4131        )

AccountUpdateResponse returns the fields of a Account after it has been updated by a AccountUpdateRequest.

AccountUpdateResponse(account=None, meta=None, rate_limit=None)
4092    def __init__(
4093        self,
4094        account=None,
4095        meta=None,
4096        rate_limit=None,
4097    ):
4098        self.account = account if account is not None else None
4099        '''
4100         The updated Account.
4101        '''
4102        self.meta = meta if meta is not None else None
4103        '''
4104         Reserved for future use.
4105        '''
4106        self.rate_limit = rate_limit if rate_limit is not None else None
4107        '''
4108         Rate limit information.
4109        '''
account

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
4118    def to_dict(self):
4119        return {
4120            'account': self.account,
4121            'meta': self.meta,
4122            'rate_limit': self.rate_limit,
4123        }
@classmethod
def from_dict(cls, d)
4125    @classmethod
4126    def from_dict(cls, d):
4127        return cls(
4128            account=d.get('account'),
4129            meta=d.get('meta'),
4130            rate_limit=d.get('rate_limit'),
4131        )
class ActiveDirectoryEngine:
4134class ActiveDirectoryEngine:
4135    __slots__ = [
4136        'after_read_ttl',
4137        'binddn',
4138        'bindpass',
4139        'certificate',
4140        'connection_timeout',
4141        'do_not_validate_timestamps',
4142        'id',
4143        'insecure_tls',
4144        'key_rotation_interval_days',
4145        'max_backoff_duration',
4146        'name',
4147        'node_selector',
4148        'policy',
4149        'public_key',
4150        'request_timeout',
4151        'secret_store_id',
4152        'secret_store_root_path',
4153        'start_tls',
4154        'tags',
4155        'ttl',
4156        'upndomain',
4157        'url',
4158        'userdn',
4159    ]
4160
4161    def __init__(
4162        self,
4163        after_read_ttl=None,
4164        binddn=None,
4165        bindpass=None,
4166        certificate=None,
4167        connection_timeout=None,
4168        do_not_validate_timestamps=None,
4169        id=None,
4170        insecure_tls=None,
4171        key_rotation_interval_days=None,
4172        max_backoff_duration=None,
4173        name=None,
4174        node_selector=None,
4175        policy=None,
4176        public_key=None,
4177        request_timeout=None,
4178        secret_store_id=None,
4179        secret_store_root_path=None,
4180        start_tls=None,
4181        tags=None,
4182        ttl=None,
4183        upndomain=None,
4184        url=None,
4185        userdn=None,
4186    ):
4187        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
4188        '''
4189         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
4190        '''
4191        self.binddn = binddn if binddn is not None else ''
4192        '''
4193         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
4194        '''
4195        self.bindpass = bindpass if bindpass is not None else ''
4196        '''
4197         Password to use along with binddn when performing user search.
4198        '''
4199        self.certificate = certificate if certificate is not None else ''
4200        '''
4201         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
4202        '''
4203        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
4204        '''
4205         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
4206        '''
4207        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
4208        '''
4209         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
4210        '''
4211        self.id = id if id is not None else ''
4212        '''
4213         Unique identifier of the Secret Engine.
4214        '''
4215        self.insecure_tls = insecure_tls if insecure_tls is not None else False
4216        '''
4217         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
4218        '''
4219        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
4220        '''
4221         An interval of public/private key rotation for secret engine in days
4222        '''
4223        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
4224        '''
4225         The maximum retry duration in case of automatic failure.
4226         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
4227        '''
4228        self.name = name if name is not None else ''
4229        '''
4230         Unique human-readable name of the Secret Engine.
4231        '''
4232        self.node_selector = node_selector if node_selector is not None else ''
4233        '''
4234         node selector is used to narrow down the nodes used to communicate with with secret engine
4235        '''
4236        self.policy = policy if policy is not None else None
4237        '''
4238         Policy for password creation
4239        '''
4240        self.public_key = public_key if public_key is not None else b''
4241        '''
4242         Public key linked with a secret engine
4243        '''
4244        self.request_timeout = request_timeout if request_timeout is not None else 0
4245        '''
4246         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
4247        '''
4248        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4249        '''
4250         Backing secret store identifier
4251        '''
4252        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
4253        '''
4254         Backing Secret Store root path where managed secrets are going to be stored
4255        '''
4256        self.start_tls = start_tls if start_tls is not None else False
4257        '''
4258         If true, issues a StartTLS command after establishing an unencrypted connection.
4259        '''
4260        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4261        '''
4262         Tags is a map of key, value pairs.
4263        '''
4264        self.ttl = ttl if ttl is not None else None
4265        '''
4266         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
4267        '''
4268        self.upndomain = upndomain if upndomain is not None else ''
4269        '''
4270         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
4271        '''
4272        self.url = url if url is not None else ''
4273        '''
4274         The LDAP server to connect to.
4275        '''
4276        self.userdn = userdn if userdn is not None else ''
4277        '''
4278         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
4279        '''
4280
4281    def __repr__(self):
4282        return '<sdm.ActiveDirectoryEngine ' + \
4283            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
4284            'binddn: ' + repr(self.binddn) + ' ' +\
4285            'bindpass: ' + repr(self.bindpass) + ' ' +\
4286            'certificate: ' + repr(self.certificate) + ' ' +\
4287            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
4288            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
4289            'id: ' + repr(self.id) + ' ' +\
4290            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
4291            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
4292            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
4293            'name: ' + repr(self.name) + ' ' +\
4294            'node_selector: ' + repr(self.node_selector) + ' ' +\
4295            'policy: ' + repr(self.policy) + ' ' +\
4296            'public_key: ' + repr(self.public_key) + ' ' +\
4297            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
4298            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4299            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
4300            'start_tls: ' + repr(self.start_tls) + ' ' +\
4301            'tags: ' + repr(self.tags) + ' ' +\
4302            'ttl: ' + repr(self.ttl) + ' ' +\
4303            'upndomain: ' + repr(self.upndomain) + ' ' +\
4304            'url: ' + repr(self.url) + ' ' +\
4305            'userdn: ' + repr(self.userdn) + ' ' +\
4306            '>'
4307
4308    def to_dict(self):
4309        return {
4310            'after_read_ttl': self.after_read_ttl,
4311            'binddn': self.binddn,
4312            'bindpass': self.bindpass,
4313            'certificate': self.certificate,
4314            'connection_timeout': self.connection_timeout,
4315            'do_not_validate_timestamps': self.do_not_validate_timestamps,
4316            'id': self.id,
4317            'insecure_tls': self.insecure_tls,
4318            'key_rotation_interval_days': self.key_rotation_interval_days,
4319            'max_backoff_duration': self.max_backoff_duration,
4320            'name': self.name,
4321            'node_selector': self.node_selector,
4322            'policy': self.policy,
4323            'public_key': self.public_key,
4324            'request_timeout': self.request_timeout,
4325            'secret_store_id': self.secret_store_id,
4326            'secret_store_root_path': self.secret_store_root_path,
4327            'start_tls': self.start_tls,
4328            'tags': self.tags,
4329            'ttl': self.ttl,
4330            'upndomain': self.upndomain,
4331            'url': self.url,
4332            'userdn': self.userdn,
4333        }
4334
4335    @classmethod
4336    def from_dict(cls, d):
4337        return cls(
4338            after_read_ttl=d.get('after_read_ttl'),
4339            binddn=d.get('binddn'),
4340            bindpass=d.get('bindpass'),
4341            certificate=d.get('certificate'),
4342            connection_timeout=d.get('connection_timeout'),
4343            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
4344            id=d.get('id'),
4345            insecure_tls=d.get('insecure_tls'),
4346            key_rotation_interval_days=d.get('key_rotation_interval_days'),
4347            max_backoff_duration=d.get('max_backoff_duration'),
4348            name=d.get('name'),
4349            node_selector=d.get('node_selector'),
4350            policy=d.get('policy'),
4351            public_key=d.get('public_key'),
4352            request_timeout=d.get('request_timeout'),
4353            secret_store_id=d.get('secret_store_id'),
4354            secret_store_root_path=d.get('secret_store_root_path'),
4355            start_tls=d.get('start_tls'),
4356            tags=d.get('tags'),
4357            ttl=d.get('ttl'),
4358            upndomain=d.get('upndomain'),
4359            url=d.get('url'),
4360            userdn=d.get('userdn'),
4361        )
ActiveDirectoryEngine( after_read_ttl=None, binddn=None, bindpass=None, certificate=None, connection_timeout=None, do_not_validate_timestamps=None, id=None, insecure_tls=None, key_rotation_interval_days=None, max_backoff_duration=None, name=None, node_selector=None, policy=None, public_key=None, request_timeout=None, secret_store_id=None, secret_store_root_path=None, start_tls=None, tags=None, ttl=None, upndomain=None, url=None, userdn=None)
4161    def __init__(
4162        self,
4163        after_read_ttl=None,
4164        binddn=None,
4165        bindpass=None,
4166        certificate=None,
4167        connection_timeout=None,
4168        do_not_validate_timestamps=None,
4169        id=None,
4170        insecure_tls=None,
4171        key_rotation_interval_days=None,
4172        max_backoff_duration=None,
4173        name=None,
4174        node_selector=None,
4175        policy=None,
4176        public_key=None,
4177        request_timeout=None,
4178        secret_store_id=None,
4179        secret_store_root_path=None,
4180        start_tls=None,
4181        tags=None,
4182        ttl=None,
4183        upndomain=None,
4184        url=None,
4185        userdn=None,
4186    ):
4187        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
4188        '''
4189         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
4190        '''
4191        self.binddn = binddn if binddn is not None else ''
4192        '''
4193         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
4194        '''
4195        self.bindpass = bindpass if bindpass is not None else ''
4196        '''
4197         Password to use along with binddn when performing user search.
4198        '''
4199        self.certificate = certificate if certificate is not None else ''
4200        '''
4201         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
4202        '''
4203        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
4204        '''
4205         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
4206        '''
4207        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
4208        '''
4209         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
4210        '''
4211        self.id = id if id is not None else ''
4212        '''
4213         Unique identifier of the Secret Engine.
4214        '''
4215        self.insecure_tls = insecure_tls if insecure_tls is not None else False
4216        '''
4217         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
4218        '''
4219        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
4220        '''
4221         An interval of public/private key rotation for secret engine in days
4222        '''
4223        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
4224        '''
4225         The maximum retry duration in case of automatic failure.
4226         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
4227        '''
4228        self.name = name if name is not None else ''
4229        '''
4230         Unique human-readable name of the Secret Engine.
4231        '''
4232        self.node_selector = node_selector if node_selector is not None else ''
4233        '''
4234         node selector is used to narrow down the nodes used to communicate with with secret engine
4235        '''
4236        self.policy = policy if policy is not None else None
4237        '''
4238         Policy for password creation
4239        '''
4240        self.public_key = public_key if public_key is not None else b''
4241        '''
4242         Public key linked with a secret engine
4243        '''
4244        self.request_timeout = request_timeout if request_timeout is not None else 0
4245        '''
4246         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
4247        '''
4248        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4249        '''
4250         Backing secret store identifier
4251        '''
4252        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
4253        '''
4254         Backing Secret Store root path where managed secrets are going to be stored
4255        '''
4256        self.start_tls = start_tls if start_tls is not None else False
4257        '''
4258         If true, issues a StartTLS command after establishing an unencrypted connection.
4259        '''
4260        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4261        '''
4262         Tags is a map of key, value pairs.
4263        '''
4264        self.ttl = ttl if ttl is not None else None
4265        '''
4266         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
4267        '''
4268        self.upndomain = upndomain if upndomain is not None else ''
4269        '''
4270         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
4271        '''
4272        self.url = url if url is not None else ''
4273        '''
4274         The LDAP server to connect to.
4275        '''
4276        self.userdn = userdn if userdn is not None else ''
4277        '''
4278         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
4279        '''
after_read_ttl

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.

binddn

Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com

bindpass

Password to use along with binddn when performing user search.

certificate

CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.

connection_timeout

Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.

do_not_validate_timestamps

If set to true this will prevent password change timestamp validation in Active Directory when validating credentials

id

Unique identifier of the Secret Engine.

insecure_tls

If true, skips LDAP server SSL certificate verification - insecure, use with caution!

key_rotation_interval_days

An interval of public/private key rotation for secret engine in days

max_backoff_duration

The maximum retry duration in case of automatic failure. On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration

name

Unique human-readable name of the Secret Engine.

node_selector

node selector is used to narrow down the nodes used to communicate with with secret engine

policy

Policy for password creation

public_key

Public key linked with a secret engine

request_timeout

Timeout, in seconds, for the connection when making requests against the server before returning back an error.

secret_store_id

Backing secret store identifier

secret_store_root_path

Backing Secret Store root path where managed secrets are going to be stored

start_tls

If true, issues a StartTLS command after establishing an unencrypted connection.

tags

Tags is a map of key, value pairs.

ttl

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.

upndomain

The domain (userPrincipalDomain) used to construct a UPN string for authentication.

url

The LDAP server to connect to.

userdn

Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com

def to_dict(self)
4308    def to_dict(self):
4309        return {
4310            'after_read_ttl': self.after_read_ttl,
4311            'binddn': self.binddn,
4312            'bindpass': self.bindpass,
4313            'certificate': self.certificate,
4314            'connection_timeout': self.connection_timeout,
4315            'do_not_validate_timestamps': self.do_not_validate_timestamps,
4316            'id': self.id,
4317            'insecure_tls': self.insecure_tls,
4318            'key_rotation_interval_days': self.key_rotation_interval_days,
4319            'max_backoff_duration': self.max_backoff_duration,
4320            'name': self.name,
4321            'node_selector': self.node_selector,
4322            'policy': self.policy,
4323            'public_key': self.public_key,
4324            'request_timeout': self.request_timeout,
4325            'secret_store_id': self.secret_store_id,
4326            'secret_store_root_path': self.secret_store_root_path,
4327            'start_tls': self.start_tls,
4328            'tags': self.tags,
4329            'ttl': self.ttl,
4330            'upndomain': self.upndomain,
4331            'url': self.url,
4332            'userdn': self.userdn,
4333        }
@classmethod
def from_dict(cls, d)
4335    @classmethod
4336    def from_dict(cls, d):
4337        return cls(
4338            after_read_ttl=d.get('after_read_ttl'),
4339            binddn=d.get('binddn'),
4340            bindpass=d.get('bindpass'),
4341            certificate=d.get('certificate'),
4342            connection_timeout=d.get('connection_timeout'),
4343            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
4344            id=d.get('id'),
4345            insecure_tls=d.get('insecure_tls'),
4346            key_rotation_interval_days=d.get('key_rotation_interval_days'),
4347            max_backoff_duration=d.get('max_backoff_duration'),
4348            name=d.get('name'),
4349            node_selector=d.get('node_selector'),
4350            policy=d.get('policy'),
4351            public_key=d.get('public_key'),
4352            request_timeout=d.get('request_timeout'),
4353            secret_store_id=d.get('secret_store_id'),
4354            secret_store_root_path=d.get('secret_store_root_path'),
4355            start_tls=d.get('start_tls'),
4356            tags=d.get('tags'),
4357            ttl=d.get('ttl'),
4358            upndomain=d.get('upndomain'),
4359            url=d.get('url'),
4360            userdn=d.get('userdn'),
4361        )
class ActiveDirectoryStore:
4364class ActiveDirectoryStore:
4365    __slots__ = [
4366        'id',
4367        'name',
4368        'server_address',
4369        'tags',
4370    ]
4371
4372    def __init__(
4373        self,
4374        id=None,
4375        name=None,
4376        server_address=None,
4377        tags=None,
4378    ):
4379        self.id = id if id is not None else ''
4380        '''
4381         Unique identifier of the SecretStore.
4382        '''
4383        self.name = name if name is not None else ''
4384        '''
4385         Unique human-readable name of the SecretStore.
4386        '''
4387        self.server_address = server_address if server_address is not None else ''
4388        '''
4389         Hostname of server that is hosting NDES (Network Device Enrollment Services).
4390         Often this is the same host as Active Directory Certificate Services
4391        '''
4392        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4393        '''
4394         Tags is a map of key, value pairs.
4395        '''
4396
4397    def __repr__(self):
4398        return '<sdm.ActiveDirectoryStore ' + \
4399            'id: ' + repr(self.id) + ' ' +\
4400            'name: ' + repr(self.name) + ' ' +\
4401            'server_address: ' + repr(self.server_address) + ' ' +\
4402            'tags: ' + repr(self.tags) + ' ' +\
4403            '>'
4404
4405    def to_dict(self):
4406        return {
4407            'id': self.id,
4408            'name': self.name,
4409            'server_address': self.server_address,
4410            'tags': self.tags,
4411        }
4412
4413    @classmethod
4414    def from_dict(cls, d):
4415        return cls(
4416            id=d.get('id'),
4417            name=d.get('name'),
4418            server_address=d.get('server_address'),
4419            tags=d.get('tags'),
4420        )
ActiveDirectoryStore(id=None, name=None, server_address=None, tags=None)
4372    def __init__(
4373        self,
4374        id=None,
4375        name=None,
4376        server_address=None,
4377        tags=None,
4378    ):
4379        self.id = id if id is not None else ''
4380        '''
4381         Unique identifier of the SecretStore.
4382        '''
4383        self.name = name if name is not None else ''
4384        '''
4385         Unique human-readable name of the SecretStore.
4386        '''
4387        self.server_address = server_address if server_address is not None else ''
4388        '''
4389         Hostname of server that is hosting NDES (Network Device Enrollment Services).
4390         Often this is the same host as Active Directory Certificate Services
4391        '''
4392        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4393        '''
4394         Tags is a map of key, value pairs.
4395        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

server_address

Hostname of server that is hosting NDES (Network Device Enrollment Services). Often this is the same host as Active Directory Certificate Services

tags

Tags is a map of key, value pairs.

def to_dict(self)
4405    def to_dict(self):
4406        return {
4407            'id': self.id,
4408            'name': self.name,
4409            'server_address': self.server_address,
4410            'tags': self.tags,
4411        }
@classmethod
def from_dict(cls, d)
4413    @classmethod
4414    def from_dict(cls, d):
4415        return cls(
4416            id=d.get('id'),
4417            name=d.get('name'),
4418            server_address=d.get('server_address'),
4419            tags=d.get('tags'),
4420        )
class Activity:
4423class Activity:
4424    '''
4425         An Activity is a record of an action taken against a strongDM deployment, e.g.
4426     a user creation, resource deletion, sso configuration change, etc.
4427    '''
4428    __slots__ = [
4429        'actor',
4430        'completed_at',
4431        'description',
4432        'entities',
4433        'id',
4434        'ip_address',
4435        'user_agent',
4436        'verb',
4437    ]
4438
4439    def __init__(
4440        self,
4441        actor=None,
4442        completed_at=None,
4443        description=None,
4444        entities=None,
4445        id=None,
4446        ip_address=None,
4447        user_agent=None,
4448        verb=None,
4449    ):
4450        self.actor = actor if actor is not None else None
4451        '''
4452         The account who executed this activity. If the actor later has a name or email change,
4453         that change is not reflected here. Actor is a snapshot of the executing account at
4454         the time an activity took place.
4455        '''
4456        self.completed_at = completed_at if completed_at is not None else None
4457        '''
4458         The time this activity took effect.
4459        '''
4460        self.description = description if description is not None else ''
4461        '''
4462         A humanized description of the activity.
4463        '''
4464        self.entities = entities if entities is not None else []
4465        '''
4466         The entities involved in this activity. These entities can be any first class
4467         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
4468         every activity affects explicit entities.
4469        '''
4470        self.id = id if id is not None else ''
4471        '''
4472         Unique identifier of the Activity.
4473        '''
4474        self.ip_address = ip_address if ip_address is not None else ''
4475        '''
4476         The IP from which this action was taken.
4477        '''
4478        self.user_agent = user_agent if user_agent is not None else ''
4479        '''
4480         The User Agent present when this request was executed. Generally a client type and version
4481         like strongdm-cli/55.66.77
4482        '''
4483        self.verb = verb if verb is not None else ''
4484        '''
4485         The kind of activity which has taken place, one of the ActivityVerb constants.
4486        '''
4487
4488    def __repr__(self):
4489        return '<sdm.Activity ' + \
4490            'actor: ' + repr(self.actor) + ' ' +\
4491            'completed_at: ' + repr(self.completed_at) + ' ' +\
4492            'description: ' + repr(self.description) + ' ' +\
4493            'entities: ' + repr(self.entities) + ' ' +\
4494            'id: ' + repr(self.id) + ' ' +\
4495            'ip_address: ' + repr(self.ip_address) + ' ' +\
4496            'user_agent: ' + repr(self.user_agent) + ' ' +\
4497            'verb: ' + repr(self.verb) + ' ' +\
4498            '>'
4499
4500    def to_dict(self):
4501        return {
4502            'actor': self.actor,
4503            'completed_at': self.completed_at,
4504            'description': self.description,
4505            'entities': self.entities,
4506            'id': self.id,
4507            'ip_address': self.ip_address,
4508            'user_agent': self.user_agent,
4509            'verb': self.verb,
4510        }
4511
4512    @classmethod
4513    def from_dict(cls, d):
4514        return cls(
4515            actor=d.get('actor'),
4516            completed_at=d.get('completed_at'),
4517            description=d.get('description'),
4518            entities=d.get('entities'),
4519            id=d.get('id'),
4520            ip_address=d.get('ip_address'),
4521            user_agent=d.get('user_agent'),
4522            verb=d.get('verb'),
4523        )

An Activity is a record of an action taken against a strongDM deployment, e.g. a user creation, resource deletion, sso configuration change, etc.

Activity( actor=None, completed_at=None, description=None, entities=None, id=None, ip_address=None, user_agent=None, verb=None)
4439    def __init__(
4440        self,
4441        actor=None,
4442        completed_at=None,
4443        description=None,
4444        entities=None,
4445        id=None,
4446        ip_address=None,
4447        user_agent=None,
4448        verb=None,
4449    ):
4450        self.actor = actor if actor is not None else None
4451        '''
4452         The account who executed this activity. If the actor later has a name or email change,
4453         that change is not reflected here. Actor is a snapshot of the executing account at
4454         the time an activity took place.
4455        '''
4456        self.completed_at = completed_at if completed_at is not None else None
4457        '''
4458         The time this activity took effect.
4459        '''
4460        self.description = description if description is not None else ''
4461        '''
4462         A humanized description of the activity.
4463        '''
4464        self.entities = entities if entities is not None else []
4465        '''
4466         The entities involved in this activity. These entities can be any first class
4467         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
4468         every activity affects explicit entities.
4469        '''
4470        self.id = id if id is not None else ''
4471        '''
4472         Unique identifier of the Activity.
4473        '''
4474        self.ip_address = ip_address if ip_address is not None else ''
4475        '''
4476         The IP from which this action was taken.
4477        '''
4478        self.user_agent = user_agent if user_agent is not None else ''
4479        '''
4480         The User Agent present when this request was executed. Generally a client type and version
4481         like strongdm-cli/55.66.77
4482        '''
4483        self.verb = verb if verb is not None else ''
4484        '''
4485         The kind of activity which has taken place, one of the ActivityVerb constants.
4486        '''
actor

The account who executed this activity. If the actor later has a name or email change, that change is not reflected here. Actor is a snapshot of the executing account at the time an activity took place.

completed_at

The time this activity took effect.

description

A humanized description of the activity.

entities

The entities involved in this activity. These entities can be any first class entity in the strongDM system, eg. a user, a role, a node, an account grant. Not every activity affects explicit entities.

id

Unique identifier of the Activity.

ip_address

The IP from which this action was taken.

user_agent

The User Agent present when this request was executed. Generally a client type and version like strongdm-cli/55.66.77

verb

The kind of activity which has taken place, one of the ActivityVerb constants.

def to_dict(self)
4500    def to_dict(self):
4501        return {
4502            'actor': self.actor,
4503            'completed_at': self.completed_at,
4504            'description': self.description,
4505            'entities': self.entities,
4506            'id': self.id,
4507            'ip_address': self.ip_address,
4508            'user_agent': self.user_agent,
4509            'verb': self.verb,
4510        }
@classmethod
def from_dict(cls, d)
4512    @classmethod
4513    def from_dict(cls, d):
4514        return cls(
4515            actor=d.get('actor'),
4516            completed_at=d.get('completed_at'),
4517            description=d.get('description'),
4518            entities=d.get('entities'),
4519            id=d.get('id'),
4520            ip_address=d.get('ip_address'),
4521            user_agent=d.get('user_agent'),
4522            verb=d.get('verb'),
4523        )
class ActivityActor:
4526class ActivityActor:
4527    __slots__ = [
4528        'activity_external_id',
4529        'email',
4530        'first_name',
4531        'id',
4532        'last_name',
4533    ]
4534
4535    def __init__(
4536        self,
4537        activity_external_id=None,
4538        email=None,
4539        first_name=None,
4540        id=None,
4541        last_name=None,
4542    ):
4543        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
4544        '''
4545         The external ID of the actor at the time this activity occurred.
4546        '''
4547        self.email = email if email is not None else ''
4548        '''
4549         The email of the actor at the time this activity occurred.
4550        '''
4551        self.first_name = first_name if first_name is not None else ''
4552        '''
4553         The first name of the actor at the time this activity occurred.
4554        '''
4555        self.id = id if id is not None else ''
4556        '''
4557         Unique identifier of the actor. Immutable.
4558        '''
4559        self.last_name = last_name if last_name is not None else ''
4560        '''
4561         The last name of the actor at the time this activity occurred.
4562        '''
4563
4564    def __repr__(self):
4565        return '<sdm.ActivityActor ' + \
4566            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
4567            'email: ' + repr(self.email) + ' ' +\
4568            'first_name: ' + repr(self.first_name) + ' ' +\
4569            'id: ' + repr(self.id) + ' ' +\
4570            'last_name: ' + repr(self.last_name) + ' ' +\
4571            '>'
4572
4573    def to_dict(self):
4574        return {
4575            'activity_external_id': self.activity_external_id,
4576            'email': self.email,
4577            'first_name': self.first_name,
4578            'id': self.id,
4579            'last_name': self.last_name,
4580        }
4581
4582    @classmethod
4583    def from_dict(cls, d):
4584        return cls(
4585            activity_external_id=d.get('activity_external_id'),
4586            email=d.get('email'),
4587            first_name=d.get('first_name'),
4588            id=d.get('id'),
4589            last_name=d.get('last_name'),
4590        )
ActivityActor( activity_external_id=None, email=None, first_name=None, id=None, last_name=None)
4535    def __init__(
4536        self,
4537        activity_external_id=None,
4538        email=None,
4539        first_name=None,
4540        id=None,
4541        last_name=None,
4542    ):
4543        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
4544        '''
4545         The external ID of the actor at the time this activity occurred.
4546        '''
4547        self.email = email if email is not None else ''
4548        '''
4549         The email of the actor at the time this activity occurred.
4550        '''
4551        self.first_name = first_name if first_name is not None else ''
4552        '''
4553         The first name of the actor at the time this activity occurred.
4554        '''
4555        self.id = id if id is not None else ''
4556        '''
4557         Unique identifier of the actor. Immutable.
4558        '''
4559        self.last_name = last_name if last_name is not None else ''
4560        '''
4561         The last name of the actor at the time this activity occurred.
4562        '''
activity_external_id

The external ID of the actor at the time this activity occurred.

email

The email of the actor at the time this activity occurred.

first_name

The first name of the actor at the time this activity occurred.

id

Unique identifier of the actor. Immutable.

last_name

The last name of the actor at the time this activity occurred.

def to_dict(self)
4573    def to_dict(self):
4574        return {
4575            'activity_external_id': self.activity_external_id,
4576            'email': self.email,
4577            'first_name': self.first_name,
4578            'id': self.id,
4579            'last_name': self.last_name,
4580        }
@classmethod
def from_dict(cls, d)
4582    @classmethod
4583    def from_dict(cls, d):
4584        return cls(
4585            activity_external_id=d.get('activity_external_id'),
4586            email=d.get('email'),
4587            first_name=d.get('first_name'),
4588            id=d.get('id'),
4589            last_name=d.get('last_name'),
4590        )
class ActivityEntity:
4593class ActivityEntity:
4594    __slots__ = [
4595        'email',
4596        'external_id',
4597        'id',
4598        'name',
4599        'type',
4600    ]
4601
4602    def __init__(
4603        self,
4604        email=None,
4605        external_id=None,
4606        id=None,
4607        name=None,
4608        type=None,
4609    ):
4610        self.email = email if email is not None else ''
4611        '''
4612         The email of the affected entity, if it has one (for example, if it is an account).
4613        '''
4614        self.external_id = external_id if external_id is not None else ''
4615        '''
4616         The external ID of the affected entity, if it has one (for example, if it is an account).
4617        '''
4618        self.id = id if id is not None else ''
4619        '''
4620         The unique identifier of the entity this activity affected.
4621        '''
4622        self.name = name if name is not None else ''
4623        '''
4624         A display name representing the affected entity.
4625        '''
4626        self.type = type if type is not None else ''
4627        '''
4628         The type of entity affected, one of the ActivityEntityType constants.
4629        '''
4630
4631    def __repr__(self):
4632        return '<sdm.ActivityEntity ' + \
4633            'email: ' + repr(self.email) + ' ' +\
4634            'external_id: ' + repr(self.external_id) + ' ' +\
4635            'id: ' + repr(self.id) + ' ' +\
4636            'name: ' + repr(self.name) + ' ' +\
4637            'type: ' + repr(self.type) + ' ' +\
4638            '>'
4639
4640    def to_dict(self):
4641        return {
4642            'email': self.email,
4643            'external_id': self.external_id,
4644            'id': self.id,
4645            'name': self.name,
4646            'type': self.type,
4647        }
4648
4649    @classmethod
4650    def from_dict(cls, d):
4651        return cls(
4652            email=d.get('email'),
4653            external_id=d.get('external_id'),
4654            id=d.get('id'),
4655            name=d.get('name'),
4656            type=d.get('type'),
4657        )
ActivityEntity(email=None, external_id=None, id=None, name=None, type=None)
4602    def __init__(
4603        self,
4604        email=None,
4605        external_id=None,
4606        id=None,
4607        name=None,
4608        type=None,
4609    ):
4610        self.email = email if email is not None else ''
4611        '''
4612         The email of the affected entity, if it has one (for example, if it is an account).
4613        '''
4614        self.external_id = external_id if external_id is not None else ''
4615        '''
4616         The external ID of the affected entity, if it has one (for example, if it is an account).
4617        '''
4618        self.id = id if id is not None else ''
4619        '''
4620         The unique identifier of the entity this activity affected.
4621        '''
4622        self.name = name if name is not None else ''
4623        '''
4624         A display name representing the affected entity.
4625        '''
4626        self.type = type if type is not None else ''
4627        '''
4628         The type of entity affected, one of the ActivityEntityType constants.
4629        '''
email

The email of the affected entity, if it has one (for example, if it is an account).

external_id

The external ID of the affected entity, if it has one (for example, if it is an account).

id

The unique identifier of the entity this activity affected.

name

A display name representing the affected entity.

type

The type of entity affected, one of the ActivityEntityType constants.

def to_dict(self)
4640    def to_dict(self):
4641        return {
4642            'email': self.email,
4643            'external_id': self.external_id,
4644            'id': self.id,
4645            'name': self.name,
4646            'type': self.type,
4647        }
@classmethod
def from_dict(cls, d)
4649    @classmethod
4650    def from_dict(cls, d):
4651        return cls(
4652            email=d.get('email'),
4653            external_id=d.get('external_id'),
4654            id=d.get('id'),
4655            name=d.get('name'),
4656            type=d.get('type'),
4657        )
class ActivityGetResponse:
4660class ActivityGetResponse:
4661    '''
4662         ActivityGetResponse returns a requested Activity.
4663    '''
4664    __slots__ = [
4665        'activity',
4666        'meta',
4667        'rate_limit',
4668    ]
4669
4670    def __init__(
4671        self,
4672        activity=None,
4673        meta=None,
4674        rate_limit=None,
4675    ):
4676        self.activity = activity if activity is not None else None
4677        '''
4678         The requested Activity.
4679        '''
4680        self.meta = meta if meta is not None else None
4681        '''
4682         Reserved for future use.
4683        '''
4684        self.rate_limit = rate_limit if rate_limit is not None else None
4685        '''
4686         Rate limit information.
4687        '''
4688
4689    def __repr__(self):
4690        return '<sdm.ActivityGetResponse ' + \
4691            'activity: ' + repr(self.activity) + ' ' +\
4692            'meta: ' + repr(self.meta) + ' ' +\
4693            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4694            '>'
4695
4696    def to_dict(self):
4697        return {
4698            'activity': self.activity,
4699            'meta': self.meta,
4700            'rate_limit': self.rate_limit,
4701        }
4702
4703    @classmethod
4704    def from_dict(cls, d):
4705        return cls(
4706            activity=d.get('activity'),
4707            meta=d.get('meta'),
4708            rate_limit=d.get('rate_limit'),
4709        )

ActivityGetResponse returns a requested Activity.

ActivityGetResponse(activity=None, meta=None, rate_limit=None)
4670    def __init__(
4671        self,
4672        activity=None,
4673        meta=None,
4674        rate_limit=None,
4675    ):
4676        self.activity = activity if activity is not None else None
4677        '''
4678         The requested Activity.
4679        '''
4680        self.meta = meta if meta is not None else None
4681        '''
4682         Reserved for future use.
4683        '''
4684        self.rate_limit = rate_limit if rate_limit is not None else None
4685        '''
4686         Rate limit information.
4687        '''
activity

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
4696    def to_dict(self):
4697        return {
4698            'activity': self.activity,
4699            'meta': self.meta,
4700            'rate_limit': self.rate_limit,
4701        }
@classmethod
def from_dict(cls, d)
4703    @classmethod
4704    def from_dict(cls, d):
4705        return cls(
4706            activity=d.get('activity'),
4707            meta=d.get('meta'),
4708            rate_limit=d.get('rate_limit'),
4709        )
class Aerospike:
4712class Aerospike:
4713    __slots__ = [
4714        'bind_interface',
4715        'egress_filter',
4716        'healthy',
4717        'hostname',
4718        'id',
4719        'name',
4720        'password',
4721        'port',
4722        'port_override',
4723        'proxy_cluster_id',
4724        'secret_store_id',
4725        'subdomain',
4726        'tags',
4727        'use_services_alternate',
4728        'username',
4729    ]
4730
4731    def __init__(
4732        self,
4733        bind_interface=None,
4734        egress_filter=None,
4735        healthy=None,
4736        hostname=None,
4737        id=None,
4738        name=None,
4739        password=None,
4740        port=None,
4741        port_override=None,
4742        proxy_cluster_id=None,
4743        secret_store_id=None,
4744        subdomain=None,
4745        tags=None,
4746        use_services_alternate=None,
4747        username=None,
4748    ):
4749        self.bind_interface = bind_interface if bind_interface is not None else ''
4750        '''
4751         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4752        '''
4753        self.egress_filter = egress_filter if egress_filter is not None else ''
4754        '''
4755         A filter applied to the routing logic to pin datasource to nodes.
4756        '''
4757        self.healthy = healthy if healthy is not None else False
4758        '''
4759         True if the datasource is reachable and the credentials are valid.
4760        '''
4761        self.hostname = hostname if hostname is not None else ''
4762        '''
4763         The host to dial to initiate a connection from the egress node to this resource.
4764        '''
4765        self.id = id if id is not None else ''
4766        '''
4767         Unique identifier of the Resource.
4768        '''
4769        self.name = name if name is not None else ''
4770        '''
4771         Unique human-readable name of the Resource.
4772        '''
4773        self.password = password if password is not None else ''
4774        '''
4775         The password to authenticate with.
4776        '''
4777        self.port = port if port is not None else 0
4778        '''
4779         The port to dial to initiate a connection from the egress node to this resource.
4780        '''
4781        self.port_override = port_override if port_override is not None else 0
4782        '''
4783         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4784        '''
4785        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4786        '''
4787         ID of the proxy cluster for this resource, if any.
4788        '''
4789        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4790        '''
4791         ID of the secret store containing credentials for this resource, if any.
4792        '''
4793        self.subdomain = subdomain if subdomain is not None else ''
4794        '''
4795         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4796        '''
4797        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4798        '''
4799         Tags is a map of key, value pairs.
4800        '''
4801        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
4802        '''
4803         If true, uses UseServicesAlternates directive for Aerospike connection
4804        '''
4805        self.username = username if username is not None else ''
4806        '''
4807         The username to authenticate with.
4808        '''
4809
4810    def __repr__(self):
4811        return '<sdm.Aerospike ' + \
4812            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4813            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4814            'healthy: ' + repr(self.healthy) + ' ' +\
4815            'hostname: ' + repr(self.hostname) + ' ' +\
4816            'id: ' + repr(self.id) + ' ' +\
4817            'name: ' + repr(self.name) + ' ' +\
4818            'password: ' + repr(self.password) + ' ' +\
4819            'port: ' + repr(self.port) + ' ' +\
4820            'port_override: ' + repr(self.port_override) + ' ' +\
4821            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4822            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4823            'subdomain: ' + repr(self.subdomain) + ' ' +\
4824            'tags: ' + repr(self.tags) + ' ' +\
4825            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
4826            'username: ' + repr(self.username) + ' ' +\
4827            '>'
4828
4829    def to_dict(self):
4830        return {
4831            'bind_interface': self.bind_interface,
4832            'egress_filter': self.egress_filter,
4833            'healthy': self.healthy,
4834            'hostname': self.hostname,
4835            'id': self.id,
4836            'name': self.name,
4837            'password': self.password,
4838            'port': self.port,
4839            'port_override': self.port_override,
4840            'proxy_cluster_id': self.proxy_cluster_id,
4841            'secret_store_id': self.secret_store_id,
4842            'subdomain': self.subdomain,
4843            'tags': self.tags,
4844            'use_services_alternate': self.use_services_alternate,
4845            'username': self.username,
4846        }
4847
4848    @classmethod
4849    def from_dict(cls, d):
4850        return cls(
4851            bind_interface=d.get('bind_interface'),
4852            egress_filter=d.get('egress_filter'),
4853            healthy=d.get('healthy'),
4854            hostname=d.get('hostname'),
4855            id=d.get('id'),
4856            name=d.get('name'),
4857            password=d.get('password'),
4858            port=d.get('port'),
4859            port_override=d.get('port_override'),
4860            proxy_cluster_id=d.get('proxy_cluster_id'),
4861            secret_store_id=d.get('secret_store_id'),
4862            subdomain=d.get('subdomain'),
4863            tags=d.get('tags'),
4864            use_services_alternate=d.get('use_services_alternate'),
4865            username=d.get('username'),
4866        )
Aerospike( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, use_services_alternate=None, username=None)
4731    def __init__(
4732        self,
4733        bind_interface=None,
4734        egress_filter=None,
4735        healthy=None,
4736        hostname=None,
4737        id=None,
4738        name=None,
4739        password=None,
4740        port=None,
4741        port_override=None,
4742        proxy_cluster_id=None,
4743        secret_store_id=None,
4744        subdomain=None,
4745        tags=None,
4746        use_services_alternate=None,
4747        username=None,
4748    ):
4749        self.bind_interface = bind_interface if bind_interface is not None else ''
4750        '''
4751         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4752        '''
4753        self.egress_filter = egress_filter if egress_filter is not None else ''
4754        '''
4755         A filter applied to the routing logic to pin datasource to nodes.
4756        '''
4757        self.healthy = healthy if healthy is not None else False
4758        '''
4759         True if the datasource is reachable and the credentials are valid.
4760        '''
4761        self.hostname = hostname if hostname is not None else ''
4762        '''
4763         The host to dial to initiate a connection from the egress node to this resource.
4764        '''
4765        self.id = id if id is not None else ''
4766        '''
4767         Unique identifier of the Resource.
4768        '''
4769        self.name = name if name is not None else ''
4770        '''
4771         Unique human-readable name of the Resource.
4772        '''
4773        self.password = password if password is not None else ''
4774        '''
4775         The password to authenticate with.
4776        '''
4777        self.port = port if port is not None else 0
4778        '''
4779         The port to dial to initiate a connection from the egress node to this resource.
4780        '''
4781        self.port_override = port_override if port_override is not None else 0
4782        '''
4783         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4784        '''
4785        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4786        '''
4787         ID of the proxy cluster for this resource, if any.
4788        '''
4789        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4790        '''
4791         ID of the secret store containing credentials for this resource, if any.
4792        '''
4793        self.subdomain = subdomain if subdomain is not None else ''
4794        '''
4795         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4796        '''
4797        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4798        '''
4799         Tags is a map of key, value pairs.
4800        '''
4801        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
4802        '''
4803         If true, uses UseServicesAlternates directive for Aerospike connection
4804        '''
4805        self.username = username if username is not None else ''
4806        '''
4807         The username to authenticate with.
4808        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_services_alternate

If true, uses UseServicesAlternates directive for Aerospike connection

username

The username to authenticate with.

def to_dict(self)
4829    def to_dict(self):
4830        return {
4831            'bind_interface': self.bind_interface,
4832            'egress_filter': self.egress_filter,
4833            'healthy': self.healthy,
4834            'hostname': self.hostname,
4835            'id': self.id,
4836            'name': self.name,
4837            'password': self.password,
4838            'port': self.port,
4839            'port_override': self.port_override,
4840            'proxy_cluster_id': self.proxy_cluster_id,
4841            'secret_store_id': self.secret_store_id,
4842            'subdomain': self.subdomain,
4843            'tags': self.tags,
4844            'use_services_alternate': self.use_services_alternate,
4845            'username': self.username,
4846        }
@classmethod
def from_dict(cls, d)
4848    @classmethod
4849    def from_dict(cls, d):
4850        return cls(
4851            bind_interface=d.get('bind_interface'),
4852            egress_filter=d.get('egress_filter'),
4853            healthy=d.get('healthy'),
4854            hostname=d.get('hostname'),
4855            id=d.get('id'),
4856            name=d.get('name'),
4857            password=d.get('password'),
4858            port=d.get('port'),
4859            port_override=d.get('port_override'),
4860            proxy_cluster_id=d.get('proxy_cluster_id'),
4861            secret_store_id=d.get('secret_store_id'),
4862            subdomain=d.get('subdomain'),
4863            tags=d.get('tags'),
4864            use_services_alternate=d.get('use_services_alternate'),
4865            username=d.get('username'),
4866        )
class AmazonEKS:
4869class AmazonEKS:
4870    __slots__ = [
4871        'access_key',
4872        'allow_resource_role_bypass',
4873        'bind_interface',
4874        'certificate_authority',
4875        'cluster_name',
4876        'discovery_enabled',
4877        'discovery_username',
4878        'egress_filter',
4879        'endpoint',
4880        'healthcheck_namespace',
4881        'healthy',
4882        'id',
4883        'identity_alias_healthcheck_username',
4884        'identity_set_id',
4885        'name',
4886        'port_override',
4887        'proxy_cluster_id',
4888        'region',
4889        'role_arn',
4890        'role_external_id',
4891        'secret_access_key',
4892        'secret_store_id',
4893        'subdomain',
4894        'tags',
4895    ]
4896
4897    def __init__(
4898        self,
4899        access_key=None,
4900        allow_resource_role_bypass=None,
4901        bind_interface=None,
4902        certificate_authority=None,
4903        cluster_name=None,
4904        discovery_enabled=None,
4905        discovery_username=None,
4906        egress_filter=None,
4907        endpoint=None,
4908        healthcheck_namespace=None,
4909        healthy=None,
4910        id=None,
4911        identity_alias_healthcheck_username=None,
4912        identity_set_id=None,
4913        name=None,
4914        port_override=None,
4915        proxy_cluster_id=None,
4916        region=None,
4917        role_arn=None,
4918        role_external_id=None,
4919        secret_access_key=None,
4920        secret_store_id=None,
4921        subdomain=None,
4922        tags=None,
4923    ):
4924        self.access_key = access_key if access_key is not None else ''
4925        '''
4926         The Access Key ID to use to authenticate.
4927        '''
4928        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4929        '''
4930         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4931         when a resource role is not provided.
4932        '''
4933        self.bind_interface = bind_interface if bind_interface is not None else ''
4934        '''
4935         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4936        '''
4937        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4938        '''
4939         The CA to authenticate TLS connections with.
4940        '''
4941        self.cluster_name = cluster_name if cluster_name is not None else ''
4942        '''
4943         The name of the cluster to connect to.
4944        '''
4945        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4946        '''
4947         If true, configures discovery of a cluster to be run from a node.
4948        '''
4949        self.discovery_username = discovery_username if discovery_username is not None else ''
4950        '''
4951         If a cluster is configured for user impersonation, this is the user to impersonate when
4952         running discovery.
4953        '''
4954        self.egress_filter = egress_filter if egress_filter is not None else ''
4955        '''
4956         A filter applied to the routing logic to pin datasource to nodes.
4957        '''
4958        self.endpoint = endpoint if endpoint is not None else ''
4959        '''
4960         The endpoint to dial.
4961        '''
4962        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4963        '''
4964         The path used to check the health of your connection.  Defaults to `default`.
4965        '''
4966        self.healthy = healthy if healthy is not None else False
4967        '''
4968         True if the datasource is reachable and the credentials are valid.
4969        '''
4970        self.id = id if id is not None else ''
4971        '''
4972         Unique identifier of the Resource.
4973        '''
4974        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4975        '''
4976         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4977        '''
4978        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4979        '''
4980         The ID of the identity set to use for identity connections.
4981        '''
4982        self.name = name if name is not None else ''
4983        '''
4984         Unique human-readable name of the Resource.
4985        '''
4986        self.port_override = port_override if port_override is not None else 0
4987        '''
4988         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4989        '''
4990        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4991        '''
4992         ID of the proxy cluster for this resource, if any.
4993        '''
4994        self.region = region if region is not None else ''
4995        '''
4996         The AWS region to connect to e.g. us-east-1.
4997        '''
4998        self.role_arn = role_arn if role_arn is not None else ''
4999        '''
5000         The role to assume after logging in.
5001        '''
5002        self.role_external_id = role_external_id if role_external_id is not None else ''
5003        '''
5004         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5005        '''
5006        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5007        '''
5008         The Secret Access Key to use to authenticate.
5009        '''
5010        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5011        '''
5012         ID of the secret store containing credentials for this resource, if any.
5013        '''
5014        self.subdomain = subdomain if subdomain is not None else ''
5015        '''
5016         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5017        '''
5018        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5019        '''
5020         Tags is a map of key, value pairs.
5021        '''
5022
5023    def __repr__(self):
5024        return '<sdm.AmazonEKS ' + \
5025            'access_key: ' + repr(self.access_key) + ' ' +\
5026            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
5027            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5028            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
5029            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
5030            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
5031            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
5032            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5033            'endpoint: ' + repr(self.endpoint) + ' ' +\
5034            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
5035            'healthy: ' + repr(self.healthy) + ' ' +\
5036            'id: ' + repr(self.id) + ' ' +\
5037            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
5038            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
5039            'name: ' + repr(self.name) + ' ' +\
5040            'port_override: ' + repr(self.port_override) + ' ' +\
5041            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5042            'region: ' + repr(self.region) + ' ' +\
5043            'role_arn: ' + repr(self.role_arn) + ' ' +\
5044            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5045            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5046            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5047            'subdomain: ' + repr(self.subdomain) + ' ' +\
5048            'tags: ' + repr(self.tags) + ' ' +\
5049            '>'
5050
5051    def to_dict(self):
5052        return {
5053            'access_key': self.access_key,
5054            'allow_resource_role_bypass': self.allow_resource_role_bypass,
5055            'bind_interface': self.bind_interface,
5056            'certificate_authority': self.certificate_authority,
5057            'cluster_name': self.cluster_name,
5058            'discovery_enabled': self.discovery_enabled,
5059            'discovery_username': self.discovery_username,
5060            'egress_filter': self.egress_filter,
5061            'endpoint': self.endpoint,
5062            'healthcheck_namespace': self.healthcheck_namespace,
5063            'healthy': self.healthy,
5064            'id': self.id,
5065            'identity_alias_healthcheck_username':
5066            self.identity_alias_healthcheck_username,
5067            'identity_set_id': self.identity_set_id,
5068            'name': self.name,
5069            'port_override': self.port_override,
5070            'proxy_cluster_id': self.proxy_cluster_id,
5071            'region': self.region,
5072            'role_arn': self.role_arn,
5073            'role_external_id': self.role_external_id,
5074            'secret_access_key': self.secret_access_key,
5075            'secret_store_id': self.secret_store_id,
5076            'subdomain': self.subdomain,
5077            'tags': self.tags,
5078        }
5079
5080    @classmethod
5081    def from_dict(cls, d):
5082        return cls(
5083            access_key=d.get('access_key'),
5084            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
5085            bind_interface=d.get('bind_interface'),
5086            certificate_authority=d.get('certificate_authority'),
5087            cluster_name=d.get('cluster_name'),
5088            discovery_enabled=d.get('discovery_enabled'),
5089            discovery_username=d.get('discovery_username'),
5090            egress_filter=d.get('egress_filter'),
5091            endpoint=d.get('endpoint'),
5092            healthcheck_namespace=d.get('healthcheck_namespace'),
5093            healthy=d.get('healthy'),
5094            id=d.get('id'),
5095            identity_alias_healthcheck_username=d.get(
5096                'identity_alias_healthcheck_username'),
5097            identity_set_id=d.get('identity_set_id'),
5098            name=d.get('name'),
5099            port_override=d.get('port_override'),
5100            proxy_cluster_id=d.get('proxy_cluster_id'),
5101            region=d.get('region'),
5102            role_arn=d.get('role_arn'),
5103            role_external_id=d.get('role_external_id'),
5104            secret_access_key=d.get('secret_access_key'),
5105            secret_store_id=d.get('secret_store_id'),
5106            subdomain=d.get('subdomain'),
5107            tags=d.get('tags'),
5108        )
AmazonEKS( access_key=None, allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, cluster_name=None, discovery_enabled=None, discovery_username=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
4897    def __init__(
4898        self,
4899        access_key=None,
4900        allow_resource_role_bypass=None,
4901        bind_interface=None,
4902        certificate_authority=None,
4903        cluster_name=None,
4904        discovery_enabled=None,
4905        discovery_username=None,
4906        egress_filter=None,
4907        endpoint=None,
4908        healthcheck_namespace=None,
4909        healthy=None,
4910        id=None,
4911        identity_alias_healthcheck_username=None,
4912        identity_set_id=None,
4913        name=None,
4914        port_override=None,
4915        proxy_cluster_id=None,
4916        region=None,
4917        role_arn=None,
4918        role_external_id=None,
4919        secret_access_key=None,
4920        secret_store_id=None,
4921        subdomain=None,
4922        tags=None,
4923    ):
4924        self.access_key = access_key if access_key is not None else ''
4925        '''
4926         The Access Key ID to use to authenticate.
4927        '''
4928        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4929        '''
4930         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4931         when a resource role is not provided.
4932        '''
4933        self.bind_interface = bind_interface if bind_interface is not None else ''
4934        '''
4935         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4936        '''
4937        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4938        '''
4939         The CA to authenticate TLS connections with.
4940        '''
4941        self.cluster_name = cluster_name if cluster_name is not None else ''
4942        '''
4943         The name of the cluster to connect to.
4944        '''
4945        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4946        '''
4947         If true, configures discovery of a cluster to be run from a node.
4948        '''
4949        self.discovery_username = discovery_username if discovery_username is not None else ''
4950        '''
4951         If a cluster is configured for user impersonation, this is the user to impersonate when
4952         running discovery.
4953        '''
4954        self.egress_filter = egress_filter if egress_filter is not None else ''
4955        '''
4956         A filter applied to the routing logic to pin datasource to nodes.
4957        '''
4958        self.endpoint = endpoint if endpoint is not None else ''
4959        '''
4960         The endpoint to dial.
4961        '''
4962        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4963        '''
4964         The path used to check the health of your connection.  Defaults to `default`.
4965        '''
4966        self.healthy = healthy if healthy is not None else False
4967        '''
4968         True if the datasource is reachable and the credentials are valid.
4969        '''
4970        self.id = id if id is not None else ''
4971        '''
4972         Unique identifier of the Resource.
4973        '''
4974        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4975        '''
4976         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4977        '''
4978        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4979        '''
4980         The ID of the identity set to use for identity connections.
4981        '''
4982        self.name = name if name is not None else ''
4983        '''
4984         Unique human-readable name of the Resource.
4985        '''
4986        self.port_override = port_override if port_override is not None else 0
4987        '''
4988         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4989        '''
4990        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4991        '''
4992         ID of the proxy cluster for this resource, if any.
4993        '''
4994        self.region = region if region is not None else ''
4995        '''
4996         The AWS region to connect to e.g. us-east-1.
4997        '''
4998        self.role_arn = role_arn if role_arn is not None else ''
4999        '''
5000         The role to assume after logging in.
5001        '''
5002        self.role_external_id = role_external_id if role_external_id is not None else ''
5003        '''
5004         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5005        '''
5006        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5007        '''
5008         The Secret Access Key to use to authenticate.
5009        '''
5010        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5011        '''
5012         ID of the secret store containing credentials for this resource, if any.
5013        '''
5014        self.subdomain = subdomain if subdomain is not None else ''
5015        '''
5016         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5017        '''
5018        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5019        '''
5020         Tags is a map of key, value pairs.
5021        '''
access_key

The Access Key ID to use to authenticate.

allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5051    def to_dict(self):
5052        return {
5053            'access_key': self.access_key,
5054            'allow_resource_role_bypass': self.allow_resource_role_bypass,
5055            'bind_interface': self.bind_interface,
5056            'certificate_authority': self.certificate_authority,
5057            'cluster_name': self.cluster_name,
5058            'discovery_enabled': self.discovery_enabled,
5059            'discovery_username': self.discovery_username,
5060            'egress_filter': self.egress_filter,
5061            'endpoint': self.endpoint,
5062            'healthcheck_namespace': self.healthcheck_namespace,
5063            'healthy': self.healthy,
5064            'id': self.id,
5065            'identity_alias_healthcheck_username':
5066            self.identity_alias_healthcheck_username,
5067            'identity_set_id': self.identity_set_id,
5068            'name': self.name,
5069            'port_override': self.port_override,
5070            'proxy_cluster_id': self.proxy_cluster_id,
5071            'region': self.region,
5072            'role_arn': self.role_arn,
5073            'role_external_id': self.role_external_id,
5074            'secret_access_key': self.secret_access_key,
5075            'secret_store_id': self.secret_store_id,
5076            'subdomain': self.subdomain,
5077            'tags': self.tags,
5078        }
@classmethod
def from_dict(cls, d)
5080    @classmethod
5081    def from_dict(cls, d):
5082        return cls(
5083            access_key=d.get('access_key'),
5084            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
5085            bind_interface=d.get('bind_interface'),
5086            certificate_authority=d.get('certificate_authority'),
5087            cluster_name=d.get('cluster_name'),
5088            discovery_enabled=d.get('discovery_enabled'),
5089            discovery_username=d.get('discovery_username'),
5090            egress_filter=d.get('egress_filter'),
5091            endpoint=d.get('endpoint'),
5092            healthcheck_namespace=d.get('healthcheck_namespace'),
5093            healthy=d.get('healthy'),
5094            id=d.get('id'),
5095            identity_alias_healthcheck_username=d.get(
5096                'identity_alias_healthcheck_username'),
5097            identity_set_id=d.get('identity_set_id'),
5098            name=d.get('name'),
5099            port_override=d.get('port_override'),
5100            proxy_cluster_id=d.get('proxy_cluster_id'),
5101            region=d.get('region'),
5102            role_arn=d.get('role_arn'),
5103            role_external_id=d.get('role_external_id'),
5104            secret_access_key=d.get('secret_access_key'),
5105            secret_store_id=d.get('secret_store_id'),
5106            subdomain=d.get('subdomain'),
5107            tags=d.get('tags'),
5108        )
class AmazonEKSInstanceProfile:
5111class AmazonEKSInstanceProfile:
5112    __slots__ = [
5113        'allow_resource_role_bypass',
5114        'bind_interface',
5115        'certificate_authority',
5116        'cluster_name',
5117        'discovery_enabled',
5118        'discovery_username',
5119        'egress_filter',
5120        'endpoint',
5121        'healthcheck_namespace',
5122        'healthy',
5123        'id',
5124        'identity_alias_healthcheck_username',
5125        'identity_set_id',
5126        'name',
5127        'port_override',
5128        'proxy_cluster_id',
5129        'region',
5130        'role_arn',
5131        'role_external_id',
5132        'secret_store_id',
5133        'subdomain',
5134        'tags',
5135    ]
5136
5137    def __init__(
5138        self,
5139        allow_resource_role_bypass=None,
5140        bind_interface=None,
5141        certificate_authority=None,
5142        cluster_name=None,
5143        discovery_enabled=None,
5144        discovery_username=None,
5145        egress_filter=None,
5146        endpoint=None,
5147        healthcheck_namespace=None,
5148        healthy=None,
5149        id=None,
5150        identity_alias_healthcheck_username=None,
5151        identity_set_id=None,
5152        name=None,
5153        port_override=None,
5154        proxy_cluster_id=None,
5155        region=None,
5156        role_arn=None,
5157        role_external_id=None,
5158        secret_store_id=None,
5159        subdomain=None,
5160        tags=None,
5161    ):
5162        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
5163        '''
5164         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
5165         when a resource role is not provided.
5166        '''
5167        self.bind_interface = bind_interface if bind_interface is not None else ''
5168        '''
5169         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5170        '''
5171        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5172        '''
5173         The CA to authenticate TLS connections with.
5174        '''
5175        self.cluster_name = cluster_name if cluster_name is not None else ''
5176        '''
5177         The name of the cluster to connect to.
5178        '''
5179        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
5180        '''
5181         If true, configures discovery of a cluster to be run from a node.
5182        '''
5183        self.discovery_username = discovery_username if discovery_username is not None else ''
5184        '''
5185         If a cluster is configured for user impersonation, this is the user to impersonate when
5186         running discovery.
5187        '''
5188        self.egress_filter = egress_filter if egress_filter is not None else ''
5189        '''
5190         A filter applied to the routing logic to pin datasource to nodes.
5191        '''
5192        self.endpoint = endpoint if endpoint is not None else ''
5193        '''
5194         The endpoint to dial.
5195        '''
5196        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5197        '''
5198         The path used to check the health of your connection.  Defaults to `default`.
5199        '''
5200        self.healthy = healthy if healthy is not None else False
5201        '''
5202         True if the datasource is reachable and the credentials are valid.
5203        '''
5204        self.id = id if id is not None else ''
5205        '''
5206         Unique identifier of the Resource.
5207        '''
5208        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
5209        '''
5210         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
5211        '''
5212        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
5213        '''
5214         The ID of the identity set to use for identity connections.
5215        '''
5216        self.name = name if name is not None else ''
5217        '''
5218         Unique human-readable name of the Resource.
5219        '''
5220        self.port_override = port_override if port_override is not None else 0
5221        '''
5222         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5223        '''
5224        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5225        '''
5226         ID of the proxy cluster for this resource, if any.
5227        '''
5228        self.region = region if region is not None else ''
5229        '''
5230         The AWS region to connect to e.g. us-east-1.
5231        '''
5232        self.role_arn = role_arn if role_arn is not None else ''
5233        '''
5234         The role to assume after logging in.
5235        '''
5236        self.role_external_id = role_external_id if role_external_id is not None else ''
5237        '''
5238         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5239        '''
5240        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5241        '''
5242         ID of the secret store containing credentials for this resource, if any.
5243        '''
5244        self.subdomain = subdomain if subdomain is not None else ''
5245        '''
5246         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5247        '''
5248        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5249        '''
5250         Tags is a map of key, value pairs.
5251        '''
5252
5253    def __repr__(self):
5254        return '<sdm.AmazonEKSInstanceProfile ' + \
5255            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
5256            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5257            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
5258            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
5259            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
5260            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
5261            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5262            'endpoint: ' + repr(self.endpoint) + ' ' +\
5263            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
5264            'healthy: ' + repr(self.healthy) + ' ' +\
5265            'id: ' + repr(self.id) + ' ' +\
5266            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
5267            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
5268            'name: ' + repr(self.name) + ' ' +\
5269            'port_override: ' + repr(self.port_override) + ' ' +\
5270            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5271            'region: ' + repr(self.region) + ' ' +\
5272            'role_arn: ' + repr(self.role_arn) + ' ' +\
5273            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5274            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5275            'subdomain: ' + repr(self.subdomain) + ' ' +\
5276            'tags: ' + repr(self.tags) + ' ' +\
5277            '>'
5278
5279    def to_dict(self):
5280        return {
5281            'allow_resource_role_bypass': self.allow_resource_role_bypass,
5282            'bind_interface': self.bind_interface,
5283            'certificate_authority': self.certificate_authority,
5284            'cluster_name': self.cluster_name,
5285            'discovery_enabled': self.discovery_enabled,
5286            'discovery_username': self.discovery_username,
5287            'egress_filter': self.egress_filter,
5288            'endpoint': self.endpoint,
5289            'healthcheck_namespace': self.healthcheck_namespace,
5290            'healthy': self.healthy,
5291            'id': self.id,
5292            'identity_alias_healthcheck_username':
5293            self.identity_alias_healthcheck_username,
5294            'identity_set_id': self.identity_set_id,
5295            'name': self.name,
5296            'port_override': self.port_override,
5297            'proxy_cluster_id': self.proxy_cluster_id,
5298            'region': self.region,
5299            'role_arn': self.role_arn,
5300            'role_external_id': self.role_external_id,
5301            'secret_store_id': self.secret_store_id,
5302            'subdomain': self.subdomain,
5303            'tags': self.tags,
5304        }
5305
5306    @classmethod
5307    def from_dict(cls, d):
5308        return cls(
5309            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
5310            bind_interface=d.get('bind_interface'),
5311            certificate_authority=d.get('certificate_authority'),
5312            cluster_name=d.get('cluster_name'),
5313            discovery_enabled=d.get('discovery_enabled'),
5314            discovery_username=d.get('discovery_username'),
5315            egress_filter=d.get('egress_filter'),
5316            endpoint=d.get('endpoint'),
5317            healthcheck_namespace=d.get('healthcheck_namespace'),
5318            healthy=d.get('healthy'),
5319            id=d.get('id'),
5320            identity_alias_healthcheck_username=d.get(
5321                'identity_alias_healthcheck_username'),
5322            identity_set_id=d.get('identity_set_id'),
5323            name=d.get('name'),
5324            port_override=d.get('port_override'),
5325            proxy_cluster_id=d.get('proxy_cluster_id'),
5326            region=d.get('region'),
5327            role_arn=d.get('role_arn'),
5328            role_external_id=d.get('role_external_id'),
5329            secret_store_id=d.get('secret_store_id'),
5330            subdomain=d.get('subdomain'),
5331            tags=d.get('tags'),
5332        )
AmazonEKSInstanceProfile( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, cluster_name=None, discovery_enabled=None, discovery_username=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
5137    def __init__(
5138        self,
5139        allow_resource_role_bypass=None,
5140        bind_interface=None,
5141        certificate_authority=None,
5142        cluster_name=None,
5143        discovery_enabled=None,
5144        discovery_username=None,
5145        egress_filter=None,
5146        endpoint=None,
5147        healthcheck_namespace=None,
5148        healthy=None,
5149        id=None,
5150        identity_alias_healthcheck_username=None,
5151        identity_set_id=None,
5152        name=None,
5153        port_override=None,
5154        proxy_cluster_id=None,
5155        region=None,
5156        role_arn=None,
5157        role_external_id=None,
5158        secret_store_id=None,
5159        subdomain=None,
5160        tags=None,
5161    ):
5162        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
5163        '''
5164         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
5165         when a resource role is not provided.
5166        '''
5167        self.bind_interface = bind_interface if bind_interface is not None else ''
5168        '''
5169         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5170        '''
5171        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5172        '''
5173         The CA to authenticate TLS connections with.
5174        '''
5175        self.cluster_name = cluster_name if cluster_name is not None else ''
5176        '''
5177         The name of the cluster to connect to.
5178        '''
5179        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
5180        '''
5181         If true, configures discovery of a cluster to be run from a node.
5182        '''
5183        self.discovery_username = discovery_username if discovery_username is not None else ''
5184        '''
5185         If a cluster is configured for user impersonation, this is the user to impersonate when
5186         running discovery.
5187        '''
5188        self.egress_filter = egress_filter if egress_filter is not None else ''
5189        '''
5190         A filter applied to the routing logic to pin datasource to nodes.
5191        '''
5192        self.endpoint = endpoint if endpoint is not None else ''
5193        '''
5194         The endpoint to dial.
5195        '''
5196        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5197        '''
5198         The path used to check the health of your connection.  Defaults to `default`.
5199        '''
5200        self.healthy = healthy if healthy is not None else False
5201        '''
5202         True if the datasource is reachable and the credentials are valid.
5203        '''
5204        self.id = id if id is not None else ''
5205        '''
5206         Unique identifier of the Resource.
5207        '''
5208        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
5209        '''
5210         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
5211        '''
5212        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
5213        '''
5214         The ID of the identity set to use for identity connections.
5215        '''
5216        self.name = name if name is not None else ''
5217        '''
5218         Unique human-readable name of the Resource.
5219        '''
5220        self.port_override = port_override if port_override is not None else 0
5221        '''
5222         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5223        '''
5224        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5225        '''
5226         ID of the proxy cluster for this resource, if any.
5227        '''
5228        self.region = region if region is not None else ''
5229        '''
5230         The AWS region to connect to e.g. us-east-1.
5231        '''
5232        self.role_arn = role_arn if role_arn is not None else ''
5233        '''
5234         The role to assume after logging in.
5235        '''
5236        self.role_external_id = role_external_id if role_external_id is not None else ''
5237        '''
5238         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5239        '''
5240        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5241        '''
5242         ID of the secret store containing credentials for this resource, if any.
5243        '''
5244        self.subdomain = subdomain if subdomain is not None else ''
5245        '''
5246         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5247        '''
5248        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5249        '''
5250         Tags is a map of key, value pairs.
5251        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5279    def to_dict(self):
5280        return {
5281            'allow_resource_role_bypass': self.allow_resource_role_bypass,
5282            'bind_interface': self.bind_interface,
5283            'certificate_authority': self.certificate_authority,
5284            'cluster_name': self.cluster_name,
5285            'discovery_enabled': self.discovery_enabled,
5286            'discovery_username': self.discovery_username,
5287            'egress_filter': self.egress_filter,
5288            'endpoint': self.endpoint,
5289            'healthcheck_namespace': self.healthcheck_namespace,
5290            'healthy': self.healthy,
5291            'id': self.id,
5292            'identity_alias_healthcheck_username':
5293            self.identity_alias_healthcheck_username,
5294            'identity_set_id': self.identity_set_id,
5295            'name': self.name,
5296            'port_override': self.port_override,
5297            'proxy_cluster_id': self.proxy_cluster_id,
5298            'region': self.region,
5299            'role_arn': self.role_arn,
5300            'role_external_id': self.role_external_id,
5301            'secret_store_id': self.secret_store_id,
5302            'subdomain': self.subdomain,
5303            'tags': self.tags,
5304        }
@classmethod
def from_dict(cls, d)
5306    @classmethod
5307    def from_dict(cls, d):
5308        return cls(
5309            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
5310            bind_interface=d.get('bind_interface'),
5311            certificate_authority=d.get('certificate_authority'),
5312            cluster_name=d.get('cluster_name'),
5313            discovery_enabled=d.get('discovery_enabled'),
5314            discovery_username=d.get('discovery_username'),
5315            egress_filter=d.get('egress_filter'),
5316            endpoint=d.get('endpoint'),
5317            healthcheck_namespace=d.get('healthcheck_namespace'),
5318            healthy=d.get('healthy'),
5319            id=d.get('id'),
5320            identity_alias_healthcheck_username=d.get(
5321                'identity_alias_healthcheck_username'),
5322            identity_set_id=d.get('identity_set_id'),
5323            name=d.get('name'),
5324            port_override=d.get('port_override'),
5325            proxy_cluster_id=d.get('proxy_cluster_id'),
5326            region=d.get('region'),
5327            role_arn=d.get('role_arn'),
5328            role_external_id=d.get('role_external_id'),
5329            secret_store_id=d.get('secret_store_id'),
5330            subdomain=d.get('subdomain'),
5331            tags=d.get('tags'),
5332        )
class AmazonEKSInstanceProfileUserImpersonation:
5335class AmazonEKSInstanceProfileUserImpersonation:
5336    '''
5337    AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
5338    '''
5339    __slots__ = [
5340        'bind_interface',
5341        'certificate_authority',
5342        'cluster_name',
5343        'egress_filter',
5344        'endpoint',
5345        'healthcheck_namespace',
5346        'healthy',
5347        'id',
5348        'name',
5349        'port_override',
5350        'proxy_cluster_id',
5351        'region',
5352        'role_arn',
5353        'role_external_id',
5354        'secret_store_id',
5355        'subdomain',
5356        'tags',
5357    ]
5358
5359    def __init__(
5360        self,
5361        bind_interface=None,
5362        certificate_authority=None,
5363        cluster_name=None,
5364        egress_filter=None,
5365        endpoint=None,
5366        healthcheck_namespace=None,
5367        healthy=None,
5368        id=None,
5369        name=None,
5370        port_override=None,
5371        proxy_cluster_id=None,
5372        region=None,
5373        role_arn=None,
5374        role_external_id=None,
5375        secret_store_id=None,
5376        subdomain=None,
5377        tags=None,
5378    ):
5379        self.bind_interface = bind_interface if bind_interface is not None else ''
5380        '''
5381         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5382        '''
5383        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5384        '''
5385         The CA to authenticate TLS connections with.
5386        '''
5387        self.cluster_name = cluster_name if cluster_name is not None else ''
5388        '''
5389         The name of the cluster to connect to.
5390        '''
5391        self.egress_filter = egress_filter if egress_filter is not None else ''
5392        '''
5393         A filter applied to the routing logic to pin datasource to nodes.
5394        '''
5395        self.endpoint = endpoint if endpoint is not None else ''
5396        '''
5397         The endpoint to dial.
5398        '''
5399        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5400        '''
5401         The path used to check the health of your connection.  Defaults to `default`.
5402        '''
5403        self.healthy = healthy if healthy is not None else False
5404        '''
5405         True if the datasource is reachable and the credentials are valid.
5406        '''
5407        self.id = id if id is not None else ''
5408        '''
5409         Unique identifier of the Resource.
5410        '''
5411        self.name = name if name is not None else ''
5412        '''
5413         Unique human-readable name of the Resource.
5414        '''
5415        self.port_override = port_override if port_override is not None else 0
5416        '''
5417         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5418        '''
5419        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5420        '''
5421         ID of the proxy cluster for this resource, if any.
5422        '''
5423        self.region = region if region is not None else ''
5424        '''
5425         The AWS region to connect to e.g. us-east-1.
5426        '''
5427        self.role_arn = role_arn if role_arn is not None else ''
5428        '''
5429         The role to assume after logging in.
5430        '''
5431        self.role_external_id = role_external_id if role_external_id is not None else ''
5432        '''
5433         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5434        '''
5435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5436        '''
5437         ID of the secret store containing credentials for this resource, if any.
5438        '''
5439        self.subdomain = subdomain if subdomain is not None else ''
5440        '''
5441         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5442        '''
5443        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5444        '''
5445         Tags is a map of key, value pairs.
5446        '''
5447
5448    def __repr__(self):
5449        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
5450            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5451            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
5452            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
5453            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5454            'endpoint: ' + repr(self.endpoint) + ' ' +\
5455            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
5456            'healthy: ' + repr(self.healthy) + ' ' +\
5457            'id: ' + repr(self.id) + ' ' +\
5458            'name: ' + repr(self.name) + ' ' +\
5459            'port_override: ' + repr(self.port_override) + ' ' +\
5460            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5461            'region: ' + repr(self.region) + ' ' +\
5462            'role_arn: ' + repr(self.role_arn) + ' ' +\
5463            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5464            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5465            'subdomain: ' + repr(self.subdomain) + ' ' +\
5466            'tags: ' + repr(self.tags) + ' ' +\
5467            '>'
5468
5469    def to_dict(self):
5470        return {
5471            'bind_interface': self.bind_interface,
5472            'certificate_authority': self.certificate_authority,
5473            'cluster_name': self.cluster_name,
5474            'egress_filter': self.egress_filter,
5475            'endpoint': self.endpoint,
5476            'healthcheck_namespace': self.healthcheck_namespace,
5477            'healthy': self.healthy,
5478            'id': self.id,
5479            'name': self.name,
5480            'port_override': self.port_override,
5481            'proxy_cluster_id': self.proxy_cluster_id,
5482            'region': self.region,
5483            'role_arn': self.role_arn,
5484            'role_external_id': self.role_external_id,
5485            'secret_store_id': self.secret_store_id,
5486            'subdomain': self.subdomain,
5487            'tags': self.tags,
5488        }
5489
5490    @classmethod
5491    def from_dict(cls, d):
5492        return cls(
5493            bind_interface=d.get('bind_interface'),
5494            certificate_authority=d.get('certificate_authority'),
5495            cluster_name=d.get('cluster_name'),
5496            egress_filter=d.get('egress_filter'),
5497            endpoint=d.get('endpoint'),
5498            healthcheck_namespace=d.get('healthcheck_namespace'),
5499            healthy=d.get('healthy'),
5500            id=d.get('id'),
5501            name=d.get('name'),
5502            port_override=d.get('port_override'),
5503            proxy_cluster_id=d.get('proxy_cluster_id'),
5504            region=d.get('region'),
5505            role_arn=d.get('role_arn'),
5506            role_external_id=d.get('role_external_id'),
5507            secret_store_id=d.get('secret_store_id'),
5508            subdomain=d.get('subdomain'),
5509            tags=d.get('tags'),
5510        )

AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.

AmazonEKSInstanceProfileUserImpersonation( bind_interface=None, certificate_authority=None, cluster_name=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
5359    def __init__(
5360        self,
5361        bind_interface=None,
5362        certificate_authority=None,
5363        cluster_name=None,
5364        egress_filter=None,
5365        endpoint=None,
5366        healthcheck_namespace=None,
5367        healthy=None,
5368        id=None,
5369        name=None,
5370        port_override=None,
5371        proxy_cluster_id=None,
5372        region=None,
5373        role_arn=None,
5374        role_external_id=None,
5375        secret_store_id=None,
5376        subdomain=None,
5377        tags=None,
5378    ):
5379        self.bind_interface = bind_interface if bind_interface is not None else ''
5380        '''
5381         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5382        '''
5383        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5384        '''
5385         The CA to authenticate TLS connections with.
5386        '''
5387        self.cluster_name = cluster_name if cluster_name is not None else ''
5388        '''
5389         The name of the cluster to connect to.
5390        '''
5391        self.egress_filter = egress_filter if egress_filter is not None else ''
5392        '''
5393         A filter applied to the routing logic to pin datasource to nodes.
5394        '''
5395        self.endpoint = endpoint if endpoint is not None else ''
5396        '''
5397         The endpoint to dial.
5398        '''
5399        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5400        '''
5401         The path used to check the health of your connection.  Defaults to `default`.
5402        '''
5403        self.healthy = healthy if healthy is not None else False
5404        '''
5405         True if the datasource is reachable and the credentials are valid.
5406        '''
5407        self.id = id if id is not None else ''
5408        '''
5409         Unique identifier of the Resource.
5410        '''
5411        self.name = name if name is not None else ''
5412        '''
5413         Unique human-readable name of the Resource.
5414        '''
5415        self.port_override = port_override if port_override is not None else 0
5416        '''
5417         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5418        '''
5419        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5420        '''
5421         ID of the proxy cluster for this resource, if any.
5422        '''
5423        self.region = region if region is not None else ''
5424        '''
5425         The AWS region to connect to e.g. us-east-1.
5426        '''
5427        self.role_arn = role_arn if role_arn is not None else ''
5428        '''
5429         The role to assume after logging in.
5430        '''
5431        self.role_external_id = role_external_id if role_external_id is not None else ''
5432        '''
5433         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5434        '''
5435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5436        '''
5437         ID of the secret store containing credentials for this resource, if any.
5438        '''
5439        self.subdomain = subdomain if subdomain is not None else ''
5440        '''
5441         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5442        '''
5443        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5444        '''
5445         Tags is a map of key, value pairs.
5446        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5469    def to_dict(self):
5470        return {
5471            'bind_interface': self.bind_interface,
5472            'certificate_authority': self.certificate_authority,
5473            'cluster_name': self.cluster_name,
5474            'egress_filter': self.egress_filter,
5475            'endpoint': self.endpoint,
5476            'healthcheck_namespace': self.healthcheck_namespace,
5477            'healthy': self.healthy,
5478            'id': self.id,
5479            'name': self.name,
5480            'port_override': self.port_override,
5481            'proxy_cluster_id': self.proxy_cluster_id,
5482            'region': self.region,
5483            'role_arn': self.role_arn,
5484            'role_external_id': self.role_external_id,
5485            'secret_store_id': self.secret_store_id,
5486            'subdomain': self.subdomain,
5487            'tags': self.tags,
5488        }
@classmethod
def from_dict(cls, d)
5490    @classmethod
5491    def from_dict(cls, d):
5492        return cls(
5493            bind_interface=d.get('bind_interface'),
5494            certificate_authority=d.get('certificate_authority'),
5495            cluster_name=d.get('cluster_name'),
5496            egress_filter=d.get('egress_filter'),
5497            endpoint=d.get('endpoint'),
5498            healthcheck_namespace=d.get('healthcheck_namespace'),
5499            healthy=d.get('healthy'),
5500            id=d.get('id'),
5501            name=d.get('name'),
5502            port_override=d.get('port_override'),
5503            proxy_cluster_id=d.get('proxy_cluster_id'),
5504            region=d.get('region'),
5505            role_arn=d.get('role_arn'),
5506            role_external_id=d.get('role_external_id'),
5507            secret_store_id=d.get('secret_store_id'),
5508            subdomain=d.get('subdomain'),
5509            tags=d.get('tags'),
5510        )
class AmazonEKSUserImpersonation:
5513class AmazonEKSUserImpersonation:
5514    '''
5515    AmazonEKSUserImpersonation is deprecated, see docs for more info.
5516    '''
5517    __slots__ = [
5518        'access_key',
5519        'bind_interface',
5520        'certificate_authority',
5521        'cluster_name',
5522        'egress_filter',
5523        'endpoint',
5524        'healthcheck_namespace',
5525        'healthy',
5526        'id',
5527        'name',
5528        'port_override',
5529        'proxy_cluster_id',
5530        'region',
5531        'role_arn',
5532        'role_external_id',
5533        'secret_access_key',
5534        'secret_store_id',
5535        'subdomain',
5536        'tags',
5537    ]
5538
5539    def __init__(
5540        self,
5541        access_key=None,
5542        bind_interface=None,
5543        certificate_authority=None,
5544        cluster_name=None,
5545        egress_filter=None,
5546        endpoint=None,
5547        healthcheck_namespace=None,
5548        healthy=None,
5549        id=None,
5550        name=None,
5551        port_override=None,
5552        proxy_cluster_id=None,
5553        region=None,
5554        role_arn=None,
5555        role_external_id=None,
5556        secret_access_key=None,
5557        secret_store_id=None,
5558        subdomain=None,
5559        tags=None,
5560    ):
5561        self.access_key = access_key if access_key is not None else ''
5562        '''
5563         The Access Key ID to use to authenticate.
5564        '''
5565        self.bind_interface = bind_interface if bind_interface is not None else ''
5566        '''
5567         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5568        '''
5569        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5570        '''
5571         The CA to authenticate TLS connections with.
5572        '''
5573        self.cluster_name = cluster_name if cluster_name is not None else ''
5574        '''
5575         The name of the cluster to connect to.
5576        '''
5577        self.egress_filter = egress_filter if egress_filter is not None else ''
5578        '''
5579         A filter applied to the routing logic to pin datasource to nodes.
5580        '''
5581        self.endpoint = endpoint if endpoint is not None else ''
5582        '''
5583         The endpoint to dial.
5584        '''
5585        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5586        '''
5587         The path used to check the health of your connection.  Defaults to `default`.
5588        '''
5589        self.healthy = healthy if healthy is not None else False
5590        '''
5591         True if the datasource is reachable and the credentials are valid.
5592        '''
5593        self.id = id if id is not None else ''
5594        '''
5595         Unique identifier of the Resource.
5596        '''
5597        self.name = name if name is not None else ''
5598        '''
5599         Unique human-readable name of the Resource.
5600        '''
5601        self.port_override = port_override if port_override is not None else 0
5602        '''
5603         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5604        '''
5605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5606        '''
5607         ID of the proxy cluster for this resource, if any.
5608        '''
5609        self.region = region if region is not None else ''
5610        '''
5611         The AWS region to connect to e.g. us-east-1.
5612        '''
5613        self.role_arn = role_arn if role_arn is not None else ''
5614        '''
5615         The role to assume after logging in.
5616        '''
5617        self.role_external_id = role_external_id if role_external_id is not None else ''
5618        '''
5619         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5620        '''
5621        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5622        '''
5623         The Secret Access Key to use to authenticate.
5624        '''
5625        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5626        '''
5627         ID of the secret store containing credentials for this resource, if any.
5628        '''
5629        self.subdomain = subdomain if subdomain is not None else ''
5630        '''
5631         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5632        '''
5633        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5634        '''
5635         Tags is a map of key, value pairs.
5636        '''
5637
5638    def __repr__(self):
5639        return '<sdm.AmazonEKSUserImpersonation ' + \
5640            'access_key: ' + repr(self.access_key) + ' ' +\
5641            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5642            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
5643            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
5644            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5645            'endpoint: ' + repr(self.endpoint) + ' ' +\
5646            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
5647            'healthy: ' + repr(self.healthy) + ' ' +\
5648            'id: ' + repr(self.id) + ' ' +\
5649            'name: ' + repr(self.name) + ' ' +\
5650            'port_override: ' + repr(self.port_override) + ' ' +\
5651            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5652            'region: ' + repr(self.region) + ' ' +\
5653            'role_arn: ' + repr(self.role_arn) + ' ' +\
5654            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5655            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5656            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5657            'subdomain: ' + repr(self.subdomain) + ' ' +\
5658            'tags: ' + repr(self.tags) + ' ' +\
5659            '>'
5660
5661    def to_dict(self):
5662        return {
5663            'access_key': self.access_key,
5664            'bind_interface': self.bind_interface,
5665            'certificate_authority': self.certificate_authority,
5666            'cluster_name': self.cluster_name,
5667            'egress_filter': self.egress_filter,
5668            'endpoint': self.endpoint,
5669            'healthcheck_namespace': self.healthcheck_namespace,
5670            'healthy': self.healthy,
5671            'id': self.id,
5672            'name': self.name,
5673            'port_override': self.port_override,
5674            'proxy_cluster_id': self.proxy_cluster_id,
5675            'region': self.region,
5676            'role_arn': self.role_arn,
5677            'role_external_id': self.role_external_id,
5678            'secret_access_key': self.secret_access_key,
5679            'secret_store_id': self.secret_store_id,
5680            'subdomain': self.subdomain,
5681            'tags': self.tags,
5682        }
5683
5684    @classmethod
5685    def from_dict(cls, d):
5686        return cls(
5687            access_key=d.get('access_key'),
5688            bind_interface=d.get('bind_interface'),
5689            certificate_authority=d.get('certificate_authority'),
5690            cluster_name=d.get('cluster_name'),
5691            egress_filter=d.get('egress_filter'),
5692            endpoint=d.get('endpoint'),
5693            healthcheck_namespace=d.get('healthcheck_namespace'),
5694            healthy=d.get('healthy'),
5695            id=d.get('id'),
5696            name=d.get('name'),
5697            port_override=d.get('port_override'),
5698            proxy_cluster_id=d.get('proxy_cluster_id'),
5699            region=d.get('region'),
5700            role_arn=d.get('role_arn'),
5701            role_external_id=d.get('role_external_id'),
5702            secret_access_key=d.get('secret_access_key'),
5703            secret_store_id=d.get('secret_store_id'),
5704            subdomain=d.get('subdomain'),
5705            tags=d.get('tags'),
5706        )

AmazonEKSUserImpersonation is deprecated, see docs for more info.

AmazonEKSUserImpersonation( access_key=None, bind_interface=None, certificate_authority=None, cluster_name=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
5539    def __init__(
5540        self,
5541        access_key=None,
5542        bind_interface=None,
5543        certificate_authority=None,
5544        cluster_name=None,
5545        egress_filter=None,
5546        endpoint=None,
5547        healthcheck_namespace=None,
5548        healthy=None,
5549        id=None,
5550        name=None,
5551        port_override=None,
5552        proxy_cluster_id=None,
5553        region=None,
5554        role_arn=None,
5555        role_external_id=None,
5556        secret_access_key=None,
5557        secret_store_id=None,
5558        subdomain=None,
5559        tags=None,
5560    ):
5561        self.access_key = access_key if access_key is not None else ''
5562        '''
5563         The Access Key ID to use to authenticate.
5564        '''
5565        self.bind_interface = bind_interface if bind_interface is not None else ''
5566        '''
5567         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5568        '''
5569        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5570        '''
5571         The CA to authenticate TLS connections with.
5572        '''
5573        self.cluster_name = cluster_name if cluster_name is not None else ''
5574        '''
5575         The name of the cluster to connect to.
5576        '''
5577        self.egress_filter = egress_filter if egress_filter is not None else ''
5578        '''
5579         A filter applied to the routing logic to pin datasource to nodes.
5580        '''
5581        self.endpoint = endpoint if endpoint is not None else ''
5582        '''
5583         The endpoint to dial.
5584        '''
5585        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5586        '''
5587         The path used to check the health of your connection.  Defaults to `default`.
5588        '''
5589        self.healthy = healthy if healthy is not None else False
5590        '''
5591         True if the datasource is reachable and the credentials are valid.
5592        '''
5593        self.id = id if id is not None else ''
5594        '''
5595         Unique identifier of the Resource.
5596        '''
5597        self.name = name if name is not None else ''
5598        '''
5599         Unique human-readable name of the Resource.
5600        '''
5601        self.port_override = port_override if port_override is not None else 0
5602        '''
5603         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5604        '''
5605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5606        '''
5607         ID of the proxy cluster for this resource, if any.
5608        '''
5609        self.region = region if region is not None else ''
5610        '''
5611         The AWS region to connect to e.g. us-east-1.
5612        '''
5613        self.role_arn = role_arn if role_arn is not None else ''
5614        '''
5615         The role to assume after logging in.
5616        '''
5617        self.role_external_id = role_external_id if role_external_id is not None else ''
5618        '''
5619         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5620        '''
5621        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5622        '''
5623         The Secret Access Key to use to authenticate.
5624        '''
5625        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5626        '''
5627         ID of the secret store containing credentials for this resource, if any.
5628        '''
5629        self.subdomain = subdomain if subdomain is not None else ''
5630        '''
5631         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5632        '''
5633        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5634        '''
5635         Tags is a map of key, value pairs.
5636        '''
access_key

The Access Key ID to use to authenticate.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5661    def to_dict(self):
5662        return {
5663            'access_key': self.access_key,
5664            'bind_interface': self.bind_interface,
5665            'certificate_authority': self.certificate_authority,
5666            'cluster_name': self.cluster_name,
5667            'egress_filter': self.egress_filter,
5668            'endpoint': self.endpoint,
5669            'healthcheck_namespace': self.healthcheck_namespace,
5670            'healthy': self.healthy,
5671            'id': self.id,
5672            'name': self.name,
5673            'port_override': self.port_override,
5674            'proxy_cluster_id': self.proxy_cluster_id,
5675            'region': self.region,
5676            'role_arn': self.role_arn,
5677            'role_external_id': self.role_external_id,
5678            'secret_access_key': self.secret_access_key,
5679            'secret_store_id': self.secret_store_id,
5680            'subdomain': self.subdomain,
5681            'tags': self.tags,
5682        }
@classmethod
def from_dict(cls, d)
5684    @classmethod
5685    def from_dict(cls, d):
5686        return cls(
5687            access_key=d.get('access_key'),
5688            bind_interface=d.get('bind_interface'),
5689            certificate_authority=d.get('certificate_authority'),
5690            cluster_name=d.get('cluster_name'),
5691            egress_filter=d.get('egress_filter'),
5692            endpoint=d.get('endpoint'),
5693            healthcheck_namespace=d.get('healthcheck_namespace'),
5694            healthy=d.get('healthy'),
5695            id=d.get('id'),
5696            name=d.get('name'),
5697            port_override=d.get('port_override'),
5698            proxy_cluster_id=d.get('proxy_cluster_id'),
5699            region=d.get('region'),
5700            role_arn=d.get('role_arn'),
5701            role_external_id=d.get('role_external_id'),
5702            secret_access_key=d.get('secret_access_key'),
5703            secret_store_id=d.get('secret_store_id'),
5704            subdomain=d.get('subdomain'),
5705            tags=d.get('tags'),
5706        )
class AmazonES:
5709class AmazonES:
5710    __slots__ = [
5711        'access_key',
5712        'bind_interface',
5713        'egress_filter',
5714        'endpoint',
5715        'healthy',
5716        'id',
5717        'name',
5718        'port_override',
5719        'proxy_cluster_id',
5720        'region',
5721        'role_arn',
5722        'role_external_id',
5723        'secret_access_key',
5724        'secret_store_id',
5725        'subdomain',
5726        'tags',
5727    ]
5728
5729    def __init__(
5730        self,
5731        access_key=None,
5732        bind_interface=None,
5733        egress_filter=None,
5734        endpoint=None,
5735        healthy=None,
5736        id=None,
5737        name=None,
5738        port_override=None,
5739        proxy_cluster_id=None,
5740        region=None,
5741        role_arn=None,
5742        role_external_id=None,
5743        secret_access_key=None,
5744        secret_store_id=None,
5745        subdomain=None,
5746        tags=None,
5747    ):
5748        self.access_key = access_key if access_key is not None else ''
5749        '''
5750         The Access Key ID to use to authenticate.
5751        '''
5752        self.bind_interface = bind_interface if bind_interface is not None else ''
5753        '''
5754         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5755        '''
5756        self.egress_filter = egress_filter if egress_filter is not None else ''
5757        '''
5758         A filter applied to the routing logic to pin datasource to nodes.
5759        '''
5760        self.endpoint = endpoint if endpoint is not None else ''
5761        '''
5762         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5763        '''
5764        self.healthy = healthy if healthy is not None else False
5765        '''
5766         True if the datasource is reachable and the credentials are valid.
5767        '''
5768        self.id = id if id is not None else ''
5769        '''
5770         Unique identifier of the Resource.
5771        '''
5772        self.name = name if name is not None else ''
5773        '''
5774         Unique human-readable name of the Resource.
5775        '''
5776        self.port_override = port_override if port_override is not None else 0
5777        '''
5778         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5779        '''
5780        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5781        '''
5782         ID of the proxy cluster for this resource, if any.
5783        '''
5784        self.region = region if region is not None else ''
5785        '''
5786         The AWS region to connect to e.g. us-east-1.
5787        '''
5788        self.role_arn = role_arn if role_arn is not None else ''
5789        '''
5790         The role to assume after logging in.
5791        '''
5792        self.role_external_id = role_external_id if role_external_id is not None else ''
5793        '''
5794         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5795        '''
5796        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5797        '''
5798         The Secret Access Key to use to authenticate.
5799        '''
5800        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5801        '''
5802         ID of the secret store containing credentials for this resource, if any.
5803        '''
5804        self.subdomain = subdomain if subdomain is not None else ''
5805        '''
5806         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5807        '''
5808        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5809        '''
5810         Tags is a map of key, value pairs.
5811        '''
5812
5813    def __repr__(self):
5814        return '<sdm.AmazonES ' + \
5815            'access_key: ' + repr(self.access_key) + ' ' +\
5816            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5817            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5818            'endpoint: ' + repr(self.endpoint) + ' ' +\
5819            'healthy: ' + repr(self.healthy) + ' ' +\
5820            'id: ' + repr(self.id) + ' ' +\
5821            'name: ' + repr(self.name) + ' ' +\
5822            'port_override: ' + repr(self.port_override) + ' ' +\
5823            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5824            'region: ' + repr(self.region) + ' ' +\
5825            'role_arn: ' + repr(self.role_arn) + ' ' +\
5826            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5827            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5828            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5829            'subdomain: ' + repr(self.subdomain) + ' ' +\
5830            'tags: ' + repr(self.tags) + ' ' +\
5831            '>'
5832
5833    def to_dict(self):
5834        return {
5835            'access_key': self.access_key,
5836            'bind_interface': self.bind_interface,
5837            'egress_filter': self.egress_filter,
5838            'endpoint': self.endpoint,
5839            'healthy': self.healthy,
5840            'id': self.id,
5841            'name': self.name,
5842            'port_override': self.port_override,
5843            'proxy_cluster_id': self.proxy_cluster_id,
5844            'region': self.region,
5845            'role_arn': self.role_arn,
5846            'role_external_id': self.role_external_id,
5847            'secret_access_key': self.secret_access_key,
5848            'secret_store_id': self.secret_store_id,
5849            'subdomain': self.subdomain,
5850            'tags': self.tags,
5851        }
5852
5853    @classmethod
5854    def from_dict(cls, d):
5855        return cls(
5856            access_key=d.get('access_key'),
5857            bind_interface=d.get('bind_interface'),
5858            egress_filter=d.get('egress_filter'),
5859            endpoint=d.get('endpoint'),
5860            healthy=d.get('healthy'),
5861            id=d.get('id'),
5862            name=d.get('name'),
5863            port_override=d.get('port_override'),
5864            proxy_cluster_id=d.get('proxy_cluster_id'),
5865            region=d.get('region'),
5866            role_arn=d.get('role_arn'),
5867            role_external_id=d.get('role_external_id'),
5868            secret_access_key=d.get('secret_access_key'),
5869            secret_store_id=d.get('secret_store_id'),
5870            subdomain=d.get('subdomain'),
5871            tags=d.get('tags'),
5872        )
AmazonES( access_key=None, bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
5729    def __init__(
5730        self,
5731        access_key=None,
5732        bind_interface=None,
5733        egress_filter=None,
5734        endpoint=None,
5735        healthy=None,
5736        id=None,
5737        name=None,
5738        port_override=None,
5739        proxy_cluster_id=None,
5740        region=None,
5741        role_arn=None,
5742        role_external_id=None,
5743        secret_access_key=None,
5744        secret_store_id=None,
5745        subdomain=None,
5746        tags=None,
5747    ):
5748        self.access_key = access_key if access_key is not None else ''
5749        '''
5750         The Access Key ID to use to authenticate.
5751        '''
5752        self.bind_interface = bind_interface if bind_interface is not None else ''
5753        '''
5754         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5755        '''
5756        self.egress_filter = egress_filter if egress_filter is not None else ''
5757        '''
5758         A filter applied to the routing logic to pin datasource to nodes.
5759        '''
5760        self.endpoint = endpoint if endpoint is not None else ''
5761        '''
5762         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5763        '''
5764        self.healthy = healthy if healthy is not None else False
5765        '''
5766         True if the datasource is reachable and the credentials are valid.
5767        '''
5768        self.id = id if id is not None else ''
5769        '''
5770         Unique identifier of the Resource.
5771        '''
5772        self.name = name if name is not None else ''
5773        '''
5774         Unique human-readable name of the Resource.
5775        '''
5776        self.port_override = port_override if port_override is not None else 0
5777        '''
5778         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5779        '''
5780        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5781        '''
5782         ID of the proxy cluster for this resource, if any.
5783        '''
5784        self.region = region if region is not None else ''
5785        '''
5786         The AWS region to connect to e.g. us-east-1.
5787        '''
5788        self.role_arn = role_arn if role_arn is not None else ''
5789        '''
5790         The role to assume after logging in.
5791        '''
5792        self.role_external_id = role_external_id if role_external_id is not None else ''
5793        '''
5794         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5795        '''
5796        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5797        '''
5798         The Secret Access Key to use to authenticate.
5799        '''
5800        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5801        '''
5802         ID of the secret store containing credentials for this resource, if any.
5803        '''
5804        self.subdomain = subdomain if subdomain is not None else ''
5805        '''
5806         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5807        '''
5808        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5809        '''
5810         Tags is a map of key, value pairs.
5811        '''
access_key

The Access Key ID to use to authenticate.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial e.g. search-?.region.es.amazonaws.com"

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5833    def to_dict(self):
5834        return {
5835            'access_key': self.access_key,
5836            'bind_interface': self.bind_interface,
5837            'egress_filter': self.egress_filter,
5838            'endpoint': self.endpoint,
5839            'healthy': self.healthy,
5840            'id': self.id,
5841            'name': self.name,
5842            'port_override': self.port_override,
5843            'proxy_cluster_id': self.proxy_cluster_id,
5844            'region': self.region,
5845            'role_arn': self.role_arn,
5846            'role_external_id': self.role_external_id,
5847            'secret_access_key': self.secret_access_key,
5848            'secret_store_id': self.secret_store_id,
5849            'subdomain': self.subdomain,
5850            'tags': self.tags,
5851        }
@classmethod
def from_dict(cls, d)
5853    @classmethod
5854    def from_dict(cls, d):
5855        return cls(
5856            access_key=d.get('access_key'),
5857            bind_interface=d.get('bind_interface'),
5858            egress_filter=d.get('egress_filter'),
5859            endpoint=d.get('endpoint'),
5860            healthy=d.get('healthy'),
5861            id=d.get('id'),
5862            name=d.get('name'),
5863            port_override=d.get('port_override'),
5864            proxy_cluster_id=d.get('proxy_cluster_id'),
5865            region=d.get('region'),
5866            role_arn=d.get('role_arn'),
5867            role_external_id=d.get('role_external_id'),
5868            secret_access_key=d.get('secret_access_key'),
5869            secret_store_id=d.get('secret_store_id'),
5870            subdomain=d.get('subdomain'),
5871            tags=d.get('tags'),
5872        )
class AmazonESIAM:
5875class AmazonESIAM:
5876    __slots__ = [
5877        'bind_interface',
5878        'egress_filter',
5879        'endpoint',
5880        'healthy',
5881        'id',
5882        'name',
5883        'port_override',
5884        'proxy_cluster_id',
5885        'region',
5886        'role_arn',
5887        'role_external_id',
5888        'secret_store_id',
5889        'subdomain',
5890        'tags',
5891        'tlsrequired',
5892    ]
5893
5894    def __init__(
5895        self,
5896        bind_interface=None,
5897        egress_filter=None,
5898        endpoint=None,
5899        healthy=None,
5900        id=None,
5901        name=None,
5902        port_override=None,
5903        proxy_cluster_id=None,
5904        region=None,
5905        role_arn=None,
5906        role_external_id=None,
5907        secret_store_id=None,
5908        subdomain=None,
5909        tags=None,
5910        tlsrequired=None,
5911    ):
5912        self.bind_interface = bind_interface if bind_interface is not None else ''
5913        '''
5914         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5915        '''
5916        self.egress_filter = egress_filter if egress_filter is not None else ''
5917        '''
5918         A filter applied to the routing logic to pin datasource to nodes.
5919        '''
5920        self.endpoint = endpoint if endpoint is not None else ''
5921        '''
5922         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5923        '''
5924        self.healthy = healthy if healthy is not None else False
5925        '''
5926         True if the datasource is reachable and the credentials are valid.
5927        '''
5928        self.id = id if id is not None else ''
5929        '''
5930         Unique identifier of the Resource.
5931        '''
5932        self.name = name if name is not None else ''
5933        '''
5934         Unique human-readable name of the Resource.
5935        '''
5936        self.port_override = port_override if port_override is not None else 0
5937        '''
5938         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5939        '''
5940        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5941        '''
5942         ID of the proxy cluster for this resource, if any.
5943        '''
5944        self.region = region if region is not None else ''
5945        '''
5946         The AWS region to connect to.
5947        '''
5948        self.role_arn = role_arn if role_arn is not None else ''
5949        '''
5950         The role to assume after logging in.
5951        '''
5952        self.role_external_id = role_external_id if role_external_id is not None else ''
5953        '''
5954         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5955        '''
5956        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5957        '''
5958         ID of the secret store containing credentials for this resource, if any.
5959        '''
5960        self.subdomain = subdomain if subdomain is not None else ''
5961        '''
5962         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5963        '''
5964        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5965        '''
5966         Tags is a map of key, value pairs.
5967        '''
5968        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5969        '''
5970         Use TLS to connect to the OpenSearch server
5971        '''
5972
5973    def __repr__(self):
5974        return '<sdm.AmazonESIAM ' + \
5975            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5976            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5977            'endpoint: ' + repr(self.endpoint) + ' ' +\
5978            'healthy: ' + repr(self.healthy) + ' ' +\
5979            'id: ' + repr(self.id) + ' ' +\
5980            'name: ' + repr(self.name) + ' ' +\
5981            'port_override: ' + repr(self.port_override) + ' ' +\
5982            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5983            'region: ' + repr(self.region) + ' ' +\
5984            'role_arn: ' + repr(self.role_arn) + ' ' +\
5985            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5986            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5987            'subdomain: ' + repr(self.subdomain) + ' ' +\
5988            'tags: ' + repr(self.tags) + ' ' +\
5989            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
5990            '>'
5991
5992    def to_dict(self):
5993        return {
5994            'bind_interface': self.bind_interface,
5995            'egress_filter': self.egress_filter,
5996            'endpoint': self.endpoint,
5997            'healthy': self.healthy,
5998            'id': self.id,
5999            'name': self.name,
6000            'port_override': self.port_override,
6001            'proxy_cluster_id': self.proxy_cluster_id,
6002            'region': self.region,
6003            'role_arn': self.role_arn,
6004            'role_external_id': self.role_external_id,
6005            'secret_store_id': self.secret_store_id,
6006            'subdomain': self.subdomain,
6007            'tags': self.tags,
6008            'tlsrequired': self.tlsrequired,
6009        }
6010
6011    @classmethod
6012    def from_dict(cls, d):
6013        return cls(
6014            bind_interface=d.get('bind_interface'),
6015            egress_filter=d.get('egress_filter'),
6016            endpoint=d.get('endpoint'),
6017            healthy=d.get('healthy'),
6018            id=d.get('id'),
6019            name=d.get('name'),
6020            port_override=d.get('port_override'),
6021            proxy_cluster_id=d.get('proxy_cluster_id'),
6022            region=d.get('region'),
6023            role_arn=d.get('role_arn'),
6024            role_external_id=d.get('role_external_id'),
6025            secret_store_id=d.get('secret_store_id'),
6026            subdomain=d.get('subdomain'),
6027            tags=d.get('tags'),
6028            tlsrequired=d.get('tlsrequired'),
6029        )
AmazonESIAM( bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None, tlsrequired=None)
5894    def __init__(
5895        self,
5896        bind_interface=None,
5897        egress_filter=None,
5898        endpoint=None,
5899        healthy=None,
5900        id=None,
5901        name=None,
5902        port_override=None,
5903        proxy_cluster_id=None,
5904        region=None,
5905        role_arn=None,
5906        role_external_id=None,
5907        secret_store_id=None,
5908        subdomain=None,
5909        tags=None,
5910        tlsrequired=None,
5911    ):
5912        self.bind_interface = bind_interface if bind_interface is not None else ''
5913        '''
5914         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5915        '''
5916        self.egress_filter = egress_filter if egress_filter is not None else ''
5917        '''
5918         A filter applied to the routing logic to pin datasource to nodes.
5919        '''
5920        self.endpoint = endpoint if endpoint is not None else ''
5921        '''
5922         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5923        '''
5924        self.healthy = healthy if healthy is not None else False
5925        '''
5926         True if the datasource is reachable and the credentials are valid.
5927        '''
5928        self.id = id if id is not None else ''
5929        '''
5930         Unique identifier of the Resource.
5931        '''
5932        self.name = name if name is not None else ''
5933        '''
5934         Unique human-readable name of the Resource.
5935        '''
5936        self.port_override = port_override if port_override is not None else 0
5937        '''
5938         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5939        '''
5940        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5941        '''
5942         ID of the proxy cluster for this resource, if any.
5943        '''
5944        self.region = region if region is not None else ''
5945        '''
5946         The AWS region to connect to.
5947        '''
5948        self.role_arn = role_arn if role_arn is not None else ''
5949        '''
5950         The role to assume after logging in.
5951        '''
5952        self.role_external_id = role_external_id if role_external_id is not None else ''
5953        '''
5954         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5955        '''
5956        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5957        '''
5958         ID of the secret store containing credentials for this resource, if any.
5959        '''
5960        self.subdomain = subdomain if subdomain is not None else ''
5961        '''
5962         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5963        '''
5964        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5965        '''
5966         Tags is a map of key, value pairs.
5967        '''
5968        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5969        '''
5970         Use TLS to connect to the OpenSearch server
5971        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial e.g. search-?.region.es.amazonaws.com"

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tlsrequired

Use TLS to connect to the OpenSearch server

def to_dict(self)
5992    def to_dict(self):
5993        return {
5994            'bind_interface': self.bind_interface,
5995            'egress_filter': self.egress_filter,
5996            'endpoint': self.endpoint,
5997            'healthy': self.healthy,
5998            'id': self.id,
5999            'name': self.name,
6000            'port_override': self.port_override,
6001            'proxy_cluster_id': self.proxy_cluster_id,
6002            'region': self.region,
6003            'role_arn': self.role_arn,
6004            'role_external_id': self.role_external_id,
6005            'secret_store_id': self.secret_store_id,
6006            'subdomain': self.subdomain,
6007            'tags': self.tags,
6008            'tlsrequired': self.tlsrequired,
6009        }
@classmethod
def from_dict(cls, d)
6011    @classmethod
6012    def from_dict(cls, d):
6013        return cls(
6014            bind_interface=d.get('bind_interface'),
6015            egress_filter=d.get('egress_filter'),
6016            endpoint=d.get('endpoint'),
6017            healthy=d.get('healthy'),
6018            id=d.get('id'),
6019            name=d.get('name'),
6020            port_override=d.get('port_override'),
6021            proxy_cluster_id=d.get('proxy_cluster_id'),
6022            region=d.get('region'),
6023            role_arn=d.get('role_arn'),
6024            role_external_id=d.get('role_external_id'),
6025            secret_store_id=d.get('secret_store_id'),
6026            subdomain=d.get('subdomain'),
6027            tags=d.get('tags'),
6028            tlsrequired=d.get('tlsrequired'),
6029        )
class AmazonMQAMQP091:
6032class AmazonMQAMQP091:
6033    __slots__ = [
6034        'bind_interface',
6035        'egress_filter',
6036        'healthy',
6037        'hostname',
6038        'id',
6039        'name',
6040        'password',
6041        'port',
6042        'port_override',
6043        'proxy_cluster_id',
6044        'secret_store_id',
6045        'subdomain',
6046        'tags',
6047        'tls_required',
6048        'username',
6049    ]
6050
6051    def __init__(
6052        self,
6053        bind_interface=None,
6054        egress_filter=None,
6055        healthy=None,
6056        hostname=None,
6057        id=None,
6058        name=None,
6059        password=None,
6060        port=None,
6061        port_override=None,
6062        proxy_cluster_id=None,
6063        secret_store_id=None,
6064        subdomain=None,
6065        tags=None,
6066        tls_required=None,
6067        username=None,
6068    ):
6069        self.bind_interface = bind_interface if bind_interface is not None else ''
6070        '''
6071         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
6072        '''
6073        self.egress_filter = egress_filter if egress_filter is not None else ''
6074        '''
6075         A filter applied to the routing logic to pin datasource to nodes.
6076        '''
6077        self.healthy = healthy if healthy is not None else False
6078        '''
6079         True if the datasource is reachable and the credentials are valid.
6080        '''
6081        self.hostname = hostname if hostname is not None else ''
6082        '''
6083         The host to dial to initiate a connection from the egress node to this resource.
6084        '''
6085        self.id = id if id is not None else ''
6086        '''
6087         Unique identifier of the Resource.
6088        '''
6089        self.name = name if name is not None else ''
6090        '''
6091         Unique human-readable name of the Resource.
6092        '''
6093        self.password = password if password is not None else ''
6094        '''
6095         The password to authenticate with.
6096        '''
6097        self.port = port if port is not None else 0
6098        '''
6099         The port to dial to initiate a connection from the egress node to this resource.
6100        '''
6101        self.port_override = port_override if port_override is not None else 0
6102        '''
6103         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
6104        '''
6105        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6106        '''
6107         ID of the proxy cluster for this resource, if any.
6108        '''
6109        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6110        '''
6111         ID of the secret store containing credentials for this resource, if any.
6112        '''
6113        self.subdomain = subdomain if subdomain is not None else ''
6114        '''
6115         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
6116        '''
6117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6118        '''
6119         Tags is a map of key, value pairs.
6120        '''
6121        self.tls_required = tls_required if tls_required is not None else False
6122        '''
6123         If set, TLS must be used to connect to this resource.
6124        '''
6125        self.username = username if username is not None else ''
6126        '''
6127         The username to authenticate with.
6128        '''
6129
6130    def __repr__(self):
6131        return '<sdm.AmazonMQAMQP091 ' + \
6132            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6133            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6134            'healthy: ' + repr(self.healthy) + ' ' +\
6135            'hostname: ' + repr(self.hostname) + ' ' +\
6136            'id: ' + repr(self.id) + ' ' +\
6137            'name: ' + repr(self.name) + ' ' +\
6138            'password: ' + repr(self.password) + ' ' +\
6139            'port: ' + repr(self.port) + ' ' +\
6140            'port_override: ' + repr(self.port_override) + ' ' +\
6141            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6142            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6143            'subdomain: ' + repr(self.subdomain) + ' ' +\
6144            'tags: ' + repr(self.tags) + ' ' +\
6145            'tls_required: ' + repr(self.tls_required) + ' ' +\
6146            'username: ' + repr(self.username) + ' ' +\
6147            '>'
6148
6149    def to_dict(self):
6150        return {
6151            'bind_interface': self.bind_interface,
6152            'egress_filter': self.egress_filter,
6153            'healthy': self.healthy,
6154            'hostname': self.hostname,
6155            'id': self.id,
6156            'name': self.name,
6157            'password': self.password,
6158            'port': self.port,
6159            'port_override': self.port_override,
6160            'proxy_cluster_id': self.proxy_cluster_id,
6161            'secret_store_id': self.secret_store_id,
6162            'subdomain': self.subdomain,
6163            'tags': self.tags,
6164            'tls_required': self.tls_required,
6165            'username': self.username,
6166        }
6167
6168    @classmethod
6169    def from_dict(cls, d):
6170        return cls(
6171            bind_interface=d.get('bind_interface'),
6172            egress_filter=d.get('egress_filter'),
6173            healthy=d.get('healthy'),
6174            hostname=d.get('hostname'),
6175            id=d.get('id'),
6176            name=d.get('name'),
6177            password=d.get('password'),
6178            port=d.get('port'),
6179            port_override=d.get('port_override'),
6180            proxy_cluster_id=d.get('proxy_cluster_id'),
6181            secret_store_id=d.get('secret_store_id'),
6182            subdomain=d.get('subdomain'),
6183            tags=d.get('tags'),
6184            tls_required=d.get('tls_required'),
6185            username=d.get('username'),
6186        )
AmazonMQAMQP091( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
6051    def __init__(
6052        self,
6053        bind_interface=None,
6054        egress_filter=None,
6055        healthy=None,
6056        hostname=None,
6057        id=None,
6058        name=None,
6059        password=None,
6060        port=None,
6061        port_override=None,
6062        proxy_cluster_id=None,
6063        secret_store_id=None,
6064        subdomain=None,
6065        tags=None,
6066        tls_required=None,
6067        username=None,
6068    ):
6069        self.bind_interface = bind_interface if bind_interface is not None else ''
6070        '''
6071         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
6072        '''
6073        self.egress_filter = egress_filter if egress_filter is not None else ''
6074        '''
6075         A filter applied to the routing logic to pin datasource to nodes.
6076        '''
6077        self.healthy = healthy if healthy is not None else False
6078        '''
6079         True if the datasource is reachable and the credentials are valid.
6080        '''
6081        self.hostname = hostname if hostname is not None else ''
6082        '''
6083         The host to dial to initiate a connection from the egress node to this resource.
6084        '''
6085        self.id = id if id is not None else ''
6086        '''
6087         Unique identifier of the Resource.
6088        '''
6089        self.name = name if name is not None else ''
6090        '''
6091         Unique human-readable name of the Resource.
6092        '''
6093        self.password = password if password is not None else ''
6094        '''
6095         The password to authenticate with.
6096        '''
6097        self.port = port if port is not None else 0
6098        '''
6099         The port to dial to initiate a connection from the egress node to this resource.
6100        '''
6101        self.port_override = port_override if port_override is not None else 0
6102        '''
6103         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
6104        '''
6105        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6106        '''
6107         ID of the proxy cluster for this resource, if any.
6108        '''
6109        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6110        '''
6111         ID of the secret store containing credentials for this resource, if any.
6112        '''
6113        self.subdomain = subdomain if subdomain is not None else ''
6114        '''
6115         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
6116        '''
6117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6118        '''
6119         Tags is a map of key, value pairs.
6120        '''
6121        self.tls_required = tls_required if tls_required is not None else False
6122        '''
6123         If set, TLS must be used to connect to this resource.
6124        '''
6125        self.username = username if username is not None else ''
6126        '''
6127         The username to authenticate with.
6128        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
6149    def to_dict(self):
6150        return {
6151            'bind_interface': self.bind_interface,
6152            'egress_filter': self.egress_filter,
6153            'healthy': self.healthy,
6154            'hostname': self.hostname,
6155            'id': self.id,
6156            'name': self.name,
6157            'password': self.password,
6158            'port': self.port,
6159            'port_override': self.port_override,
6160            'proxy_cluster_id': self.proxy_cluster_id,
6161            'secret_store_id': self.secret_store_id,
6162            'subdomain': self.subdomain,
6163            'tags': self.tags,
6164            'tls_required': self.tls_required,
6165            'username': self.username,
6166        }
@classmethod
def from_dict(cls, d)
6168    @classmethod
6169    def from_dict(cls, d):
6170        return cls(
6171            bind_interface=d.get('bind_interface'),
6172            egress_filter=d.get('egress_filter'),
6173            healthy=d.get('healthy'),
6174            hostname=d.get('hostname'),
6175            id=d.get('id'),
6176            name=d.get('name'),
6177            password=d.get('password'),
6178            port=d.get('port'),
6179            port_override=d.get('port_override'),
6180            proxy_cluster_id=d.get('proxy_cluster_id'),
6181            secret_store_id=d.get('secret_store_id'),
6182            subdomain=d.get('subdomain'),
6183            tags=d.get('tags'),
6184            tls_required=d.get('tls_required'),
6185            username=d.get('username'),
6186        )
class ApprovalFlowApprover:
6189class ApprovalFlowApprover:
6190    '''
6191         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
6192    '''
6193    __slots__ = [
6194        'account_id',
6195        'group_id',
6196        'reference',
6197        'role_id',
6198    ]
6199
6200    def __init__(
6201        self,
6202        account_id=None,
6203        group_id=None,
6204        reference=None,
6205        role_id=None,
6206    ):
6207        self.account_id = account_id if account_id is not None else ''
6208        '''
6209         The approver account id.
6210        '''
6211        self.group_id = group_id if group_id is not None else ''
6212        '''
6213         The approver group id
6214        '''
6215        self.reference = reference if reference is not None else ''
6216        '''
6217         A reference to an approver. Must be one of ApproverReference constants.
6218         If set, the account_id and role_id must be empty.
6219        '''
6220        self.role_id = role_id if role_id is not None else ''
6221        '''
6222         The approver role id
6223        '''
6224
6225    def __repr__(self):
6226        return '<sdm.ApprovalFlowApprover ' + \
6227            'account_id: ' + repr(self.account_id) + ' ' +\
6228            'group_id: ' + repr(self.group_id) + ' ' +\
6229            'reference: ' + repr(self.reference) + ' ' +\
6230            'role_id: ' + repr(self.role_id) + ' ' +\
6231            '>'
6232
6233    def to_dict(self):
6234        return {
6235            'account_id': self.account_id,
6236            'group_id': self.group_id,
6237            'reference': self.reference,
6238            'role_id': self.role_id,
6239        }
6240
6241    @classmethod
6242    def from_dict(cls, d):
6243        return cls(
6244            account_id=d.get('account_id'),
6245            group_id=d.get('group_id'),
6246            reference=d.get('reference'),
6247            role_id=d.get('role_id'),
6248        )

An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference

ApprovalFlowApprover(account_id=None, group_id=None, reference=None, role_id=None)
6200    def __init__(
6201        self,
6202        account_id=None,
6203        group_id=None,
6204        reference=None,
6205        role_id=None,
6206    ):
6207        self.account_id = account_id if account_id is not None else ''
6208        '''
6209         The approver account id.
6210        '''
6211        self.group_id = group_id if group_id is not None else ''
6212        '''
6213         The approver group id
6214        '''
6215        self.reference = reference if reference is not None else ''
6216        '''
6217         A reference to an approver. Must be one of ApproverReference constants.
6218         If set, the account_id and role_id must be empty.
6219        '''
6220        self.role_id = role_id if role_id is not None else ''
6221        '''
6222         The approver role id
6223        '''
account_id

The approver account id.

group_id

The approver group id

reference

A reference to an approver. Must be one of ApproverReference constants. If set, the account_id and role_id must be empty.

role_id

The approver role id

def to_dict(self)
6233    def to_dict(self):
6234        return {
6235            'account_id': self.account_id,
6236            'group_id': self.group_id,
6237            'reference': self.reference,
6238            'role_id': self.role_id,
6239        }
@classmethod
def from_dict(cls, d)
6241    @classmethod
6242    def from_dict(cls, d):
6243        return cls(
6244            account_id=d.get('account_id'),
6245            group_id=d.get('group_id'),
6246            reference=d.get('reference'),
6247            role_id=d.get('role_id'),
6248        )
class ApprovalFlowStep:
6251class ApprovalFlowStep:
6252    '''
6253         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
6254    '''
6255    __slots__ = [
6256        'approvers',
6257        'quantifier',
6258        'skip_after',
6259    ]
6260
6261    def __init__(
6262        self,
6263        approvers=None,
6264        quantifier=None,
6265        skip_after=None,
6266    ):
6267        self.approvers = approvers if approvers is not None else []
6268        '''
6269         The approvers for this approval step
6270        '''
6271        self.quantifier = quantifier if quantifier is not None else ''
6272        '''
6273         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
6274        '''
6275        self.skip_after = skip_after if skip_after is not None else None
6276        '''
6277         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
6278        '''
6279
6280    def __repr__(self):
6281        return '<sdm.ApprovalFlowStep ' + \
6282            'approvers: ' + repr(self.approvers) + ' ' +\
6283            'quantifier: ' + repr(self.quantifier) + ' ' +\
6284            'skip_after: ' + repr(self.skip_after) + ' ' +\
6285            '>'
6286
6287    def to_dict(self):
6288        return {
6289            'approvers': self.approvers,
6290            'quantifier': self.quantifier,
6291            'skip_after': self.skip_after,
6292        }
6293
6294    @classmethod
6295    def from_dict(cls, d):
6296        return cls(
6297            approvers=d.get('approvers'),
6298            quantifier=d.get('quantifier'),
6299            skip_after=d.get('skip_after'),
6300        )

An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.

ApprovalFlowStep(approvers=None, quantifier=None, skip_after=None)
6261    def __init__(
6262        self,
6263        approvers=None,
6264        quantifier=None,
6265        skip_after=None,
6266    ):
6267        self.approvers = approvers if approvers is not None else []
6268        '''
6269         The approvers for this approval step
6270        '''
6271        self.quantifier = quantifier if quantifier is not None else ''
6272        '''
6273         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
6274        '''
6275        self.skip_after = skip_after if skip_after is not None else None
6276        '''
6277         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
6278        '''
approvers

The approvers for this approval step

quantifier

Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".

skip_after

Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.

def to_dict(self)
6287    def to_dict(self):
6288        return {
6289            'approvers': self.approvers,
6290            'quantifier': self.quantifier,
6291            'skip_after': self.skip_after,
6292        }
@classmethod
def from_dict(cls, d)
6294    @classmethod
6295    def from_dict(cls, d):
6296        return cls(
6297            approvers=d.get('approvers'),
6298            quantifier=d.get('quantifier'),
6299            skip_after=d.get('skip_after'),
6300        )
class ApprovalWorkflow:
6303class ApprovalWorkflow:
6304    '''
6305         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
6306     approvers and be approved or denied.
6307    '''
6308    __slots__ = [
6309        'approval_mode',
6310        'approval_workflow_steps',
6311        'description',
6312        'id',
6313        'name',
6314    ]
6315
6316    def __init__(
6317        self,
6318        approval_mode=None,
6319        approval_workflow_steps=None,
6320        description=None,
6321        id=None,
6322        name=None,
6323    ):
6324        self.approval_mode = approval_mode if approval_mode is not None else ''
6325        '''
6326         Approval mode of the ApprovalWorkflow
6327        '''
6328        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
6329        '''
6330         The approval steps of this approval workflow
6331        '''
6332        self.description = description if description is not None else ''
6333        '''
6334         Optional description of the ApprovalWorkflow.
6335        '''
6336        self.id = id if id is not None else ''
6337        '''
6338         Unique identifier of the ApprovalWorkflow.
6339        '''
6340        self.name = name if name is not None else ''
6341        '''
6342         Unique human-readable name of the ApprovalWorkflow.
6343        '''
6344
6345    def __repr__(self):
6346        return '<sdm.ApprovalWorkflow ' + \
6347            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
6348            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
6349            'description: ' + repr(self.description) + ' ' +\
6350            'id: ' + repr(self.id) + ' ' +\
6351            'name: ' + repr(self.name) + ' ' +\
6352            '>'
6353
6354    def to_dict(self):
6355        return {
6356            'approval_mode': self.approval_mode,
6357            'approval_workflow_steps': self.approval_workflow_steps,
6358            'description': self.description,
6359            'id': self.id,
6360            'name': self.name,
6361        }
6362
6363    @classmethod
6364    def from_dict(cls, d):
6365        return cls(
6366            approval_mode=d.get('approval_mode'),
6367            approval_workflow_steps=d.get('approval_workflow_steps'),
6368            description=d.get('description'),
6369            id=d.get('id'),
6370            name=d.get('name'),
6371        )

ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized approvers and be approved or denied.

ApprovalWorkflow( approval_mode=None, approval_workflow_steps=None, description=None, id=None, name=None)
6316    def __init__(
6317        self,
6318        approval_mode=None,
6319        approval_workflow_steps=None,
6320        description=None,
6321        id=None,
6322        name=None,
6323    ):
6324        self.approval_mode = approval_mode if approval_mode is not None else ''
6325        '''
6326         Approval mode of the ApprovalWorkflow
6327        '''
6328        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
6329        '''
6330         The approval steps of this approval workflow
6331        '''
6332        self.description = description if description is not None else ''
6333        '''
6334         Optional description of the ApprovalWorkflow.
6335        '''
6336        self.id = id if id is not None else ''
6337        '''
6338         Unique identifier of the ApprovalWorkflow.
6339        '''
6340        self.name = name if name is not None else ''
6341        '''
6342         Unique human-readable name of the ApprovalWorkflow.
6343        '''
approval_mode

Approval mode of the ApprovalWorkflow

approval_workflow_steps

The approval steps of this approval workflow

description

Optional description of the ApprovalWorkflow.

id

Unique identifier of the ApprovalWorkflow.

name

Unique human-readable name of the ApprovalWorkflow.

def to_dict(self)
6354    def to_dict(self):
6355        return {
6356            'approval_mode': self.approval_mode,
6357            'approval_workflow_steps': self.approval_workflow_steps,
6358            'description': self.description,
6359            'id': self.id,
6360            'name': self.name,
6361        }
@classmethod
def from_dict(cls, d)
6363    @classmethod
6364    def from_dict(cls, d):
6365        return cls(
6366            approval_mode=d.get('approval_mode'),
6367            approval_workflow_steps=d.get('approval_workflow_steps'),
6368            description=d.get('description'),
6369            id=d.get('id'),
6370            name=d.get('name'),
6371        )
class ApprovalWorkflowApprover:
6374class ApprovalWorkflowApprover:
6375    '''
6376         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
6377    ApprovalWorkflowApprover is deprecated, see docs for more info.
6378    '''
6379    __slots__ = [
6380        'account_id',
6381        'approval_flow_id',
6382        'approval_step_id',
6383        'id',
6384        'reference',
6385        'role_id',
6386    ]
6387
6388    def __init__(
6389        self,
6390        account_id=None,
6391        approval_flow_id=None,
6392        approval_step_id=None,
6393        id=None,
6394        reference=None,
6395        role_id=None,
6396    ):
6397        self.account_id = account_id if account_id is not None else ''
6398        '''
6399         The approver account id.
6400        '''
6401        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6402        '''
6403         The approval flow id specified the approval workflow that this approver belongs to
6404        '''
6405        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
6406        '''
6407         The approval step id specified the approval flow step that this approver belongs to
6408        '''
6409        self.id = id if id is not None else ''
6410        '''
6411         Unique identifier of the ApprovalWorkflowApprover.
6412        '''
6413        self.reference = reference if reference is not None else ''
6414        '''
6415         A reference to an approver. Will be one of ApproverReference constants.
6416         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
6417         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
6418        '''
6419        self.role_id = role_id if role_id is not None else ''
6420        '''
6421         The approver role id
6422        '''
6423
6424    def __repr__(self):
6425        return '<sdm.ApprovalWorkflowApprover ' + \
6426            'account_id: ' + repr(self.account_id) + ' ' +\
6427            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
6428            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
6429            'id: ' + repr(self.id) + ' ' +\
6430            'reference: ' + repr(self.reference) + ' ' +\
6431            'role_id: ' + repr(self.role_id) + ' ' +\
6432            '>'
6433
6434    def to_dict(self):
6435        return {
6436            'account_id': self.account_id,
6437            'approval_flow_id': self.approval_flow_id,
6438            'approval_step_id': self.approval_step_id,
6439            'id': self.id,
6440            'reference': self.reference,
6441            'role_id': self.role_id,
6442        }
6443
6444    @classmethod
6445    def from_dict(cls, d):
6446        return cls(
6447            account_id=d.get('account_id'),
6448            approval_flow_id=d.get('approval_flow_id'),
6449            approval_step_id=d.get('approval_step_id'),
6450            id=d.get('id'),
6451            reference=d.get('reference'),
6452            role_id=d.get('role_id'),
6453        )

ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep ApprovalWorkflowApprover is deprecated, see docs for more info.

ApprovalWorkflowApprover( account_id=None, approval_flow_id=None, approval_step_id=None, id=None, reference=None, role_id=None)
6388    def __init__(
6389        self,
6390        account_id=None,
6391        approval_flow_id=None,
6392        approval_step_id=None,
6393        id=None,
6394        reference=None,
6395        role_id=None,
6396    ):
6397        self.account_id = account_id if account_id is not None else ''
6398        '''
6399         The approver account id.
6400        '''
6401        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6402        '''
6403         The approval flow id specified the approval workflow that this approver belongs to
6404        '''
6405        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
6406        '''
6407         The approval step id specified the approval flow step that this approver belongs to
6408        '''
6409        self.id = id if id is not None else ''
6410        '''
6411         Unique identifier of the ApprovalWorkflowApprover.
6412        '''
6413        self.reference = reference if reference is not None else ''
6414        '''
6415         A reference to an approver. Will be one of ApproverReference constants.
6416         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
6417         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
6418        '''
6419        self.role_id = role_id if role_id is not None else ''
6420        '''
6421         The approver role id
6422        '''
account_id

The approver account id.

approval_flow_id

The approval flow id specified the approval workflow that this approver belongs to

approval_step_id

The approval step id specified the approval flow step that this approver belongs to

id

Unique identifier of the ApprovalWorkflowApprover.

reference

A reference to an approver. Will be one of ApproverReference constants. This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API. For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.

role_id

The approver role id

def to_dict(self)
6434    def to_dict(self):
6435        return {
6436            'account_id': self.account_id,
6437            'approval_flow_id': self.approval_flow_id,
6438            'approval_step_id': self.approval_step_id,
6439            'id': self.id,
6440            'reference': self.reference,
6441            'role_id': self.role_id,
6442        }
@classmethod
def from_dict(cls, d)
6444    @classmethod
6445    def from_dict(cls, d):
6446        return cls(
6447            account_id=d.get('account_id'),
6448            approval_flow_id=d.get('approval_flow_id'),
6449            approval_step_id=d.get('approval_step_id'),
6450            id=d.get('id'),
6451            reference=d.get('reference'),
6452            role_id=d.get('role_id'),
6453        )
class ApprovalWorkflowApproverCreateResponse:
6456class ApprovalWorkflowApproverCreateResponse:
6457    '''
6458         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
6459    '''
6460    __slots__ = [
6461        'approval_workflow_approver',
6462        'rate_limit',
6463    ]
6464
6465    def __init__(
6466        self,
6467        approval_workflow_approver=None,
6468        rate_limit=None,
6469    ):
6470        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6471        '''
6472         The created approval workflow approver.
6473        '''
6474        self.rate_limit = rate_limit if rate_limit is not None else None
6475        '''
6476         Rate limit information.
6477        '''
6478
6479    def __repr__(self):
6480        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
6481            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
6482            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6483            '>'
6484
6485    def to_dict(self):
6486        return {
6487            'approval_workflow_approver': self.approval_workflow_approver,
6488            'rate_limit': self.rate_limit,
6489        }
6490
6491    @classmethod
6492    def from_dict(cls, d):
6493        return cls(
6494            approval_workflow_approver=d.get('approval_workflow_approver'),
6495            rate_limit=d.get('rate_limit'),
6496        )

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

ApprovalWorkflowApproverCreateResponse(approval_workflow_approver=None, rate_limit=None)
6465    def __init__(
6466        self,
6467        approval_workflow_approver=None,
6468        rate_limit=None,
6469    ):
6470        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6471        '''
6472         The created approval workflow approver.
6473        '''
6474        self.rate_limit = rate_limit if rate_limit is not None else None
6475        '''
6476         Rate limit information.
6477        '''
approval_workflow_approver

The created approval workflow approver.

rate_limit

Rate limit information.

def to_dict(self)
6485    def to_dict(self):
6486        return {
6487            'approval_workflow_approver': self.approval_workflow_approver,
6488            'rate_limit': self.rate_limit,
6489        }
@classmethod
def from_dict(cls, d)
6491    @classmethod
6492    def from_dict(cls, d):
6493        return cls(
6494            approval_workflow_approver=d.get('approval_workflow_approver'),
6495            rate_limit=d.get('rate_limit'),
6496        )
class ApprovalWorkflowApproverDeleteResponse:
6499class ApprovalWorkflowApproverDeleteResponse:
6500    '''
6501         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
6502    '''
6503    __slots__ = [
6504        'id',
6505        'rate_limit',
6506    ]
6507
6508    def __init__(
6509        self,
6510        id=None,
6511        rate_limit=None,
6512    ):
6513        self.id = id if id is not None else ''
6514        '''
6515         The deleted approval workflow approver id.
6516        '''
6517        self.rate_limit = rate_limit if rate_limit is not None else None
6518        '''
6519         Rate limit information.
6520        '''
6521
6522    def __repr__(self):
6523        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
6524            'id: ' + repr(self.id) + ' ' +\
6525            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6526            '>'
6527
6528    def to_dict(self):
6529        return {
6530            'id': self.id,
6531            'rate_limit': self.rate_limit,
6532        }
6533
6534    @classmethod
6535    def from_dict(cls, d):
6536        return cls(
6537            id=d.get('id'),
6538            rate_limit=d.get('rate_limit'),
6539        )

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

ApprovalWorkflowApproverDeleteResponse(id=None, rate_limit=None)
6508    def __init__(
6509        self,
6510        id=None,
6511        rate_limit=None,
6512    ):
6513        self.id = id if id is not None else ''
6514        '''
6515         The deleted approval workflow approver id.
6516        '''
6517        self.rate_limit = rate_limit if rate_limit is not None else None
6518        '''
6519         Rate limit information.
6520        '''
id

The deleted approval workflow approver id.

rate_limit

Rate limit information.

def to_dict(self)
6528    def to_dict(self):
6529        return {
6530            'id': self.id,
6531            'rate_limit': self.rate_limit,
6532        }
@classmethod
def from_dict(cls, d)
6534    @classmethod
6535    def from_dict(cls, d):
6536        return cls(
6537            id=d.get('id'),
6538            rate_limit=d.get('rate_limit'),
6539        )
class ApprovalWorkflowApproverGetResponse:
6542class ApprovalWorkflowApproverGetResponse:
6543    '''
6544         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
6545    '''
6546    __slots__ = [
6547        'approval_workflow_approver',
6548        'meta',
6549        'rate_limit',
6550    ]
6551
6552    def __init__(
6553        self,
6554        approval_workflow_approver=None,
6555        meta=None,
6556        rate_limit=None,
6557    ):
6558        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6559        '''
6560         The requested ApprovalWorkflowApprover.
6561        '''
6562        self.meta = meta if meta is not None else None
6563        '''
6564         Reserved for future use.
6565        '''
6566        self.rate_limit = rate_limit if rate_limit is not None else None
6567        '''
6568         Rate limit information.
6569        '''
6570
6571    def __repr__(self):
6572        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
6573            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
6574            'meta: ' + repr(self.meta) + ' ' +\
6575            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6576            '>'
6577
6578    def to_dict(self):
6579        return {
6580            'approval_workflow_approver': self.approval_workflow_approver,
6581            'meta': self.meta,
6582            'rate_limit': self.rate_limit,
6583        }
6584
6585    @classmethod
6586    def from_dict(cls, d):
6587        return cls(
6588            approval_workflow_approver=d.get('approval_workflow_approver'),
6589            meta=d.get('meta'),
6590            rate_limit=d.get('rate_limit'),
6591        )

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

ApprovalWorkflowApproverGetResponse(approval_workflow_approver=None, meta=None, rate_limit=None)
6552    def __init__(
6553        self,
6554        approval_workflow_approver=None,
6555        meta=None,
6556        rate_limit=None,
6557    ):
6558        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6559        '''
6560         The requested ApprovalWorkflowApprover.
6561        '''
6562        self.meta = meta if meta is not None else None
6563        '''
6564         Reserved for future use.
6565        '''
6566        self.rate_limit = rate_limit if rate_limit is not None else None
6567        '''
6568         Rate limit information.
6569        '''
approval_workflow_approver

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
6578    def to_dict(self):
6579        return {
6580            'approval_workflow_approver': self.approval_workflow_approver,
6581            'meta': self.meta,
6582            'rate_limit': self.rate_limit,
6583        }
@classmethod
def from_dict(cls, d)
6585    @classmethod
6586    def from_dict(cls, d):
6587        return cls(
6588            approval_workflow_approver=d.get('approval_workflow_approver'),
6589            meta=d.get('meta'),
6590            rate_limit=d.get('rate_limit'),
6591        )
class ApprovalWorkflowApproverHistory:
6594class ApprovalWorkflowApproverHistory:
6595    '''
6596         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
6597     where every change (create or delete) to an ApprovalWorkflowApprover produces an
6598     ApprovalWorkflowApproverHistory record.
6599    '''
6600    __slots__ = [
6601        'activity_id',
6602        'approval_workflow_approver',
6603        'deleted_at',
6604        'timestamp',
6605    ]
6606
6607    def __init__(
6608        self,
6609        activity_id=None,
6610        approval_workflow_approver=None,
6611        deleted_at=None,
6612        timestamp=None,
6613    ):
6614        self.activity_id = activity_id if activity_id is not None else ''
6615        '''
6616         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
6617         May be empty for some system-initiated updates.
6618        '''
6619        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6620        '''
6621         The complete ApprovalWorkflowApprover state at this time.
6622        '''
6623        self.deleted_at = deleted_at if deleted_at is not None else None
6624        '''
6625         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
6626        '''
6627        self.timestamp = timestamp if timestamp is not None else None
6628        '''
6629         The time at which the ApprovalWorkflowApprover state was recorded.
6630        '''
6631
6632    def __repr__(self):
6633        return '<sdm.ApprovalWorkflowApproverHistory ' + \
6634            'activity_id: ' + repr(self.activity_id) + ' ' +\
6635            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
6636            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
6637            'timestamp: ' + repr(self.timestamp) + ' ' +\
6638            '>'
6639
6640    def to_dict(self):
6641        return {
6642            'activity_id': self.activity_id,
6643            'approval_workflow_approver': self.approval_workflow_approver,
6644            'deleted_at': self.deleted_at,
6645            'timestamp': self.timestamp,
6646        }
6647
6648    @classmethod
6649    def from_dict(cls, d):
6650        return cls(
6651            activity_id=d.get('activity_id'),
6652            approval_workflow_approver=d.get('approval_workflow_approver'),
6653            deleted_at=d.get('deleted_at'),
6654            timestamp=d.get('timestamp'),
6655        )

ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time, where every change (create or delete) to an ApprovalWorkflowApprover produces an ApprovalWorkflowApproverHistory record.

ApprovalWorkflowApproverHistory( activity_id=None, approval_workflow_approver=None, deleted_at=None, timestamp=None)
6607    def __init__(
6608        self,
6609        activity_id=None,
6610        approval_workflow_approver=None,
6611        deleted_at=None,
6612        timestamp=None,
6613    ):
6614        self.activity_id = activity_id if activity_id is not None else ''
6615        '''
6616         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
6617         May be empty for some system-initiated updates.
6618        '''
6619        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6620        '''
6621         The complete ApprovalWorkflowApprover state at this time.
6622        '''
6623        self.deleted_at = deleted_at if deleted_at is not None else None
6624        '''
6625         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
6626        '''
6627        self.timestamp = timestamp if timestamp is not None else None
6628        '''
6629         The time at which the ApprovalWorkflowApprover state was recorded.
6630        '''
activity_id

The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover. May be empty for some system-initiated updates.

approval_workflow_approver

The complete ApprovalWorkflowApprover state at this time.

deleted_at

If this ApprovalWorkflowApprover was deleted, the time it was deleted.

timestamp

The time at which the ApprovalWorkflowApprover state was recorded.

def to_dict(self)
6640    def to_dict(self):
6641        return {
6642            'activity_id': self.activity_id,
6643            'approval_workflow_approver': self.approval_workflow_approver,
6644            'deleted_at': self.deleted_at,
6645            'timestamp': self.timestamp,
6646        }
@classmethod
def from_dict(cls, d)
6648    @classmethod
6649    def from_dict(cls, d):
6650        return cls(
6651            activity_id=d.get('activity_id'),
6652            approval_workflow_approver=d.get('approval_workflow_approver'),
6653            deleted_at=d.get('deleted_at'),
6654            timestamp=d.get('timestamp'),
6655        )
class ApprovalWorkflowApproverListResponse:
6658class ApprovalWorkflowApproverListResponse:
6659    '''
6660         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
6661     the criteria of an ApprovalWorkflowApproverListRequest.
6662    '''
6663    __slots__ = [
6664        'rate_limit',
6665    ]
6666
6667    def __init__(
6668        self,
6669        rate_limit=None,
6670    ):
6671        self.rate_limit = rate_limit if rate_limit is not None else None
6672        '''
6673         Rate limit information.
6674        '''
6675
6676    def __repr__(self):
6677        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
6678            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6679            '>'
6680
6681    def to_dict(self):
6682        return {
6683            'rate_limit': self.rate_limit,
6684        }
6685
6686    @classmethod
6687    def from_dict(cls, d):
6688        return cls(rate_limit=d.get('rate_limit'), )

ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet the criteria of an ApprovalWorkflowApproverListRequest.

ApprovalWorkflowApproverListResponse(rate_limit=None)
6667    def __init__(
6668        self,
6669        rate_limit=None,
6670    ):
6671        self.rate_limit = rate_limit if rate_limit is not None else None
6672        '''
6673         Rate limit information.
6674        '''
rate_limit

Rate limit information.

def to_dict(self)
6681    def to_dict(self):
6682        return {
6683            'rate_limit': self.rate_limit,
6684        }
@classmethod
def from_dict(cls, d)
6686    @classmethod
6687    def from_dict(cls, d):
6688        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowCreateResponse:
6691class ApprovalWorkflowCreateResponse:
6692    '''
6693         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
6694    '''
6695    __slots__ = [
6696        'approval_workflow',
6697        'rate_limit',
6698    ]
6699
6700    def __init__(
6701        self,
6702        approval_workflow=None,
6703        rate_limit=None,
6704    ):
6705        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6706        '''
6707         The created approval workflow.
6708        '''
6709        self.rate_limit = rate_limit if rate_limit is not None else None
6710        '''
6711         Rate limit information.
6712        '''
6713
6714    def __repr__(self):
6715        return '<sdm.ApprovalWorkflowCreateResponse ' + \
6716            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6717            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6718            '>'
6719
6720    def to_dict(self):
6721        return {
6722            'approval_workflow': self.approval_workflow,
6723            'rate_limit': self.rate_limit,
6724        }
6725
6726    @classmethod
6727    def from_dict(cls, d):
6728        return cls(
6729            approval_workflow=d.get('approval_workflow'),
6730            rate_limit=d.get('rate_limit'),
6731        )

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

ApprovalWorkflowCreateResponse(approval_workflow=None, rate_limit=None)
6700    def __init__(
6701        self,
6702        approval_workflow=None,
6703        rate_limit=None,
6704    ):
6705        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6706        '''
6707         The created approval workflow.
6708        '''
6709        self.rate_limit = rate_limit if rate_limit is not None else None
6710        '''
6711         Rate limit information.
6712        '''
approval_workflow

The created approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
6720    def to_dict(self):
6721        return {
6722            'approval_workflow': self.approval_workflow,
6723            'rate_limit': self.rate_limit,
6724        }
@classmethod
def from_dict(cls, d)
6726    @classmethod
6727    def from_dict(cls, d):
6728        return cls(
6729            approval_workflow=d.get('approval_workflow'),
6730            rate_limit=d.get('rate_limit'),
6731        )
class ApprovalWorkflowDeleteResponse:
6734class ApprovalWorkflowDeleteResponse:
6735    '''
6736         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
6737    '''
6738    __slots__ = [
6739        'id',
6740        'rate_limit',
6741    ]
6742
6743    def __init__(
6744        self,
6745        id=None,
6746        rate_limit=None,
6747    ):
6748        self.id = id if id is not None else ''
6749        '''
6750         The deleted approval workflow id.
6751        '''
6752        self.rate_limit = rate_limit if rate_limit is not None else None
6753        '''
6754         Rate limit information.
6755        '''
6756
6757    def __repr__(self):
6758        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
6759            'id: ' + repr(self.id) + ' ' +\
6760            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6761            '>'
6762
6763    def to_dict(self):
6764        return {
6765            'id': self.id,
6766            'rate_limit': self.rate_limit,
6767        }
6768
6769    @classmethod
6770    def from_dict(cls, d):
6771        return cls(
6772            id=d.get('id'),
6773            rate_limit=d.get('rate_limit'),
6774        )

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

ApprovalWorkflowDeleteResponse(id=None, rate_limit=None)
6743    def __init__(
6744        self,
6745        id=None,
6746        rate_limit=None,
6747    ):
6748        self.id = id if id is not None else ''
6749        '''
6750         The deleted approval workflow id.
6751        '''
6752        self.rate_limit = rate_limit if rate_limit is not None else None
6753        '''
6754         Rate limit information.
6755        '''
id

The deleted approval workflow id.

rate_limit

Rate limit information.

def to_dict(self)
6763    def to_dict(self):
6764        return {
6765            'id': self.id,
6766            'rate_limit': self.rate_limit,
6767        }
@classmethod
def from_dict(cls, d)
6769    @classmethod
6770    def from_dict(cls, d):
6771        return cls(
6772            id=d.get('id'),
6773            rate_limit=d.get('rate_limit'),
6774        )
class ApprovalWorkflowGetResponse:
6777class ApprovalWorkflowGetResponse:
6778    '''
6779         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
6780    '''
6781    __slots__ = [
6782        'approval_workflow',
6783        'meta',
6784        'rate_limit',
6785    ]
6786
6787    def __init__(
6788        self,
6789        approval_workflow=None,
6790        meta=None,
6791        rate_limit=None,
6792    ):
6793        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6794        '''
6795         The requested ApprovalWorkflow.
6796        '''
6797        self.meta = meta if meta is not None else None
6798        '''
6799         Reserved for future use.
6800        '''
6801        self.rate_limit = rate_limit if rate_limit is not None else None
6802        '''
6803         Rate limit information.
6804        '''
6805
6806    def __repr__(self):
6807        return '<sdm.ApprovalWorkflowGetResponse ' + \
6808            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6809            'meta: ' + repr(self.meta) + ' ' +\
6810            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6811            '>'
6812
6813    def to_dict(self):
6814        return {
6815            'approval_workflow': self.approval_workflow,
6816            'meta': self.meta,
6817            'rate_limit': self.rate_limit,
6818        }
6819
6820    @classmethod
6821    def from_dict(cls, d):
6822        return cls(
6823            approval_workflow=d.get('approval_workflow'),
6824            meta=d.get('meta'),
6825            rate_limit=d.get('rate_limit'),
6826        )

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

ApprovalWorkflowGetResponse(approval_workflow=None, meta=None, rate_limit=None)
6787    def __init__(
6788        self,
6789        approval_workflow=None,
6790        meta=None,
6791        rate_limit=None,
6792    ):
6793        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6794        '''
6795         The requested ApprovalWorkflow.
6796        '''
6797        self.meta = meta if meta is not None else None
6798        '''
6799         Reserved for future use.
6800        '''
6801        self.rate_limit = rate_limit if rate_limit is not None else None
6802        '''
6803         Rate limit information.
6804        '''
approval_workflow

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
6813    def to_dict(self):
6814        return {
6815            'approval_workflow': self.approval_workflow,
6816            'meta': self.meta,
6817            'rate_limit': self.rate_limit,
6818        }
@classmethod
def from_dict(cls, d)
6820    @classmethod
6821    def from_dict(cls, d):
6822        return cls(
6823            approval_workflow=d.get('approval_workflow'),
6824            meta=d.get('meta'),
6825            rate_limit=d.get('rate_limit'),
6826        )
class ApprovalWorkflowHistory:
6829class ApprovalWorkflowHistory:
6830    '''
6831         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
6832     where every change (create, update and delete) to an ApprovalWorkflow produces an
6833     ApprovalWorkflowHistory record.
6834    '''
6835    __slots__ = [
6836        'activity_id',
6837        'approval_workflow',
6838        'deleted_at',
6839        'timestamp',
6840    ]
6841
6842    def __init__(
6843        self,
6844        activity_id=None,
6845        approval_workflow=None,
6846        deleted_at=None,
6847        timestamp=None,
6848    ):
6849        self.activity_id = activity_id if activity_id is not None else ''
6850        '''
6851         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
6852         May be empty for some system-initiated updates.
6853        '''
6854        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6855        '''
6856         The complete ApprovalWorkflow state at this time.
6857        '''
6858        self.deleted_at = deleted_at if deleted_at is not None else None
6859        '''
6860         If this ApprovalWorkflow was deleted, the time it was deleted.
6861        '''
6862        self.timestamp = timestamp if timestamp is not None else None
6863        '''
6864         The time at which the ApprovalWorkflow state was recorded.
6865        '''
6866
6867    def __repr__(self):
6868        return '<sdm.ApprovalWorkflowHistory ' + \
6869            'activity_id: ' + repr(self.activity_id) + ' ' +\
6870            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6871            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
6872            'timestamp: ' + repr(self.timestamp) + ' ' +\
6873            '>'
6874
6875    def to_dict(self):
6876        return {
6877            'activity_id': self.activity_id,
6878            'approval_workflow': self.approval_workflow,
6879            'deleted_at': self.deleted_at,
6880            'timestamp': self.timestamp,
6881        }
6882
6883    @classmethod
6884    def from_dict(cls, d):
6885        return cls(
6886            activity_id=d.get('activity_id'),
6887            approval_workflow=d.get('approval_workflow'),
6888            deleted_at=d.get('deleted_at'),
6889            timestamp=d.get('timestamp'),
6890        )

ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time, where every change (create, update and delete) to an ApprovalWorkflow produces an ApprovalWorkflowHistory record.

ApprovalWorkflowHistory( activity_id=None, approval_workflow=None, deleted_at=None, timestamp=None)
6842    def __init__(
6843        self,
6844        activity_id=None,
6845        approval_workflow=None,
6846        deleted_at=None,
6847        timestamp=None,
6848    ):
6849        self.activity_id = activity_id if activity_id is not None else ''
6850        '''
6851         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
6852         May be empty for some system-initiated updates.
6853        '''
6854        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6855        '''
6856         The complete ApprovalWorkflow state at this time.
6857        '''
6858        self.deleted_at = deleted_at if deleted_at is not None else None
6859        '''
6860         If this ApprovalWorkflow was deleted, the time it was deleted.
6861        '''
6862        self.timestamp = timestamp if timestamp is not None else None
6863        '''
6864         The time at which the ApprovalWorkflow state was recorded.
6865        '''
activity_id

The unique identifier of the Activity that produced this change to the ApprovalWorkflow. May be empty for some system-initiated updates.

approval_workflow

The complete ApprovalWorkflow state at this time.

deleted_at

If this ApprovalWorkflow was deleted, the time it was deleted.

timestamp

The time at which the ApprovalWorkflow state was recorded.

def to_dict(self)
6875    def to_dict(self):
6876        return {
6877            'activity_id': self.activity_id,
6878            'approval_workflow': self.approval_workflow,
6879            'deleted_at': self.deleted_at,
6880            'timestamp': self.timestamp,
6881        }
@classmethod
def from_dict(cls, d)
6883    @classmethod
6884    def from_dict(cls, d):
6885        return cls(
6886            activity_id=d.get('activity_id'),
6887            approval_workflow=d.get('approval_workflow'),
6888            deleted_at=d.get('deleted_at'),
6889            timestamp=d.get('timestamp'),
6890        )
class ApprovalWorkflowListResponse:
6893class ApprovalWorkflowListResponse:
6894    '''
6895         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
6896     the criteria of an ApprovalWorkflowListRequest.
6897    '''
6898    __slots__ = [
6899        'rate_limit',
6900    ]
6901
6902    def __init__(
6903        self,
6904        rate_limit=None,
6905    ):
6906        self.rate_limit = rate_limit if rate_limit is not None else None
6907        '''
6908         Rate limit information.
6909        '''
6910
6911    def __repr__(self):
6912        return '<sdm.ApprovalWorkflowListResponse ' + \
6913            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6914            '>'
6915
6916    def to_dict(self):
6917        return {
6918            'rate_limit': self.rate_limit,
6919        }
6920
6921    @classmethod
6922    def from_dict(cls, d):
6923        return cls(rate_limit=d.get('rate_limit'), )

ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet the criteria of an ApprovalWorkflowListRequest.

ApprovalWorkflowListResponse(rate_limit=None)
6902    def __init__(
6903        self,
6904        rate_limit=None,
6905    ):
6906        self.rate_limit = rate_limit if rate_limit is not None else None
6907        '''
6908         Rate limit information.
6909        '''
rate_limit

Rate limit information.

def to_dict(self)
6916    def to_dict(self):
6917        return {
6918            'rate_limit': self.rate_limit,
6919        }
@classmethod
def from_dict(cls, d)
6921    @classmethod
6922    def from_dict(cls, d):
6923        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowStep:
6926class ApprovalWorkflowStep:
6927    '''
6928         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
6929    ApprovalWorkflowStep is deprecated, see docs for more info.
6930    '''
6931    __slots__ = [
6932        'approval_flow_id',
6933        'id',
6934        'quantifier',
6935        'skip_after',
6936        'step_order',
6937    ]
6938
6939    def __init__(
6940        self,
6941        approval_flow_id=None,
6942        id=None,
6943        quantifier=None,
6944        skip_after=None,
6945        step_order=None,
6946    ):
6947        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6948        '''
6949         The approval flow id specified the approval workflow that this step belongs to
6950        '''
6951        self.id = id if id is not None else ''
6952        '''
6953         Unique identifier of the ApprovalWorkflowStep.
6954        '''
6955        self.quantifier = quantifier if quantifier is not None else ''
6956        '''
6957         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6958        '''
6959        self.skip_after = skip_after if skip_after is not None else None
6960        '''
6961         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6962        '''
6963        self.step_order = step_order if step_order is not None else 0
6964        '''
6965         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6966        '''
6967
6968    def __repr__(self):
6969        return '<sdm.ApprovalWorkflowStep ' + \
6970            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
6971            'id: ' + repr(self.id) + ' ' +\
6972            'quantifier: ' + repr(self.quantifier) + ' ' +\
6973            'skip_after: ' + repr(self.skip_after) + ' ' +\
6974            'step_order: ' + repr(self.step_order) + ' ' +\
6975            '>'
6976
6977    def to_dict(self):
6978        return {
6979            'approval_flow_id': self.approval_flow_id,
6980            'id': self.id,
6981            'quantifier': self.quantifier,
6982            'skip_after': self.skip_after,
6983            'step_order': self.step_order,
6984        }
6985
6986    @classmethod
6987    def from_dict(cls, d):
6988        return cls(
6989            approval_flow_id=d.get('approval_flow_id'),
6990            id=d.get('id'),
6991            quantifier=d.get('quantifier'),
6992            skip_after=d.get('skip_after'),
6993            step_order=d.get('step_order'),
6994        )

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow ApprovalWorkflowStep is deprecated, see docs for more info.

ApprovalWorkflowStep( approval_flow_id=None, id=None, quantifier=None, skip_after=None, step_order=None)
6939    def __init__(
6940        self,
6941        approval_flow_id=None,
6942        id=None,
6943        quantifier=None,
6944        skip_after=None,
6945        step_order=None,
6946    ):
6947        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6948        '''
6949         The approval flow id specified the approval workflow that this step belongs to
6950        '''
6951        self.id = id if id is not None else ''
6952        '''
6953         Unique identifier of the ApprovalWorkflowStep.
6954        '''
6955        self.quantifier = quantifier if quantifier is not None else ''
6956        '''
6957         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6958        '''
6959        self.skip_after = skip_after if skip_after is not None else None
6960        '''
6961         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6962        '''
6963        self.step_order = step_order if step_order is not None else 0
6964        '''
6965         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6966        '''
approval_flow_id

The approval flow id specified the approval workflow that this step belongs to

id

Unique identifier of the ApprovalWorkflowStep.

quantifier

Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.

skip_after

Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.

step_order

The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.

def to_dict(self)
6977    def to_dict(self):
6978        return {
6979            'approval_flow_id': self.approval_flow_id,
6980            'id': self.id,
6981            'quantifier': self.quantifier,
6982            'skip_after': self.skip_after,
6983            'step_order': self.step_order,
6984        }
@classmethod
def from_dict(cls, d)
6986    @classmethod
6987    def from_dict(cls, d):
6988        return cls(
6989            approval_flow_id=d.get('approval_flow_id'),
6990            id=d.get('id'),
6991            quantifier=d.get('quantifier'),
6992            skip_after=d.get('skip_after'),
6993            step_order=d.get('step_order'),
6994        )
class ApprovalWorkflowStepCreateResponse:
6997class ApprovalWorkflowStepCreateResponse:
6998    '''
6999         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
7000    '''
7001    __slots__ = [
7002        'approval_workflow_step',
7003        'rate_limit',
7004    ]
7005
7006    def __init__(
7007        self,
7008        approval_workflow_step=None,
7009        rate_limit=None,
7010    ):
7011        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
7012        '''
7013         The created approval workflow step.
7014        '''
7015        self.rate_limit = rate_limit if rate_limit is not None else None
7016        '''
7017         Rate limit information.
7018        '''
7019
7020    def __repr__(self):
7021        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
7022            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
7023            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
7024            '>'
7025
7026    def to_dict(self):
7027        return {
7028            'approval_workflow_step': self.approval_workflow_step,
7029            'rate_limit': self.rate_limit,
7030        }
7031
7032    @classmethod
7033    def from_dict(cls, d):
7034        return cls(
7035            approval_workflow_step=d.get('approval_workflow_step'),
7036            rate_limit=d.get('rate_limit'),
7037        )

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

ApprovalWorkflowStepCreateResponse(approval_workflow_step=None, rate_limit=None)
7006    def __init__(
7007        self,
7008        approval_workflow_step=None,
7009        rate_limit=None,
7010    ):
7011        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
7012        '''
7013         The created approval workflow step.
7014        '''
7015        self.rate_limit = rate_limit if rate_limit is not None else None
7016        '''
7017         Rate limit information.
7018        '''
approval_workflow_step

The created approval workflow step.

rate_limit

Rate limit information.

def to_dict(self)
7026    def to_dict(self):
7027        return {
7028            'approval_workflow_step': self.approval_workflow_step,
7029            'rate_limit': self.rate_limit,
7030        }
@classmethod
def from_dict(cls, d)
7032    @classmethod
7033    def from_dict(cls, d):
7034        return cls(
7035            approval_workflow_step=d.get('approval_workflow_step'),
7036            rate_limit=d.get('rate_limit'),
7037        )
class ApprovalWorkflowStepDeleteResponse:
7040class ApprovalWorkflowStepDeleteResponse:
7041    '''
7042         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
7043    '''
7044    __slots__ = [
7045        'id',
7046        'rate_limit',
7047    ]
7048
7049    def __init__(
7050        self,
7051        id=None,
7052        rate_limit=None,
7053    ):
7054        self.id = id if id is not None else ''
7055        '''
7056         The deleted approval workflow step id.
7057        '''
7058        self.rate_limit = rate_limit if rate_limit is not None else None
7059        '''
7060         Rate limit information.
7061        '''
7062
7063    def __repr__(self):
7064        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
7065            'id: ' + repr(self.id) + ' ' +\
7066            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
7067            '>'
7068
7069    def to_dict(self):
7070        return {
7071            'id': self.id,
7072            'rate_limit': self.rate_limit,
7073        }
7074
7075    @classmethod
7076    def from_dict(cls, d):
7077        return cls(
7078            id=d.get('id'),
7079            rate_limit=d.get('rate_limit'),
7080        )

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

ApprovalWorkflowStepDeleteResponse(id=None, rate_limit=None)
7049    def __init__(
7050        self,
7051        id=None,
7052        rate_limit=None,
7053    ):
7054        self.id = id if id is not None else ''
7055        '''
7056         The deleted approval workflow step id.
7057        '''
7058        self.rate_limit = rate_limit if rate_limit is not None else None
7059        '''
7060         Rate limit information.
7061        '''
id

The deleted approval workflow step id.

rate_limit

Rate limit information.

def to_dict(self)
7069    def to_dict(self):
7070        return {
7071            'id': self.id,
7072            'rate_limit': self.rate_limit,
7073        }
@classmethod
def from_dict(cls, d)
7075    @classmethod
7076    def from_dict(cls, d):
7077        return cls(
7078            id=d.get('id'),
7079            rate_limit=d.get('rate_limit'),
7080        )
class ApprovalWorkflowStepGetResponse:
7083class ApprovalWorkflowStepGetResponse:
7084    '''
7085         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
7086    '''
7087    __slots__ = [
7088        'approval_workflow_step',
7089        'meta',
7090        'rate_limit',
7091    ]
7092
7093    def __init__(
7094        self,
7095        approval_workflow_step=None,
7096        meta=None,
7097        rate_limit=None,
7098    ):
7099        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
7100        '''
7101         The requested ApprovalWorkflowStep.
7102        '''
7103        self.meta = meta if meta is not None else None
7104        '''
7105         Reserved for future use.
7106        '''
7107        self.rate_limit = rate_limit if rate_limit is not None else None
7108        '''
7109         Rate limit information.
7110        '''
7111
7112    def __repr__(self):
7113        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
7114            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
7115            'meta: ' + repr(self.meta) + ' ' +\
7116            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
7117            '>'
7118
7119    def to_dict(self):
7120        return {
7121            'approval_workflow_step': self.approval_workflow_step,
7122            'meta': self.meta,
7123            'rate_limit': self.rate_limit,
7124        }
7125
7126    @classmethod
7127    def from_dict(cls, d):
7128        return cls(
7129            approval_workflow_step=d.get('approval_workflow_step'),
7130            meta=d.get('meta'),
7131            rate_limit=d.get('rate_limit'),
7132        )

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

ApprovalWorkflowStepGetResponse(approval_workflow_step=None, meta=None, rate_limit=None)
7093    def __init__(
7094        self,
7095        approval_workflow_step=None,
7096        meta=None,
7097        rate_limit=None,
7098    ):
7099        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
7100        '''
7101         The requested ApprovalWorkflowStep.
7102        '''
7103        self.meta = meta if meta is not None else None
7104        '''
7105         Reserved for future use.
7106        '''
7107        self.rate_limit = rate_limit if rate_limit is not None else None
7108        '''
7109         Rate limit information.
7110        '''
approval_workflow_step

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
7119    def to_dict(self):
7120        return {
7121            'approval_workflow_step': self.approval_workflow_step,
7122            'meta': self.meta,
7123            'rate_limit': self.rate_limit,
7124        }
@classmethod
def from_dict(cls, d)
7126    @classmethod
7127    def from_dict(cls, d):
7128        return cls(
7129            approval_workflow_step=d.get('approval_workflow_step'),
7130            meta=d.get('meta'),
7131            rate_limit=d.get('rate_limit'),
7132        )
class ApprovalWorkflowStepHistory:
7135class ApprovalWorkflowStepHistory:
7136    '''
7137         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
7138     where every change (create or delete) to an ApprovalWorkflowStep produces an
7139     ApprovalWorkflowStepHistory record.
7140    '''
7141    __slots__ = [
7142        'activity_id',
7143        'approval_workflow_step',
7144        'deleted_at',
7145        'timestamp',
7146    ]
7147
7148    def __init__(
7149        self,
7150        activity_id=None,
7151        approval_workflow_step=None,
7152        deleted_at=None,
7153        timestamp=None,
7154    ):
7155        self.activity_id = activity_id if activity_id is not None else ''
7156        '''
7157         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
7158         May be empty for some system-initiated updates.
7159        '''
7160        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
7161        '''
7162         The complete ApprovalWorkflowStep state at this time.
7163        '''
7164        self.deleted_at = deleted_at if deleted_at is not None else None
7165        '''
7166         If this ApprovalWorkflowStep was deleted, the time it was deleted.
7167        '''
7168        self.timestamp = timestamp if timestamp is not None else None
7169        '''
7170         The time at which the ApprovalWorkflowStep state was recorded.
7171        '''
7172
7173    def __repr__(self):
7174        return '<sdm.ApprovalWorkflowStepHistory ' + \
7175            'activity_id: ' + repr(self.activity_id) + ' ' +\
7176            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
7177            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
7178            'timestamp: ' + repr(self.timestamp) + ' ' +\
7179            '>'
7180
7181    def to_dict(self):
7182        return {
7183            'activity_id': self.activity_id,
7184            'approval_workflow_step': self.approval_workflow_step,
7185            'deleted_at': self.deleted_at,
7186            'timestamp': self.timestamp,
7187        }
7188
7189    @classmethod
7190    def from_dict(cls, d):
7191        return cls(
7192            activity_id=d.get('activity_id'),
7193            approval_workflow_step=d.get('approval_workflow_step'),
7194            deleted_at=d.get('deleted_at'),
7195            timestamp=d.get('timestamp'),
7196        )

ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time, where every change (create or delete) to an ApprovalWorkflowStep produces an ApprovalWorkflowStepHistory record.

ApprovalWorkflowStepHistory( activity_id=None, approval_workflow_step=None, deleted_at=None, timestamp=None)
7148    def __init__(
7149        self,
7150        activity_id=None,
7151        approval_workflow_step=None,
7152        deleted_at=None,
7153        timestamp=None,
7154    ):
7155        self.activity_id = activity_id if activity_id is not None else ''
7156        '''
7157         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
7158         May be empty for some system-initiated updates.
7159        '''
7160        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
7161        '''
7162         The complete ApprovalWorkflowStep state at this time.
7163        '''
7164        self.deleted_at = deleted_at if deleted_at is not None else None
7165        '''
7166         If this ApprovalWorkflowStep was deleted, the time it was deleted.
7167        '''
7168        self.timestamp = timestamp if timestamp is not None else None
7169        '''
7170         The time at which the ApprovalWorkflowStep state was recorded.
7171        '''
activity_id

The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep. May be empty for some system-initiated updates.

approval_workflow_step

The complete ApprovalWorkflowStep state at this time.

deleted_at

If this ApprovalWorkflowStep was deleted, the time it was deleted.

timestamp

The time at which the ApprovalWorkflowStep state was recorded.

def to_dict(self)
7181    def to_dict(self):
7182        return {
7183            'activity_id': self.activity_id,
7184            'approval_workflow_step': self.approval_workflow_step,
7185            'deleted_at': self.deleted_at,
7186            'timestamp': self.timestamp,
7187        }
@classmethod
def from_dict(cls, d)
7189    @classmethod
7190    def from_dict(cls, d):
7191        return cls(
7192            activity_id=d.get('activity_id'),
7193            approval_workflow_step=d.get('approval_workflow_step'),
7194            deleted_at=d.get('deleted_at'),
7195            timestamp=d.get('timestamp'),
7196        )
class ApprovalWorkflowStepListResponse:
7199class ApprovalWorkflowStepListResponse:
7200    '''
7201         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
7202     the criteria of an ApprovalWorkflowStepListRequest.
7203    '''
7204    __slots__ = [
7205        'rate_limit',
7206    ]
7207
7208    def __init__(
7209        self,
7210        rate_limit=None,
7211    ):
7212        self.rate_limit = rate_limit if rate_limit is not None else None
7213        '''
7214         Rate limit information.
7215        '''
7216
7217    def __repr__(self):
7218        return '<sdm.ApprovalWorkflowStepListResponse ' + \
7219            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
7220            '>'
7221
7222    def to_dict(self):
7223        return {
7224            'rate_limit': self.rate_limit,
7225        }
7226
7227    @classmethod
7228    def from_dict(cls, d):
7229        return cls(rate_limit=d.get('rate_limit'), )

ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet the criteria of an ApprovalWorkflowStepListRequest.

ApprovalWorkflowStepListResponse(rate_limit=None)
7208    def __init__(
7209        self,
7210        rate_limit=None,
7211    ):
7212        self.rate_limit = rate_limit if rate_limit is not None else None
7213        '''
7214         Rate limit information.
7215        '''
rate_limit

Rate limit information.

def to_dict(self)
7222    def to_dict(self):
7223        return {
7224            'rate_limit': self.rate_limit,
7225        }
@classmethod
def from_dict(cls, d)
7227    @classmethod
7228    def from_dict(cls, d):
7229        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowUpdateResponse:
7232class ApprovalWorkflowUpdateResponse:
7233    '''
7234         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
7235     an ApprovalWorkflowUpdateRequest.
7236    '''
7237    __slots__ = [
7238        'approval_workflow',
7239        'rate_limit',
7240    ]
7241
7242    def __init__(
7243        self,
7244        approval_workflow=None,
7245        rate_limit=None,
7246    ):
7247        self.approval_workflow = approval_workflow if approval_workflow is not None else None
7248        '''
7249         The updated approval workflow.
7250        '''
7251        self.rate_limit = rate_limit if rate_limit is not None else None
7252        '''
7253         Rate limit information.
7254        '''
7255
7256    def __repr__(self):
7257        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
7258            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
7259            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
7260            '>'
7261
7262    def to_dict(self):
7263        return {
7264            'approval_workflow': self.approval_workflow,
7265            'rate_limit': self.rate_limit,
7266        }
7267
7268    @classmethod
7269    def from_dict(cls, d):
7270        return cls(
7271            approval_workflow=d.get('approval_workflow'),
7272            rate_limit=d.get('rate_limit'),
7273        )

ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by an ApprovalWorkflowUpdateRequest.

ApprovalWorkflowUpdateResponse(approval_workflow=None, rate_limit=None)
7242    def __init__(
7243        self,
7244        approval_workflow=None,
7245        rate_limit=None,
7246    ):
7247        self.approval_workflow = approval_workflow if approval_workflow is not None else None
7248        '''
7249         The updated approval workflow.
7250        '''
7251        self.rate_limit = rate_limit if rate_limit is not None else None
7252        '''
7253         Rate limit information.
7254        '''
approval_workflow

The updated approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
7262    def to_dict(self):
7263        return {
7264            'approval_workflow': self.approval_workflow,
7265            'rate_limit': self.rate_limit,
7266        }
@classmethod
def from_dict(cls, d)
7268    @classmethod
7269    def from_dict(cls, d):
7270        return cls(
7271            approval_workflow=d.get('approval_workflow'),
7272            rate_limit=d.get('rate_limit'),
7273        )
class Athena:
7276class Athena:
7277    __slots__ = [
7278        'access_key',
7279        'bind_interface',
7280        'egress_filter',
7281        'healthy',
7282        'id',
7283        'name',
7284        'output',
7285        'port_override',
7286        'proxy_cluster_id',
7287        'region',
7288        'role_arn',
7289        'role_external_id',
7290        'secret_access_key',
7291        'secret_store_id',
7292        'subdomain',
7293        'tags',
7294    ]
7295
7296    def __init__(
7297        self,
7298        access_key=None,
7299        bind_interface=None,
7300        egress_filter=None,
7301        healthy=None,
7302        id=None,
7303        name=None,
7304        output=None,
7305        port_override=None,
7306        proxy_cluster_id=None,
7307        region=None,
7308        role_arn=None,
7309        role_external_id=None,
7310        secret_access_key=None,
7311        secret_store_id=None,
7312        subdomain=None,
7313        tags=None,
7314    ):
7315        self.access_key = access_key if access_key is not None else ''
7316        '''
7317         The Access Key ID to use to authenticate.
7318        '''
7319        self.bind_interface = bind_interface if bind_interface is not None else ''
7320        '''
7321         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7322        '''
7323        self.egress_filter = egress_filter if egress_filter is not None else ''
7324        '''
7325         A filter applied to the routing logic to pin datasource to nodes.
7326        '''
7327        self.healthy = healthy if healthy is not None else False
7328        '''
7329         True if the datasource is reachable and the credentials are valid.
7330        '''
7331        self.id = id if id is not None else ''
7332        '''
7333         Unique identifier of the Resource.
7334        '''
7335        self.name = name if name is not None else ''
7336        '''
7337         Unique human-readable name of the Resource.
7338        '''
7339        self.output = output if output is not None else ''
7340        '''
7341         The AWS S3 output location.
7342        '''
7343        self.port_override = port_override if port_override is not None else 0
7344        '''
7345         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7346        '''
7347        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7348        '''
7349         ID of the proxy cluster for this resource, if any.
7350        '''
7351        self.region = region if region is not None else ''
7352        '''
7353         The AWS region to connect to e.g. us-east-1.
7354        '''
7355        self.role_arn = role_arn if role_arn is not None else ''
7356        '''
7357         The role to assume after logging in.
7358        '''
7359        self.role_external_id = role_external_id if role_external_id is not None else ''
7360        '''
7361         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7362        '''
7363        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
7364        '''
7365         The Secret Access Key to use to authenticate.
7366        '''
7367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7368        '''
7369         ID of the secret store containing credentials for this resource, if any.
7370        '''
7371        self.subdomain = subdomain if subdomain is not None else ''
7372        '''
7373         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7374        '''
7375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7376        '''
7377         Tags is a map of key, value pairs.
7378        '''
7379
7380    def __repr__(self):
7381        return '<sdm.Athena ' + \
7382            'access_key: ' + repr(self.access_key) + ' ' +\
7383            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7384            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7385            'healthy: ' + repr(self.healthy) + ' ' +\
7386            'id: ' + repr(self.id) + ' ' +\
7387            'name: ' + repr(self.name) + ' ' +\
7388            'output: ' + repr(self.output) + ' ' +\
7389            'port_override: ' + repr(self.port_override) + ' ' +\
7390            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7391            'region: ' + repr(self.region) + ' ' +\
7392            'role_arn: ' + repr(self.role_arn) + ' ' +\
7393            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
7394            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
7395            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7396            'subdomain: ' + repr(self.subdomain) + ' ' +\
7397            'tags: ' + repr(self.tags) + ' ' +\
7398            '>'
7399
7400    def to_dict(self):
7401        return {
7402            'access_key': self.access_key,
7403            'bind_interface': self.bind_interface,
7404            'egress_filter': self.egress_filter,
7405            'healthy': self.healthy,
7406            'id': self.id,
7407            'name': self.name,
7408            'output': self.output,
7409            'port_override': self.port_override,
7410            'proxy_cluster_id': self.proxy_cluster_id,
7411            'region': self.region,
7412            'role_arn': self.role_arn,
7413            'role_external_id': self.role_external_id,
7414            'secret_access_key': self.secret_access_key,
7415            'secret_store_id': self.secret_store_id,
7416            'subdomain': self.subdomain,
7417            'tags': self.tags,
7418        }
7419
7420    @classmethod
7421    def from_dict(cls, d):
7422        return cls(
7423            access_key=d.get('access_key'),
7424            bind_interface=d.get('bind_interface'),
7425            egress_filter=d.get('egress_filter'),
7426            healthy=d.get('healthy'),
7427            id=d.get('id'),
7428            name=d.get('name'),
7429            output=d.get('output'),
7430            port_override=d.get('port_override'),
7431            proxy_cluster_id=d.get('proxy_cluster_id'),
7432            region=d.get('region'),
7433            role_arn=d.get('role_arn'),
7434            role_external_id=d.get('role_external_id'),
7435            secret_access_key=d.get('secret_access_key'),
7436            secret_store_id=d.get('secret_store_id'),
7437            subdomain=d.get('subdomain'),
7438            tags=d.get('tags'),
7439        )
Athena( access_key=None, bind_interface=None, egress_filter=None, healthy=None, id=None, name=None, output=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
7296    def __init__(
7297        self,
7298        access_key=None,
7299        bind_interface=None,
7300        egress_filter=None,
7301        healthy=None,
7302        id=None,
7303        name=None,
7304        output=None,
7305        port_override=None,
7306        proxy_cluster_id=None,
7307        region=None,
7308        role_arn=None,
7309        role_external_id=None,
7310        secret_access_key=None,
7311        secret_store_id=None,
7312        subdomain=None,
7313        tags=None,
7314    ):
7315        self.access_key = access_key if access_key is not None else ''
7316        '''
7317         The Access Key ID to use to authenticate.
7318        '''
7319        self.bind_interface = bind_interface if bind_interface is not None else ''
7320        '''
7321         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7322        '''
7323        self.egress_filter = egress_filter if egress_filter is not None else ''
7324        '''
7325         A filter applied to the routing logic to pin datasource to nodes.
7326        '''
7327        self.healthy = healthy if healthy is not None else False
7328        '''
7329         True if the datasource is reachable and the credentials are valid.
7330        '''
7331        self.id = id if id is not None else ''
7332        '''
7333         Unique identifier of the Resource.
7334        '''
7335        self.name = name if name is not None else ''
7336        '''
7337         Unique human-readable name of the Resource.
7338        '''
7339        self.output = output if output is not None else ''
7340        '''
7341         The AWS S3 output location.
7342        '''
7343        self.port_override = port_override if port_override is not None else 0
7344        '''
7345         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7346        '''
7347        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7348        '''
7349         ID of the proxy cluster for this resource, if any.
7350        '''
7351        self.region = region if region is not None else ''
7352        '''
7353         The AWS region to connect to e.g. us-east-1.
7354        '''
7355        self.role_arn = role_arn if role_arn is not None else ''
7356        '''
7357         The role to assume after logging in.
7358        '''
7359        self.role_external_id = role_external_id if role_external_id is not None else ''
7360        '''
7361         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7362        '''
7363        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
7364        '''
7365         The Secret Access Key to use to authenticate.
7366        '''
7367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7368        '''
7369         ID of the secret store containing credentials for this resource, if any.
7370        '''
7371        self.subdomain = subdomain if subdomain is not None else ''
7372        '''
7373         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7374        '''
7375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7376        '''
7377         Tags is a map of key, value pairs.
7378        '''
access_key

The Access Key ID to use to authenticate.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

output

The AWS S3 output location.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
7400    def to_dict(self):
7401        return {
7402            'access_key': self.access_key,
7403            'bind_interface': self.bind_interface,
7404            'egress_filter': self.egress_filter,
7405            'healthy': self.healthy,
7406            'id': self.id,
7407            'name': self.name,
7408            'output': self.output,
7409            'port_override': self.port_override,
7410            'proxy_cluster_id': self.proxy_cluster_id,
7411            'region': self.region,
7412            'role_arn': self.role_arn,
7413            'role_external_id': self.role_external_id,
7414            'secret_access_key': self.secret_access_key,
7415            'secret_store_id': self.secret_store_id,
7416            'subdomain': self.subdomain,
7417            'tags': self.tags,
7418        }
@classmethod
def from_dict(cls, d)
7420    @classmethod
7421    def from_dict(cls, d):
7422        return cls(
7423            access_key=d.get('access_key'),
7424            bind_interface=d.get('bind_interface'),
7425            egress_filter=d.get('egress_filter'),
7426            healthy=d.get('healthy'),
7427            id=d.get('id'),
7428            name=d.get('name'),
7429            output=d.get('output'),
7430            port_override=d.get('port_override'),
7431            proxy_cluster_id=d.get('proxy_cluster_id'),
7432            region=d.get('region'),
7433            role_arn=d.get('role_arn'),
7434            role_external_id=d.get('role_external_id'),
7435            secret_access_key=d.get('secret_access_key'),
7436            secret_store_id=d.get('secret_store_id'),
7437            subdomain=d.get('subdomain'),
7438            tags=d.get('tags'),
7439        )
class AthenaIAM:
7442class AthenaIAM:
7443    __slots__ = [
7444        'bind_interface',
7445        'egress_filter',
7446        'healthy',
7447        'id',
7448        'name',
7449        'output',
7450        'port_override',
7451        'proxy_cluster_id',
7452        'region',
7453        'role_arn',
7454        'role_external_id',
7455        'secret_store_id',
7456        'subdomain',
7457        'tags',
7458    ]
7459
7460    def __init__(
7461        self,
7462        bind_interface=None,
7463        egress_filter=None,
7464        healthy=None,
7465        id=None,
7466        name=None,
7467        output=None,
7468        port_override=None,
7469        proxy_cluster_id=None,
7470        region=None,
7471        role_arn=None,
7472        role_external_id=None,
7473        secret_store_id=None,
7474        subdomain=None,
7475        tags=None,
7476    ):
7477        self.bind_interface = bind_interface if bind_interface is not None else ''
7478        '''
7479         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7480        '''
7481        self.egress_filter = egress_filter if egress_filter is not None else ''
7482        '''
7483         A filter applied to the routing logic to pin datasource to nodes.
7484        '''
7485        self.healthy = healthy if healthy is not None else False
7486        '''
7487         True if the datasource is reachable and the credentials are valid.
7488        '''
7489        self.id = id if id is not None else ''
7490        '''
7491         Unique identifier of the Resource.
7492        '''
7493        self.name = name if name is not None else ''
7494        '''
7495         Unique human-readable name of the Resource.
7496        '''
7497        self.output = output if output is not None else ''
7498        '''
7499         The AWS S3 output location.
7500        '''
7501        self.port_override = port_override if port_override is not None else 0
7502        '''
7503         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7504        '''
7505        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7506        '''
7507         ID of the proxy cluster for this resource, if any.
7508        '''
7509        self.region = region if region is not None else ''
7510        '''
7511         The AWS region to connect to e.g. us-east-1.
7512        '''
7513        self.role_arn = role_arn if role_arn is not None else ''
7514        '''
7515         The role to assume after logging in.
7516        '''
7517        self.role_external_id = role_external_id if role_external_id is not None else ''
7518        '''
7519         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7520        '''
7521        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7522        '''
7523         ID of the secret store containing credentials for this resource, if any.
7524        '''
7525        self.subdomain = subdomain if subdomain is not None else ''
7526        '''
7527         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7528        '''
7529        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7530        '''
7531         Tags is a map of key, value pairs.
7532        '''
7533
7534    def __repr__(self):
7535        return '<sdm.AthenaIAM ' + \
7536            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7537            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7538            'healthy: ' + repr(self.healthy) + ' ' +\
7539            'id: ' + repr(self.id) + ' ' +\
7540            'name: ' + repr(self.name) + ' ' +\
7541            'output: ' + repr(self.output) + ' ' +\
7542            'port_override: ' + repr(self.port_override) + ' ' +\
7543            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7544            'region: ' + repr(self.region) + ' ' +\
7545            'role_arn: ' + repr(self.role_arn) + ' ' +\
7546            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
7547            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7548            'subdomain: ' + repr(self.subdomain) + ' ' +\
7549            'tags: ' + repr(self.tags) + ' ' +\
7550            '>'
7551
7552    def to_dict(self):
7553        return {
7554            'bind_interface': self.bind_interface,
7555            'egress_filter': self.egress_filter,
7556            'healthy': self.healthy,
7557            'id': self.id,
7558            'name': self.name,
7559            'output': self.output,
7560            'port_override': self.port_override,
7561            'proxy_cluster_id': self.proxy_cluster_id,
7562            'region': self.region,
7563            'role_arn': self.role_arn,
7564            'role_external_id': self.role_external_id,
7565            'secret_store_id': self.secret_store_id,
7566            'subdomain': self.subdomain,
7567            'tags': self.tags,
7568        }
7569
7570    @classmethod
7571    def from_dict(cls, d):
7572        return cls(
7573            bind_interface=d.get('bind_interface'),
7574            egress_filter=d.get('egress_filter'),
7575            healthy=d.get('healthy'),
7576            id=d.get('id'),
7577            name=d.get('name'),
7578            output=d.get('output'),
7579            port_override=d.get('port_override'),
7580            proxy_cluster_id=d.get('proxy_cluster_id'),
7581            region=d.get('region'),
7582            role_arn=d.get('role_arn'),
7583            role_external_id=d.get('role_external_id'),
7584            secret_store_id=d.get('secret_store_id'),
7585            subdomain=d.get('subdomain'),
7586            tags=d.get('tags'),
7587        )
AthenaIAM( bind_interface=None, egress_filter=None, healthy=None, id=None, name=None, output=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
7460    def __init__(
7461        self,
7462        bind_interface=None,
7463        egress_filter=None,
7464        healthy=None,
7465        id=None,
7466        name=None,
7467        output=None,
7468        port_override=None,
7469        proxy_cluster_id=None,
7470        region=None,
7471        role_arn=None,
7472        role_external_id=None,
7473        secret_store_id=None,
7474        subdomain=None,
7475        tags=None,
7476    ):
7477        self.bind_interface = bind_interface if bind_interface is not None else ''
7478        '''
7479         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7480        '''
7481        self.egress_filter = egress_filter if egress_filter is not None else ''
7482        '''
7483         A filter applied to the routing logic to pin datasource to nodes.
7484        '''
7485        self.healthy = healthy if healthy is not None else False
7486        '''
7487         True if the datasource is reachable and the credentials are valid.
7488        '''
7489        self.id = id if id is not None else ''
7490        '''
7491         Unique identifier of the Resource.
7492        '''
7493        self.name = name if name is not None else ''
7494        '''
7495         Unique human-readable name of the Resource.
7496        '''
7497        self.output = output if output is not None else ''
7498        '''
7499         The AWS S3 output location.
7500        '''
7501        self.port_override = port_override if port_override is not None else 0
7502        '''
7503         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7504        '''
7505        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7506        '''
7507         ID of the proxy cluster for this resource, if any.
7508        '''
7509        self.region = region if region is not None else ''
7510        '''
7511         The AWS region to connect to e.g. us-east-1.
7512        '''
7513        self.role_arn = role_arn if role_arn is not None else ''
7514        '''
7515         The role to assume after logging in.
7516        '''
7517        self.role_external_id = role_external_id if role_external_id is not None else ''
7518        '''
7519         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7520        '''
7521        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7522        '''
7523         ID of the secret store containing credentials for this resource, if any.
7524        '''
7525        self.subdomain = subdomain if subdomain is not None else ''
7526        '''
7527         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7528        '''
7529        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7530        '''
7531         Tags is a map of key, value pairs.
7532        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

output

The AWS S3 output location.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to e.g. us-east-1.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
7552    def to_dict(self):
7553        return {
7554            'bind_interface': self.bind_interface,
7555            'egress_filter': self.egress_filter,
7556            'healthy': self.healthy,
7557            'id': self.id,
7558            'name': self.name,
7559            'output': self.output,
7560            'port_override': self.port_override,
7561            'proxy_cluster_id': self.proxy_cluster_id,
7562            'region': self.region,
7563            'role_arn': self.role_arn,
7564            'role_external_id': self.role_external_id,
7565            'secret_store_id': self.secret_store_id,
7566            'subdomain': self.subdomain,
7567            'tags': self.tags,
7568        }
@classmethod
def from_dict(cls, d)
7570    @classmethod
7571    def from_dict(cls, d):
7572        return cls(
7573            bind_interface=d.get('bind_interface'),
7574            egress_filter=d.get('egress_filter'),
7575            healthy=d.get('healthy'),
7576            id=d.get('id'),
7577            name=d.get('name'),
7578            output=d.get('output'),
7579            port_override=d.get('port_override'),
7580            proxy_cluster_id=d.get('proxy_cluster_id'),
7581            region=d.get('region'),
7582            role_arn=d.get('role_arn'),
7583            role_external_id=d.get('role_external_id'),
7584            secret_store_id=d.get('secret_store_id'),
7585            subdomain=d.get('subdomain'),
7586            tags=d.get('tags'),
7587        )
class AuroraMysql:
7590class AuroraMysql:
7591    __slots__ = [
7592        'bind_interface',
7593        'database',
7594        'egress_filter',
7595        'healthy',
7596        'hostname',
7597        'id',
7598        'name',
7599        'password',
7600        'port',
7601        'port_override',
7602        'proxy_cluster_id',
7603        'require_native_auth',
7604        'secret_store_id',
7605        'subdomain',
7606        'tags',
7607        'use_azure_single_server_usernames',
7608        'username',
7609    ]
7610
7611    def __init__(
7612        self,
7613        bind_interface=None,
7614        database=None,
7615        egress_filter=None,
7616        healthy=None,
7617        hostname=None,
7618        id=None,
7619        name=None,
7620        password=None,
7621        port=None,
7622        port_override=None,
7623        proxy_cluster_id=None,
7624        require_native_auth=None,
7625        secret_store_id=None,
7626        subdomain=None,
7627        tags=None,
7628        use_azure_single_server_usernames=None,
7629        username=None,
7630    ):
7631        self.bind_interface = bind_interface if bind_interface is not None else ''
7632        '''
7633         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7634        '''
7635        self.database = database if database is not None else ''
7636        '''
7637         The database for healthchecks. Does not affect client requests
7638        '''
7639        self.egress_filter = egress_filter if egress_filter is not None else ''
7640        '''
7641         A filter applied to the routing logic to pin datasource to nodes.
7642        '''
7643        self.healthy = healthy if healthy is not None else False
7644        '''
7645         True if the datasource is reachable and the credentials are valid.
7646        '''
7647        self.hostname = hostname if hostname is not None else ''
7648        '''
7649         The host to dial to initiate a connection from the egress node to this resource.
7650        '''
7651        self.id = id if id is not None else ''
7652        '''
7653         Unique identifier of the Resource.
7654        '''
7655        self.name = name if name is not None else ''
7656        '''
7657         Unique human-readable name of the Resource.
7658        '''
7659        self.password = password if password is not None else ''
7660        '''
7661         The password to authenticate with.
7662        '''
7663        self.port = port if port is not None else 0
7664        '''
7665         The port to dial to initiate a connection from the egress node to this resource.
7666        '''
7667        self.port_override = port_override if port_override is not None else 0
7668        '''
7669         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7670        '''
7671        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7672        '''
7673         ID of the proxy cluster for this resource, if any.
7674        '''
7675        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7676        '''
7677         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7678        '''
7679        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7680        '''
7681         ID of the secret store containing credentials for this resource, if any.
7682        '''
7683        self.subdomain = subdomain if subdomain is not None else ''
7684        '''
7685         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7686        '''
7687        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7688        '''
7689         Tags is a map of key, value pairs.
7690        '''
7691        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7692        '''
7693         If true, appends the hostname to the username when hitting a database.azure.com address
7694        '''
7695        self.username = username if username is not None else ''
7696        '''
7697         The username to authenticate with.
7698        '''
7699
7700    def __repr__(self):
7701        return '<sdm.AuroraMysql ' + \
7702            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7703            'database: ' + repr(self.database) + ' ' +\
7704            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7705            'healthy: ' + repr(self.healthy) + ' ' +\
7706            'hostname: ' + repr(self.hostname) + ' ' +\
7707            'id: ' + repr(self.id) + ' ' +\
7708            'name: ' + repr(self.name) + ' ' +\
7709            'password: ' + repr(self.password) + ' ' +\
7710            'port: ' + repr(self.port) + ' ' +\
7711            'port_override: ' + repr(self.port_override) + ' ' +\
7712            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7713            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
7714            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7715            'subdomain: ' + repr(self.subdomain) + ' ' +\
7716            'tags: ' + repr(self.tags) + ' ' +\
7717            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7718            'username: ' + repr(self.username) + ' ' +\
7719            '>'
7720
7721    def to_dict(self):
7722        return {
7723            'bind_interface': self.bind_interface,
7724            'database': self.database,
7725            'egress_filter': self.egress_filter,
7726            'healthy': self.healthy,
7727            'hostname': self.hostname,
7728            'id': self.id,
7729            'name': self.name,
7730            'password': self.password,
7731            'port': self.port,
7732            'port_override': self.port_override,
7733            'proxy_cluster_id': self.proxy_cluster_id,
7734            'require_native_auth': self.require_native_auth,
7735            'secret_store_id': self.secret_store_id,
7736            'subdomain': self.subdomain,
7737            'tags': self.tags,
7738            'use_azure_single_server_usernames':
7739            self.use_azure_single_server_usernames,
7740            'username': self.username,
7741        }
7742
7743    @classmethod
7744    def from_dict(cls, d):
7745        return cls(
7746            bind_interface=d.get('bind_interface'),
7747            database=d.get('database'),
7748            egress_filter=d.get('egress_filter'),
7749            healthy=d.get('healthy'),
7750            hostname=d.get('hostname'),
7751            id=d.get('id'),
7752            name=d.get('name'),
7753            password=d.get('password'),
7754            port=d.get('port'),
7755            port_override=d.get('port_override'),
7756            proxy_cluster_id=d.get('proxy_cluster_id'),
7757            require_native_auth=d.get('require_native_auth'),
7758            secret_store_id=d.get('secret_store_id'),
7759            subdomain=d.get('subdomain'),
7760            tags=d.get('tags'),
7761            use_azure_single_server_usernames=d.get(
7762                'use_azure_single_server_usernames'),
7763            username=d.get('username'),
7764        )
AuroraMysql( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
7611    def __init__(
7612        self,
7613        bind_interface=None,
7614        database=None,
7615        egress_filter=None,
7616        healthy=None,
7617        hostname=None,
7618        id=None,
7619        name=None,
7620        password=None,
7621        port=None,
7622        port_override=None,
7623        proxy_cluster_id=None,
7624        require_native_auth=None,
7625        secret_store_id=None,
7626        subdomain=None,
7627        tags=None,
7628        use_azure_single_server_usernames=None,
7629        username=None,
7630    ):
7631        self.bind_interface = bind_interface if bind_interface is not None else ''
7632        '''
7633         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7634        '''
7635        self.database = database if database is not None else ''
7636        '''
7637         The database for healthchecks. Does not affect client requests
7638        '''
7639        self.egress_filter = egress_filter if egress_filter is not None else ''
7640        '''
7641         A filter applied to the routing logic to pin datasource to nodes.
7642        '''
7643        self.healthy = healthy if healthy is not None else False
7644        '''
7645         True if the datasource is reachable and the credentials are valid.
7646        '''
7647        self.hostname = hostname if hostname is not None else ''
7648        '''
7649         The host to dial to initiate a connection from the egress node to this resource.
7650        '''
7651        self.id = id if id is not None else ''
7652        '''
7653         Unique identifier of the Resource.
7654        '''
7655        self.name = name if name is not None else ''
7656        '''
7657         Unique human-readable name of the Resource.
7658        '''
7659        self.password = password if password is not None else ''
7660        '''
7661         The password to authenticate with.
7662        '''
7663        self.port = port if port is not None else 0
7664        '''
7665         The port to dial to initiate a connection from the egress node to this resource.
7666        '''
7667        self.port_override = port_override if port_override is not None else 0
7668        '''
7669         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7670        '''
7671        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7672        '''
7673         ID of the proxy cluster for this resource, if any.
7674        '''
7675        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7676        '''
7677         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7678        '''
7679        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7680        '''
7681         ID of the secret store containing credentials for this resource, if any.
7682        '''
7683        self.subdomain = subdomain if subdomain is not None else ''
7684        '''
7685         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7686        '''
7687        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7688        '''
7689         Tags is a map of key, value pairs.
7690        '''
7691        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7692        '''
7693         If true, appends the hostname to the username when hitting a database.azure.com address
7694        '''
7695        self.username = username if username is not None else ''
7696        '''
7697         The username to authenticate with.
7698        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
7721    def to_dict(self):
7722        return {
7723            'bind_interface': self.bind_interface,
7724            'database': self.database,
7725            'egress_filter': self.egress_filter,
7726            'healthy': self.healthy,
7727            'hostname': self.hostname,
7728            'id': self.id,
7729            'name': self.name,
7730            'password': self.password,
7731            'port': self.port,
7732            'port_override': self.port_override,
7733            'proxy_cluster_id': self.proxy_cluster_id,
7734            'require_native_auth': self.require_native_auth,
7735            'secret_store_id': self.secret_store_id,
7736            'subdomain': self.subdomain,
7737            'tags': self.tags,
7738            'use_azure_single_server_usernames':
7739            self.use_azure_single_server_usernames,
7740            'username': self.username,
7741        }
@classmethod
def from_dict(cls, d)
7743    @classmethod
7744    def from_dict(cls, d):
7745        return cls(
7746            bind_interface=d.get('bind_interface'),
7747            database=d.get('database'),
7748            egress_filter=d.get('egress_filter'),
7749            healthy=d.get('healthy'),
7750            hostname=d.get('hostname'),
7751            id=d.get('id'),
7752            name=d.get('name'),
7753            password=d.get('password'),
7754            port=d.get('port'),
7755            port_override=d.get('port_override'),
7756            proxy_cluster_id=d.get('proxy_cluster_id'),
7757            require_native_auth=d.get('require_native_auth'),
7758            secret_store_id=d.get('secret_store_id'),
7759            subdomain=d.get('subdomain'),
7760            tags=d.get('tags'),
7761            use_azure_single_server_usernames=d.get(
7762                'use_azure_single_server_usernames'),
7763            username=d.get('username'),
7764        )
class AuroraMysqlIAM:
7767class AuroraMysqlIAM:
7768    __slots__ = [
7769        'bind_interface',
7770        'database',
7771        'egress_filter',
7772        'healthy',
7773        'hostname',
7774        'id',
7775        'name',
7776        'port',
7777        'port_override',
7778        'proxy_cluster_id',
7779        'region',
7780        'role_assumption_arn',
7781        'secret_store_id',
7782        'subdomain',
7783        'tags',
7784        'username',
7785    ]
7786
7787    def __init__(
7788        self,
7789        bind_interface=None,
7790        database=None,
7791        egress_filter=None,
7792        healthy=None,
7793        hostname=None,
7794        id=None,
7795        name=None,
7796        port=None,
7797        port_override=None,
7798        proxy_cluster_id=None,
7799        region=None,
7800        role_assumption_arn=None,
7801        secret_store_id=None,
7802        subdomain=None,
7803        tags=None,
7804        username=None,
7805    ):
7806        self.bind_interface = bind_interface if bind_interface is not None else ''
7807        '''
7808         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7809        '''
7810        self.database = database if database is not None else ''
7811        '''
7812         The database for healthchecks. Does not affect client requests
7813        '''
7814        self.egress_filter = egress_filter if egress_filter is not None else ''
7815        '''
7816         A filter applied to the routing logic to pin datasource to nodes.
7817        '''
7818        self.healthy = healthy if healthy is not None else False
7819        '''
7820         True if the datasource is reachable and the credentials are valid.
7821        '''
7822        self.hostname = hostname if hostname is not None else ''
7823        '''
7824         The host to dial to initiate a connection from the egress node to this resource.
7825        '''
7826        self.id = id if id is not None else ''
7827        '''
7828         Unique identifier of the Resource.
7829        '''
7830        self.name = name if name is not None else ''
7831        '''
7832         Unique human-readable name of the Resource.
7833        '''
7834        self.port = port if port is not None else 0
7835        '''
7836         The port to dial to initiate a connection from the egress node to this resource.
7837        '''
7838        self.port_override = port_override if port_override is not None else 0
7839        '''
7840         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7841        '''
7842        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7843        '''
7844         ID of the proxy cluster for this resource, if any.
7845        '''
7846        self.region = region if region is not None else ''
7847        '''
7848         The AWS region to connect to.
7849        '''
7850        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
7851        '''
7852         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
7853        '''
7854        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7855        '''
7856         ID of the secret store containing credentials for this resource, if any.
7857        '''
7858        self.subdomain = subdomain if subdomain is not None else ''
7859        '''
7860         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7861        '''
7862        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7863        '''
7864         Tags is a map of key, value pairs.
7865        '''
7866        self.username = username if username is not None else ''
7867        '''
7868         The username to authenticate with.
7869        '''
7870
7871    def __repr__(self):
7872        return '<sdm.AuroraMysqlIAM ' + \
7873            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7874            'database: ' + repr(self.database) + ' ' +\
7875            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7876            'healthy: ' + repr(self.healthy) + ' ' +\
7877            'hostname: ' + repr(self.hostname) + ' ' +\
7878            'id: ' + repr(self.id) + ' ' +\
7879            'name: ' + repr(self.name) + ' ' +\
7880            'port: ' + repr(self.port) + ' ' +\
7881            'port_override: ' + repr(self.port_override) + ' ' +\
7882            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7883            'region: ' + repr(self.region) + ' ' +\
7884            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
7885            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7886            'subdomain: ' + repr(self.subdomain) + ' ' +\
7887            'tags: ' + repr(self.tags) + ' ' +\
7888            'username: ' + repr(self.username) + ' ' +\
7889            '>'
7890
7891    def to_dict(self):
7892        return {
7893            'bind_interface': self.bind_interface,
7894            'database': self.database,
7895            'egress_filter': self.egress_filter,
7896            'healthy': self.healthy,
7897            'hostname': self.hostname,
7898            'id': self.id,
7899            'name': self.name,
7900            'port': self.port,
7901            'port_override': self.port_override,
7902            'proxy_cluster_id': self.proxy_cluster_id,
7903            'region': self.region,
7904            'role_assumption_arn': self.role_assumption_arn,
7905            'secret_store_id': self.secret_store_id,
7906            'subdomain': self.subdomain,
7907            'tags': self.tags,
7908            'username': self.username,
7909        }
7910
7911    @classmethod
7912    def from_dict(cls, d):
7913        return cls(
7914            bind_interface=d.get('bind_interface'),
7915            database=d.get('database'),
7916            egress_filter=d.get('egress_filter'),
7917            healthy=d.get('healthy'),
7918            hostname=d.get('hostname'),
7919            id=d.get('id'),
7920            name=d.get('name'),
7921            port=d.get('port'),
7922            port_override=d.get('port_override'),
7923            proxy_cluster_id=d.get('proxy_cluster_id'),
7924            region=d.get('region'),
7925            role_assumption_arn=d.get('role_assumption_arn'),
7926            secret_store_id=d.get('secret_store_id'),
7927            subdomain=d.get('subdomain'),
7928            tags=d.get('tags'),
7929            username=d.get('username'),
7930        )
AuroraMysqlIAM( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_assumption_arn=None, secret_store_id=None, subdomain=None, tags=None, username=None)
7787    def __init__(
7788        self,
7789        bind_interface=None,
7790        database=None,
7791        egress_filter=None,
7792        healthy=None,
7793        hostname=None,
7794        id=None,
7795        name=None,
7796        port=None,
7797        port_override=None,
7798        proxy_cluster_id=None,
7799        region=None,
7800        role_assumption_arn=None,
7801        secret_store_id=None,
7802        subdomain=None,
7803        tags=None,
7804        username=None,
7805    ):
7806        self.bind_interface = bind_interface if bind_interface is not None else ''
7807        '''
7808         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7809        '''
7810        self.database = database if database is not None else ''
7811        '''
7812         The database for healthchecks. Does not affect client requests
7813        '''
7814        self.egress_filter = egress_filter if egress_filter is not None else ''
7815        '''
7816         A filter applied to the routing logic to pin datasource to nodes.
7817        '''
7818        self.healthy = healthy if healthy is not None else False
7819        '''
7820         True if the datasource is reachable and the credentials are valid.
7821        '''
7822        self.hostname = hostname if hostname is not None else ''
7823        '''
7824         The host to dial to initiate a connection from the egress node to this resource.
7825        '''
7826        self.id = id if id is not None else ''
7827        '''
7828         Unique identifier of the Resource.
7829        '''
7830        self.name = name if name is not None else ''
7831        '''
7832         Unique human-readable name of the Resource.
7833        '''
7834        self.port = port if port is not None else 0
7835        '''
7836         The port to dial to initiate a connection from the egress node to this resource.
7837        '''
7838        self.port_override = port_override if port_override is not None else 0
7839        '''
7840         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7841        '''
7842        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7843        '''
7844         ID of the proxy cluster for this resource, if any.
7845        '''
7846        self.region = region if region is not None else ''
7847        '''
7848         The AWS region to connect to.
7849        '''
7850        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
7851        '''
7852         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
7853        '''
7854        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7855        '''
7856         ID of the secret store containing credentials for this resource, if any.
7857        '''
7858        self.subdomain = subdomain if subdomain is not None else ''
7859        '''
7860         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7861        '''
7862        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7863        '''
7864         Tags is a map of key, value pairs.
7865        '''
7866        self.username = username if username is not None else ''
7867        '''
7868         The username to authenticate with.
7869        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_assumption_arn

If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
7891    def to_dict(self):
7892        return {
7893            'bind_interface': self.bind_interface,
7894            'database': self.database,
7895            'egress_filter': self.egress_filter,
7896            'healthy': self.healthy,
7897            'hostname': self.hostname,
7898            'id': self.id,
7899            'name': self.name,
7900            'port': self.port,
7901            'port_override': self.port_override,
7902            'proxy_cluster_id': self.proxy_cluster_id,
7903            'region': self.region,
7904            'role_assumption_arn': self.role_assumption_arn,
7905            'secret_store_id': self.secret_store_id,
7906            'subdomain': self.subdomain,
7907            'tags': self.tags,
7908            'username': self.username,
7909        }
@classmethod
def from_dict(cls, d)
7911    @classmethod
7912    def from_dict(cls, d):
7913        return cls(
7914            bind_interface=d.get('bind_interface'),
7915            database=d.get('database'),
7916            egress_filter=d.get('egress_filter'),
7917            healthy=d.get('healthy'),
7918            hostname=d.get('hostname'),
7919            id=d.get('id'),
7920            name=d.get('name'),
7921            port=d.get('port'),
7922            port_override=d.get('port_override'),
7923            proxy_cluster_id=d.get('proxy_cluster_id'),
7924            region=d.get('region'),
7925            role_assumption_arn=d.get('role_assumption_arn'),
7926            secret_store_id=d.get('secret_store_id'),
7927            subdomain=d.get('subdomain'),
7928            tags=d.get('tags'),
7929            username=d.get('username'),
7930        )
class AuroraPostgres:
7933class AuroraPostgres:
7934    __slots__ = [
7935        'bind_interface',
7936        'database',
7937        'egress_filter',
7938        'healthy',
7939        'hostname',
7940        'id',
7941        'name',
7942        'override_database',
7943        'password',
7944        'port',
7945        'port_override',
7946        'proxy_cluster_id',
7947        'secret_store_id',
7948        'subdomain',
7949        'tags',
7950        'username',
7951    ]
7952
7953    def __init__(
7954        self,
7955        bind_interface=None,
7956        database=None,
7957        egress_filter=None,
7958        healthy=None,
7959        hostname=None,
7960        id=None,
7961        name=None,
7962        override_database=None,
7963        password=None,
7964        port=None,
7965        port_override=None,
7966        proxy_cluster_id=None,
7967        secret_store_id=None,
7968        subdomain=None,
7969        tags=None,
7970        username=None,
7971    ):
7972        self.bind_interface = bind_interface if bind_interface is not None else ''
7973        '''
7974         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7975        '''
7976        self.database = database if database is not None else ''
7977        '''
7978         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7979        '''
7980        self.egress_filter = egress_filter if egress_filter is not None else ''
7981        '''
7982         A filter applied to the routing logic to pin datasource to nodes.
7983        '''
7984        self.healthy = healthy if healthy is not None else False
7985        '''
7986         True if the datasource is reachable and the credentials are valid.
7987        '''
7988        self.hostname = hostname if hostname is not None else ''
7989        '''
7990         The host to dial to initiate a connection from the egress node to this resource.
7991        '''
7992        self.id = id if id is not None else ''
7993        '''
7994         Unique identifier of the Resource.
7995        '''
7996        self.name = name if name is not None else ''
7997        '''
7998         Unique human-readable name of the Resource.
7999        '''
8000        self.override_database = override_database if override_database is not None else False
8001        '''
8002         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8003        '''
8004        self.password = password if password is not None else ''
8005        '''
8006         The password to authenticate with.
8007        '''
8008        self.port = port if port is not None else 0
8009        '''
8010         The port to dial to initiate a connection from the egress node to this resource.
8011        '''
8012        self.port_override = port_override if port_override is not None else 0
8013        '''
8014         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8015        '''
8016        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8017        '''
8018         ID of the proxy cluster for this resource, if any.
8019        '''
8020        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8021        '''
8022         ID of the secret store containing credentials for this resource, if any.
8023        '''
8024        self.subdomain = subdomain if subdomain is not None else ''
8025        '''
8026         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8027        '''
8028        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8029        '''
8030         Tags is a map of key, value pairs.
8031        '''
8032        self.username = username if username is not None else ''
8033        '''
8034         The username to authenticate with.
8035        '''
8036
8037    def __repr__(self):
8038        return '<sdm.AuroraPostgres ' + \
8039            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8040            'database: ' + repr(self.database) + ' ' +\
8041            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8042            'healthy: ' + repr(self.healthy) + ' ' +\
8043            'hostname: ' + repr(self.hostname) + ' ' +\
8044            'id: ' + repr(self.id) + ' ' +\
8045            'name: ' + repr(self.name) + ' ' +\
8046            'override_database: ' + repr(self.override_database) + ' ' +\
8047            'password: ' + repr(self.password) + ' ' +\
8048            'port: ' + repr(self.port) + ' ' +\
8049            'port_override: ' + repr(self.port_override) + ' ' +\
8050            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8051            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8052            'subdomain: ' + repr(self.subdomain) + ' ' +\
8053            'tags: ' + repr(self.tags) + ' ' +\
8054            'username: ' + repr(self.username) + ' ' +\
8055            '>'
8056
8057    def to_dict(self):
8058        return {
8059            'bind_interface': self.bind_interface,
8060            'database': self.database,
8061            'egress_filter': self.egress_filter,
8062            'healthy': self.healthy,
8063            'hostname': self.hostname,
8064            'id': self.id,
8065            'name': self.name,
8066            'override_database': self.override_database,
8067            'password': self.password,
8068            'port': self.port,
8069            'port_override': self.port_override,
8070            'proxy_cluster_id': self.proxy_cluster_id,
8071            'secret_store_id': self.secret_store_id,
8072            'subdomain': self.subdomain,
8073            'tags': self.tags,
8074            'username': self.username,
8075        }
8076
8077    @classmethod
8078    def from_dict(cls, d):
8079        return cls(
8080            bind_interface=d.get('bind_interface'),
8081            database=d.get('database'),
8082            egress_filter=d.get('egress_filter'),
8083            healthy=d.get('healthy'),
8084            hostname=d.get('hostname'),
8085            id=d.get('id'),
8086            name=d.get('name'),
8087            override_database=d.get('override_database'),
8088            password=d.get('password'),
8089            port=d.get('port'),
8090            port_override=d.get('port_override'),
8091            proxy_cluster_id=d.get('proxy_cluster_id'),
8092            secret_store_id=d.get('secret_store_id'),
8093            subdomain=d.get('subdomain'),
8094            tags=d.get('tags'),
8095            username=d.get('username'),
8096        )
AuroraPostgres( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
7953    def __init__(
7954        self,
7955        bind_interface=None,
7956        database=None,
7957        egress_filter=None,
7958        healthy=None,
7959        hostname=None,
7960        id=None,
7961        name=None,
7962        override_database=None,
7963        password=None,
7964        port=None,
7965        port_override=None,
7966        proxy_cluster_id=None,
7967        secret_store_id=None,
7968        subdomain=None,
7969        tags=None,
7970        username=None,
7971    ):
7972        self.bind_interface = bind_interface if bind_interface is not None else ''
7973        '''
7974         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7975        '''
7976        self.database = database if database is not None else ''
7977        '''
7978         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7979        '''
7980        self.egress_filter = egress_filter if egress_filter is not None else ''
7981        '''
7982         A filter applied to the routing logic to pin datasource to nodes.
7983        '''
7984        self.healthy = healthy if healthy is not None else False
7985        '''
7986         True if the datasource is reachable and the credentials are valid.
7987        '''
7988        self.hostname = hostname if hostname is not None else ''
7989        '''
7990         The host to dial to initiate a connection from the egress node to this resource.
7991        '''
7992        self.id = id if id is not None else ''
7993        '''
7994         Unique identifier of the Resource.
7995        '''
7996        self.name = name if name is not None else ''
7997        '''
7998         Unique human-readable name of the Resource.
7999        '''
8000        self.override_database = override_database if override_database is not None else False
8001        '''
8002         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8003        '''
8004        self.password = password if password is not None else ''
8005        '''
8006         The password to authenticate with.
8007        '''
8008        self.port = port if port is not None else 0
8009        '''
8010         The port to dial to initiate a connection from the egress node to this resource.
8011        '''
8012        self.port_override = port_override if port_override is not None else 0
8013        '''
8014         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8015        '''
8016        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8017        '''
8018         ID of the proxy cluster for this resource, if any.
8019        '''
8020        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8021        '''
8022         ID of the secret store containing credentials for this resource, if any.
8023        '''
8024        self.subdomain = subdomain if subdomain is not None else ''
8025        '''
8026         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8027        '''
8028        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8029        '''
8030         Tags is a map of key, value pairs.
8031        '''
8032        self.username = username if username is not None else ''
8033        '''
8034         The username to authenticate with.
8035        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
8057    def to_dict(self):
8058        return {
8059            'bind_interface': self.bind_interface,
8060            'database': self.database,
8061            'egress_filter': self.egress_filter,
8062            'healthy': self.healthy,
8063            'hostname': self.hostname,
8064            'id': self.id,
8065            'name': self.name,
8066            'override_database': self.override_database,
8067            'password': self.password,
8068            'port': self.port,
8069            'port_override': self.port_override,
8070            'proxy_cluster_id': self.proxy_cluster_id,
8071            'secret_store_id': self.secret_store_id,
8072            'subdomain': self.subdomain,
8073            'tags': self.tags,
8074            'username': self.username,
8075        }
@classmethod
def from_dict(cls, d)
8077    @classmethod
8078    def from_dict(cls, d):
8079        return cls(
8080            bind_interface=d.get('bind_interface'),
8081            database=d.get('database'),
8082            egress_filter=d.get('egress_filter'),
8083            healthy=d.get('healthy'),
8084            hostname=d.get('hostname'),
8085            id=d.get('id'),
8086            name=d.get('name'),
8087            override_database=d.get('override_database'),
8088            password=d.get('password'),
8089            port=d.get('port'),
8090            port_override=d.get('port_override'),
8091            proxy_cluster_id=d.get('proxy_cluster_id'),
8092            secret_store_id=d.get('secret_store_id'),
8093            subdomain=d.get('subdomain'),
8094            tags=d.get('tags'),
8095            username=d.get('username'),
8096        )
class AuroraPostgresIAM:
8099class AuroraPostgresIAM:
8100    __slots__ = [
8101        'bind_interface',
8102        'database',
8103        'egress_filter',
8104        'healthy',
8105        'hostname',
8106        'id',
8107        'name',
8108        'override_database',
8109        'port',
8110        'port_override',
8111        'proxy_cluster_id',
8112        'region',
8113        'role_assumption_arn',
8114        'secret_store_id',
8115        'subdomain',
8116        'tags',
8117        'username',
8118    ]
8119
8120    def __init__(
8121        self,
8122        bind_interface=None,
8123        database=None,
8124        egress_filter=None,
8125        healthy=None,
8126        hostname=None,
8127        id=None,
8128        name=None,
8129        override_database=None,
8130        port=None,
8131        port_override=None,
8132        proxy_cluster_id=None,
8133        region=None,
8134        role_assumption_arn=None,
8135        secret_store_id=None,
8136        subdomain=None,
8137        tags=None,
8138        username=None,
8139    ):
8140        self.bind_interface = bind_interface if bind_interface is not None else ''
8141        '''
8142         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8143        '''
8144        self.database = database if database is not None else ''
8145        '''
8146         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8147        '''
8148        self.egress_filter = egress_filter if egress_filter is not None else ''
8149        '''
8150         A filter applied to the routing logic to pin datasource to nodes.
8151        '''
8152        self.healthy = healthy if healthy is not None else False
8153        '''
8154         True if the datasource is reachable and the credentials are valid.
8155        '''
8156        self.hostname = hostname if hostname is not None else ''
8157        '''
8158         The host to dial to initiate a connection from the egress node to this resource.
8159        '''
8160        self.id = id if id is not None else ''
8161        '''
8162         Unique identifier of the Resource.
8163        '''
8164        self.name = name if name is not None else ''
8165        '''
8166         Unique human-readable name of the Resource.
8167        '''
8168        self.override_database = override_database if override_database is not None else False
8169        '''
8170         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8171        '''
8172        self.port = port if port is not None else 0
8173        '''
8174         The port to dial to initiate a connection from the egress node to this resource.
8175        '''
8176        self.port_override = port_override if port_override is not None else 0
8177        '''
8178         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8179        '''
8180        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8181        '''
8182         ID of the proxy cluster for this resource, if any.
8183        '''
8184        self.region = region if region is not None else ''
8185        '''
8186         The AWS region to connect to.
8187        '''
8188        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
8189        '''
8190         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
8191        '''
8192        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8193        '''
8194         ID of the secret store containing credentials for this resource, if any.
8195        '''
8196        self.subdomain = subdomain if subdomain is not None else ''
8197        '''
8198         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8199        '''
8200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8201        '''
8202         Tags is a map of key, value pairs.
8203        '''
8204        self.username = username if username is not None else ''
8205        '''
8206         The username to authenticate with.
8207        '''
8208
8209    def __repr__(self):
8210        return '<sdm.AuroraPostgresIAM ' + \
8211            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8212            'database: ' + repr(self.database) + ' ' +\
8213            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8214            'healthy: ' + repr(self.healthy) + ' ' +\
8215            'hostname: ' + repr(self.hostname) + ' ' +\
8216            'id: ' + repr(self.id) + ' ' +\
8217            'name: ' + repr(self.name) + ' ' +\
8218            'override_database: ' + repr(self.override_database) + ' ' +\
8219            'port: ' + repr(self.port) + ' ' +\
8220            'port_override: ' + repr(self.port_override) + ' ' +\
8221            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8222            'region: ' + repr(self.region) + ' ' +\
8223            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
8224            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8225            'subdomain: ' + repr(self.subdomain) + ' ' +\
8226            'tags: ' + repr(self.tags) + ' ' +\
8227            'username: ' + repr(self.username) + ' ' +\
8228            '>'
8229
8230    def to_dict(self):
8231        return {
8232            'bind_interface': self.bind_interface,
8233            'database': self.database,
8234            'egress_filter': self.egress_filter,
8235            'healthy': self.healthy,
8236            'hostname': self.hostname,
8237            'id': self.id,
8238            'name': self.name,
8239            'override_database': self.override_database,
8240            'port': self.port,
8241            'port_override': self.port_override,
8242            'proxy_cluster_id': self.proxy_cluster_id,
8243            'region': self.region,
8244            'role_assumption_arn': self.role_assumption_arn,
8245            'secret_store_id': self.secret_store_id,
8246            'subdomain': self.subdomain,
8247            'tags': self.tags,
8248            'username': self.username,
8249        }
8250
8251    @classmethod
8252    def from_dict(cls, d):
8253        return cls(
8254            bind_interface=d.get('bind_interface'),
8255            database=d.get('database'),
8256            egress_filter=d.get('egress_filter'),
8257            healthy=d.get('healthy'),
8258            hostname=d.get('hostname'),
8259            id=d.get('id'),
8260            name=d.get('name'),
8261            override_database=d.get('override_database'),
8262            port=d.get('port'),
8263            port_override=d.get('port_override'),
8264            proxy_cluster_id=d.get('proxy_cluster_id'),
8265            region=d.get('region'),
8266            role_assumption_arn=d.get('role_assumption_arn'),
8267            secret_store_id=d.get('secret_store_id'),
8268            subdomain=d.get('subdomain'),
8269            tags=d.get('tags'),
8270            username=d.get('username'),
8271        )
AuroraPostgresIAM( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_assumption_arn=None, secret_store_id=None, subdomain=None, tags=None, username=None)
8120    def __init__(
8121        self,
8122        bind_interface=None,
8123        database=None,
8124        egress_filter=None,
8125        healthy=None,
8126        hostname=None,
8127        id=None,
8128        name=None,
8129        override_database=None,
8130        port=None,
8131        port_override=None,
8132        proxy_cluster_id=None,
8133        region=None,
8134        role_assumption_arn=None,
8135        secret_store_id=None,
8136        subdomain=None,
8137        tags=None,
8138        username=None,
8139    ):
8140        self.bind_interface = bind_interface if bind_interface is not None else ''
8141        '''
8142         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8143        '''
8144        self.database = database if database is not None else ''
8145        '''
8146         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8147        '''
8148        self.egress_filter = egress_filter if egress_filter is not None else ''
8149        '''
8150         A filter applied to the routing logic to pin datasource to nodes.
8151        '''
8152        self.healthy = healthy if healthy is not None else False
8153        '''
8154         True if the datasource is reachable and the credentials are valid.
8155        '''
8156        self.hostname = hostname if hostname is not None else ''
8157        '''
8158         The host to dial to initiate a connection from the egress node to this resource.
8159        '''
8160        self.id = id if id is not None else ''
8161        '''
8162         Unique identifier of the Resource.
8163        '''
8164        self.name = name if name is not None else ''
8165        '''
8166         Unique human-readable name of the Resource.
8167        '''
8168        self.override_database = override_database if override_database is not None else False
8169        '''
8170         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8171        '''
8172        self.port = port if port is not None else 0
8173        '''
8174         The port to dial to initiate a connection from the egress node to this resource.
8175        '''
8176        self.port_override = port_override if port_override is not None else 0
8177        '''
8178         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8179        '''
8180        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8181        '''
8182         ID of the proxy cluster for this resource, if any.
8183        '''
8184        self.region = region if region is not None else ''
8185        '''
8186         The AWS region to connect to.
8187        '''
8188        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
8189        '''
8190         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
8191        '''
8192        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8193        '''
8194         ID of the secret store containing credentials for this resource, if any.
8195        '''
8196        self.subdomain = subdomain if subdomain is not None else ''
8197        '''
8198         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8199        '''
8200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8201        '''
8202         Tags is a map of key, value pairs.
8203        '''
8204        self.username = username if username is not None else ''
8205        '''
8206         The username to authenticate with.
8207        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_assumption_arn

If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
8230    def to_dict(self):
8231        return {
8232            'bind_interface': self.bind_interface,
8233            'database': self.database,
8234            'egress_filter': self.egress_filter,
8235            'healthy': self.healthy,
8236            'hostname': self.hostname,
8237            'id': self.id,
8238            'name': self.name,
8239            'override_database': self.override_database,
8240            'port': self.port,
8241            'port_override': self.port_override,
8242            'proxy_cluster_id': self.proxy_cluster_id,
8243            'region': self.region,
8244            'role_assumption_arn': self.role_assumption_arn,
8245            'secret_store_id': self.secret_store_id,
8246            'subdomain': self.subdomain,
8247            'tags': self.tags,
8248            'username': self.username,
8249        }
@classmethod
def from_dict(cls, d)
8251    @classmethod
8252    def from_dict(cls, d):
8253        return cls(
8254            bind_interface=d.get('bind_interface'),
8255            database=d.get('database'),
8256            egress_filter=d.get('egress_filter'),
8257            healthy=d.get('healthy'),
8258            hostname=d.get('hostname'),
8259            id=d.get('id'),
8260            name=d.get('name'),
8261            override_database=d.get('override_database'),
8262            port=d.get('port'),
8263            port_override=d.get('port_override'),
8264            proxy_cluster_id=d.get('proxy_cluster_id'),
8265            region=d.get('region'),
8266            role_assumption_arn=d.get('role_assumption_arn'),
8267            secret_store_id=d.get('secret_store_id'),
8268            subdomain=d.get('subdomain'),
8269            tags=d.get('tags'),
8270            username=d.get('username'),
8271        )
class Azure:
8274class Azure:
8275    __slots__ = [
8276        'app_id',
8277        'bind_interface',
8278        'egress_filter',
8279        'healthy',
8280        'id',
8281        'name',
8282        'password',
8283        'port_override',
8284        'proxy_cluster_id',
8285        'secret_store_id',
8286        'subdomain',
8287        'tags',
8288        'tenant_id',
8289    ]
8290
8291    def __init__(
8292        self,
8293        app_id=None,
8294        bind_interface=None,
8295        egress_filter=None,
8296        healthy=None,
8297        id=None,
8298        name=None,
8299        password=None,
8300        port_override=None,
8301        proxy_cluster_id=None,
8302        secret_store_id=None,
8303        subdomain=None,
8304        tags=None,
8305        tenant_id=None,
8306    ):
8307        self.app_id = app_id if app_id is not None else ''
8308        '''
8309         The application ID to authenticate with.
8310        '''
8311        self.bind_interface = bind_interface if bind_interface is not None else ''
8312        '''
8313         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8314        '''
8315        self.egress_filter = egress_filter if egress_filter is not None else ''
8316        '''
8317         A filter applied to the routing logic to pin datasource to nodes.
8318        '''
8319        self.healthy = healthy if healthy is not None else False
8320        '''
8321         True if the datasource is reachable and the credentials are valid.
8322        '''
8323        self.id = id if id is not None else ''
8324        '''
8325         Unique identifier of the Resource.
8326        '''
8327        self.name = name if name is not None else ''
8328        '''
8329         Unique human-readable name of the Resource.
8330        '''
8331        self.password = password if password is not None else ''
8332        '''
8333         The password to authenticate with.
8334        '''
8335        self.port_override = port_override if port_override is not None else 0
8336        '''
8337         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8338        '''
8339        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8340        '''
8341         ID of the proxy cluster for this resource, if any.
8342        '''
8343        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8344        '''
8345         ID of the secret store containing credentials for this resource, if any.
8346        '''
8347        self.subdomain = subdomain if subdomain is not None else ''
8348        '''
8349         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8350        '''
8351        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8352        '''
8353         Tags is a map of key, value pairs.
8354        '''
8355        self.tenant_id = tenant_id if tenant_id is not None else ''
8356        '''
8357         The tenant ID to authenticate to.
8358        '''
8359
8360    def __repr__(self):
8361        return '<sdm.Azure ' + \
8362            'app_id: ' + repr(self.app_id) + ' ' +\
8363            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8364            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8365            'healthy: ' + repr(self.healthy) + ' ' +\
8366            'id: ' + repr(self.id) + ' ' +\
8367            'name: ' + repr(self.name) + ' ' +\
8368            'password: ' + repr(self.password) + ' ' +\
8369            'port_override: ' + repr(self.port_override) + ' ' +\
8370            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8371            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8372            'subdomain: ' + repr(self.subdomain) + ' ' +\
8373            'tags: ' + repr(self.tags) + ' ' +\
8374            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
8375            '>'
8376
8377    def to_dict(self):
8378        return {
8379            'app_id': self.app_id,
8380            'bind_interface': self.bind_interface,
8381            'egress_filter': self.egress_filter,
8382            'healthy': self.healthy,
8383            'id': self.id,
8384            'name': self.name,
8385            'password': self.password,
8386            'port_override': self.port_override,
8387            'proxy_cluster_id': self.proxy_cluster_id,
8388            'secret_store_id': self.secret_store_id,
8389            'subdomain': self.subdomain,
8390            'tags': self.tags,
8391            'tenant_id': self.tenant_id,
8392        }
8393
8394    @classmethod
8395    def from_dict(cls, d):
8396        return cls(
8397            app_id=d.get('app_id'),
8398            bind_interface=d.get('bind_interface'),
8399            egress_filter=d.get('egress_filter'),
8400            healthy=d.get('healthy'),
8401            id=d.get('id'),
8402            name=d.get('name'),
8403            password=d.get('password'),
8404            port_override=d.get('port_override'),
8405            proxy_cluster_id=d.get('proxy_cluster_id'),
8406            secret_store_id=d.get('secret_store_id'),
8407            subdomain=d.get('subdomain'),
8408            tags=d.get('tags'),
8409            tenant_id=d.get('tenant_id'),
8410        )
Azure( app_id=None, bind_interface=None, egress_filter=None, healthy=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tenant_id=None)
8291    def __init__(
8292        self,
8293        app_id=None,
8294        bind_interface=None,
8295        egress_filter=None,
8296        healthy=None,
8297        id=None,
8298        name=None,
8299        password=None,
8300        port_override=None,
8301        proxy_cluster_id=None,
8302        secret_store_id=None,
8303        subdomain=None,
8304        tags=None,
8305        tenant_id=None,
8306    ):
8307        self.app_id = app_id if app_id is not None else ''
8308        '''
8309         The application ID to authenticate with.
8310        '''
8311        self.bind_interface = bind_interface if bind_interface is not None else ''
8312        '''
8313         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8314        '''
8315        self.egress_filter = egress_filter if egress_filter is not None else ''
8316        '''
8317         A filter applied to the routing logic to pin datasource to nodes.
8318        '''
8319        self.healthy = healthy if healthy is not None else False
8320        '''
8321         True if the datasource is reachable and the credentials are valid.
8322        '''
8323        self.id = id if id is not None else ''
8324        '''
8325         Unique identifier of the Resource.
8326        '''
8327        self.name = name if name is not None else ''
8328        '''
8329         Unique human-readable name of the Resource.
8330        '''
8331        self.password = password if password is not None else ''
8332        '''
8333         The password to authenticate with.
8334        '''
8335        self.port_override = port_override if port_override is not None else 0
8336        '''
8337         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8338        '''
8339        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8340        '''
8341         ID of the proxy cluster for this resource, if any.
8342        '''
8343        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8344        '''
8345         ID of the secret store containing credentials for this resource, if any.
8346        '''
8347        self.subdomain = subdomain if subdomain is not None else ''
8348        '''
8349         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8350        '''
8351        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8352        '''
8353         Tags is a map of key, value pairs.
8354        '''
8355        self.tenant_id = tenant_id if tenant_id is not None else ''
8356        '''
8357         The tenant ID to authenticate to.
8358        '''
app_id

The application ID to authenticate with.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tenant_id

The tenant ID to authenticate to.

def to_dict(self)
8377    def to_dict(self):
8378        return {
8379            'app_id': self.app_id,
8380            'bind_interface': self.bind_interface,
8381            'egress_filter': self.egress_filter,
8382            'healthy': self.healthy,
8383            'id': self.id,
8384            'name': self.name,
8385            'password': self.password,
8386            'port_override': self.port_override,
8387            'proxy_cluster_id': self.proxy_cluster_id,
8388            'secret_store_id': self.secret_store_id,
8389            'subdomain': self.subdomain,
8390            'tags': self.tags,
8391            'tenant_id': self.tenant_id,
8392        }
@classmethod
def from_dict(cls, d)
8394    @classmethod
8395    def from_dict(cls, d):
8396        return cls(
8397            app_id=d.get('app_id'),
8398            bind_interface=d.get('bind_interface'),
8399            egress_filter=d.get('egress_filter'),
8400            healthy=d.get('healthy'),
8401            id=d.get('id'),
8402            name=d.get('name'),
8403            password=d.get('password'),
8404            port_override=d.get('port_override'),
8405            proxy_cluster_id=d.get('proxy_cluster_id'),
8406            secret_store_id=d.get('secret_store_id'),
8407            subdomain=d.get('subdomain'),
8408            tags=d.get('tags'),
8409            tenant_id=d.get('tenant_id'),
8410        )
class AzureCertificate:
8413class AzureCertificate:
8414    __slots__ = [
8415        'app_id',
8416        'bind_interface',
8417        'client_certificate',
8418        'egress_filter',
8419        'healthy',
8420        'id',
8421        'name',
8422        'port_override',
8423        'proxy_cluster_id',
8424        'secret_store_id',
8425        'subdomain',
8426        'tags',
8427        'tenant_id',
8428    ]
8429
8430    def __init__(
8431        self,
8432        app_id=None,
8433        bind_interface=None,
8434        client_certificate=None,
8435        egress_filter=None,
8436        healthy=None,
8437        id=None,
8438        name=None,
8439        port_override=None,
8440        proxy_cluster_id=None,
8441        secret_store_id=None,
8442        subdomain=None,
8443        tags=None,
8444        tenant_id=None,
8445    ):
8446        self.app_id = app_id if app_id is not None else ''
8447        '''
8448         The application ID to authenticate with.
8449        '''
8450        self.bind_interface = bind_interface if bind_interface is not None else ''
8451        '''
8452         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8453        '''
8454        self.client_certificate = client_certificate if client_certificate is not None else ''
8455        '''
8456         The service Principal certificate file, both private and public key included.
8457        '''
8458        self.egress_filter = egress_filter if egress_filter is not None else ''
8459        '''
8460         A filter applied to the routing logic to pin datasource to nodes.
8461        '''
8462        self.healthy = healthy if healthy is not None else False
8463        '''
8464         True if the datasource is reachable and the credentials are valid.
8465        '''
8466        self.id = id if id is not None else ''
8467        '''
8468         Unique identifier of the Resource.
8469        '''
8470        self.name = name if name is not None else ''
8471        '''
8472         Unique human-readable name of the Resource.
8473        '''
8474        self.port_override = port_override if port_override is not None else 0
8475        '''
8476         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8477        '''
8478        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8479        '''
8480         ID of the proxy cluster for this resource, if any.
8481        '''
8482        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8483        '''
8484         ID of the secret store containing credentials for this resource, if any.
8485        '''
8486        self.subdomain = subdomain if subdomain is not None else ''
8487        '''
8488         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8489        '''
8490        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8491        '''
8492         Tags is a map of key, value pairs.
8493        '''
8494        self.tenant_id = tenant_id if tenant_id is not None else ''
8495        '''
8496         The tenant ID to authenticate to.
8497        '''
8498
8499    def __repr__(self):
8500        return '<sdm.AzureCertificate ' + \
8501            'app_id: ' + repr(self.app_id) + ' ' +\
8502            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8503            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
8504            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8505            'healthy: ' + repr(self.healthy) + ' ' +\
8506            'id: ' + repr(self.id) + ' ' +\
8507            'name: ' + repr(self.name) + ' ' +\
8508            'port_override: ' + repr(self.port_override) + ' ' +\
8509            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8510            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8511            'subdomain: ' + repr(self.subdomain) + ' ' +\
8512            'tags: ' + repr(self.tags) + ' ' +\
8513            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
8514            '>'
8515
8516    def to_dict(self):
8517        return {
8518            'app_id': self.app_id,
8519            'bind_interface': self.bind_interface,
8520            'client_certificate': self.client_certificate,
8521            'egress_filter': self.egress_filter,
8522            'healthy': self.healthy,
8523            'id': self.id,
8524            'name': self.name,
8525            'port_override': self.port_override,
8526            'proxy_cluster_id': self.proxy_cluster_id,
8527            'secret_store_id': self.secret_store_id,
8528            'subdomain': self.subdomain,
8529            'tags': self.tags,
8530            'tenant_id': self.tenant_id,
8531        }
8532
8533    @classmethod
8534    def from_dict(cls, d):
8535        return cls(
8536            app_id=d.get('app_id'),
8537            bind_interface=d.get('bind_interface'),
8538            client_certificate=d.get('client_certificate'),
8539            egress_filter=d.get('egress_filter'),
8540            healthy=d.get('healthy'),
8541            id=d.get('id'),
8542            name=d.get('name'),
8543            port_override=d.get('port_override'),
8544            proxy_cluster_id=d.get('proxy_cluster_id'),
8545            secret_store_id=d.get('secret_store_id'),
8546            subdomain=d.get('subdomain'),
8547            tags=d.get('tags'),
8548            tenant_id=d.get('tenant_id'),
8549        )
AzureCertificate( app_id=None, bind_interface=None, client_certificate=None, egress_filter=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tenant_id=None)
8430    def __init__(
8431        self,
8432        app_id=None,
8433        bind_interface=None,
8434        client_certificate=None,
8435        egress_filter=None,
8436        healthy=None,
8437        id=None,
8438        name=None,
8439        port_override=None,
8440        proxy_cluster_id=None,
8441        secret_store_id=None,
8442        subdomain=None,
8443        tags=None,
8444        tenant_id=None,
8445    ):
8446        self.app_id = app_id if app_id is not None else ''
8447        '''
8448         The application ID to authenticate with.
8449        '''
8450        self.bind_interface = bind_interface if bind_interface is not None else ''
8451        '''
8452         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8453        '''
8454        self.client_certificate = client_certificate if client_certificate is not None else ''
8455        '''
8456         The service Principal certificate file, both private and public key included.
8457        '''
8458        self.egress_filter = egress_filter if egress_filter is not None else ''
8459        '''
8460         A filter applied to the routing logic to pin datasource to nodes.
8461        '''
8462        self.healthy = healthy if healthy is not None else False
8463        '''
8464         True if the datasource is reachable and the credentials are valid.
8465        '''
8466        self.id = id if id is not None else ''
8467        '''
8468         Unique identifier of the Resource.
8469        '''
8470        self.name = name if name is not None else ''
8471        '''
8472         Unique human-readable name of the Resource.
8473        '''
8474        self.port_override = port_override if port_override is not None else 0
8475        '''
8476         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8477        '''
8478        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8479        '''
8480         ID of the proxy cluster for this resource, if any.
8481        '''
8482        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8483        '''
8484         ID of the secret store containing credentials for this resource, if any.
8485        '''
8486        self.subdomain = subdomain if subdomain is not None else ''
8487        '''
8488         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8489        '''
8490        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8491        '''
8492         Tags is a map of key, value pairs.
8493        '''
8494        self.tenant_id = tenant_id if tenant_id is not None else ''
8495        '''
8496         The tenant ID to authenticate to.
8497        '''
app_id

The application ID to authenticate with.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

client_certificate

The service Principal certificate file, both private and public key included.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tenant_id

The tenant ID to authenticate to.

def to_dict(self)
8516    def to_dict(self):
8517        return {
8518            'app_id': self.app_id,
8519            'bind_interface': self.bind_interface,
8520            'client_certificate': self.client_certificate,
8521            'egress_filter': self.egress_filter,
8522            'healthy': self.healthy,
8523            'id': self.id,
8524            'name': self.name,
8525            'port_override': self.port_override,
8526            'proxy_cluster_id': self.proxy_cluster_id,
8527            'secret_store_id': self.secret_store_id,
8528            'subdomain': self.subdomain,
8529            'tags': self.tags,
8530            'tenant_id': self.tenant_id,
8531        }
@classmethod
def from_dict(cls, d)
8533    @classmethod
8534    def from_dict(cls, d):
8535        return cls(
8536            app_id=d.get('app_id'),
8537            bind_interface=d.get('bind_interface'),
8538            client_certificate=d.get('client_certificate'),
8539            egress_filter=d.get('egress_filter'),
8540            healthy=d.get('healthy'),
8541            id=d.get('id'),
8542            name=d.get('name'),
8543            port_override=d.get('port_override'),
8544            proxy_cluster_id=d.get('proxy_cluster_id'),
8545            secret_store_id=d.get('secret_store_id'),
8546            subdomain=d.get('subdomain'),
8547            tags=d.get('tags'),
8548            tenant_id=d.get('tenant_id'),
8549        )
class AzureConnector:
8552class AzureConnector:
8553    __slots__ = [
8554        'client_id',
8555        'description',
8556        'exclude_tags',
8557        'id',
8558        'include_tags',
8559        'name',
8560        'scan_period',
8561        'services',
8562        'subscription_ids',
8563        'tenant_id',
8564    ]
8565
8566    def __init__(
8567        self,
8568        client_id=None,
8569        description=None,
8570        exclude_tags=None,
8571        id=None,
8572        include_tags=None,
8573        name=None,
8574        scan_period=None,
8575        services=None,
8576        subscription_ids=None,
8577        tenant_id=None,
8578    ):
8579        self.client_id = client_id if client_id is not None else ''
8580        '''
8581         ClientId is the ID of the Application / Service Account we're acting as
8582        '''
8583        self.description = description if description is not None else ''
8584        '''
8585         Description of the Connector.
8586        '''
8587        self.exclude_tags = exclude_tags if exclude_tags is not None else []
8588        '''
8589         ExcludeTags filters out discovered resources that have the tag and value.
8590         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
8591        '''
8592        self.id = id if id is not None else ''
8593        '''
8594         Unique identifier of the Connector.
8595        '''
8596        self.include_tags = include_tags if include_tags is not None else []
8597        '''
8598         IncludeTags only discovers cloud resources that have one of the included tags.
8599         We do not allow duplicate tag names for IncludeTags
8600        '''
8601        self.name = name if name is not None else ''
8602        '''
8603         Unique human-readable name of the Connector.
8604        '''
8605        self.scan_period = scan_period if scan_period is not None else ''
8606        '''
8607         ScanPeriod identifies which remote system this Connector discovers
8608        '''
8609        self.services = services if services is not None else []
8610        '''
8611         Services is a list of services this connector should scan.
8612        '''
8613        self.subscription_ids = subscription_ids if subscription_ids is not None else []
8614        '''
8615         SubscriptionIds are the targets of discovery.
8616        '''
8617        self.tenant_id = tenant_id if tenant_id is not None else ''
8618        '''
8619         TenantId is the Azure Tenant we're discovering in
8620        '''
8621
8622    def __repr__(self):
8623        return '<sdm.AzureConnector ' + \
8624            'client_id: ' + repr(self.client_id) + ' ' +\
8625            'description: ' + repr(self.description) + ' ' +\
8626            'exclude_tags: ' + repr(self.exclude_tags) + ' ' +\
8627            'id: ' + repr(self.id) + ' ' +\
8628            'include_tags: ' + repr(self.include_tags) + ' ' +\
8629            'name: ' + repr(self.name) + ' ' +\
8630            'scan_period: ' + repr(self.scan_period) + ' ' +\
8631            'services: ' + repr(self.services) + ' ' +\
8632            'subscription_ids: ' + repr(self.subscription_ids) + ' ' +\
8633            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
8634            '>'
8635
8636    def to_dict(self):
8637        return {
8638            'client_id': self.client_id,
8639            'description': self.description,
8640            'exclude_tags': self.exclude_tags,
8641            'id': self.id,
8642            'include_tags': self.include_tags,
8643            'name': self.name,
8644            'scan_period': self.scan_period,
8645            'services': self.services,
8646            'subscription_ids': self.subscription_ids,
8647            'tenant_id': self.tenant_id,
8648        }
8649
8650    @classmethod
8651    def from_dict(cls, d):
8652        return cls(
8653            client_id=d.get('client_id'),
8654            description=d.get('description'),
8655            exclude_tags=d.get('exclude_tags'),
8656            id=d.get('id'),
8657            include_tags=d.get('include_tags'),
8658            name=d.get('name'),
8659            scan_period=d.get('scan_period'),
8660            services=d.get('services'),
8661            subscription_ids=d.get('subscription_ids'),
8662            tenant_id=d.get('tenant_id'),
8663        )
AzureConnector( client_id=None, description=None, exclude_tags=None, id=None, include_tags=None, name=None, scan_period=None, services=None, subscription_ids=None, tenant_id=None)
8566    def __init__(
8567        self,
8568        client_id=None,
8569        description=None,
8570        exclude_tags=None,
8571        id=None,
8572        include_tags=None,
8573        name=None,
8574        scan_period=None,
8575        services=None,
8576        subscription_ids=None,
8577        tenant_id=None,
8578    ):
8579        self.client_id = client_id if client_id is not None else ''
8580        '''
8581         ClientId is the ID of the Application / Service Account we're acting as
8582        '''
8583        self.description = description if description is not None else ''
8584        '''
8585         Description of the Connector.
8586        '''
8587        self.exclude_tags = exclude_tags if exclude_tags is not None else []
8588        '''
8589         ExcludeTags filters out discovered resources that have the tag and value.
8590         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
8591        '''
8592        self.id = id if id is not None else ''
8593        '''
8594         Unique identifier of the Connector.
8595        '''
8596        self.include_tags = include_tags if include_tags is not None else []
8597        '''
8598         IncludeTags only discovers cloud resources that have one of the included tags.
8599         We do not allow duplicate tag names for IncludeTags
8600        '''
8601        self.name = name if name is not None else ''
8602        '''
8603         Unique human-readable name of the Connector.
8604        '''
8605        self.scan_period = scan_period if scan_period is not None else ''
8606        '''
8607         ScanPeriod identifies which remote system this Connector discovers
8608        '''
8609        self.services = services if services is not None else []
8610        '''
8611         Services is a list of services this connector should scan.
8612        '''
8613        self.subscription_ids = subscription_ids if subscription_ids is not None else []
8614        '''
8615         SubscriptionIds are the targets of discovery.
8616        '''
8617        self.tenant_id = tenant_id if tenant_id is not None else ''
8618        '''
8619         TenantId is the Azure Tenant we're discovering in
8620        '''
client_id

ClientId is the ID of the Application / Service Account we're acting as

description

Description of the Connector.

exclude_tags

ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.

id

Unique identifier of the Connector.

include_tags

IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags

name

Unique human-readable name of the Connector.

scan_period

ScanPeriod identifies which remote system this Connector discovers

services

Services is a list of services this connector should scan.

subscription_ids

SubscriptionIds are the targets of discovery.

tenant_id

TenantId is the Azure Tenant we're discovering in

def to_dict(self)
8636    def to_dict(self):
8637        return {
8638            'client_id': self.client_id,
8639            'description': self.description,
8640            'exclude_tags': self.exclude_tags,
8641            'id': self.id,
8642            'include_tags': self.include_tags,
8643            'name': self.name,
8644            'scan_period': self.scan_period,
8645            'services': self.services,
8646            'subscription_ids': self.subscription_ids,
8647            'tenant_id': self.tenant_id,
8648        }
@classmethod
def from_dict(cls, d)
8650    @classmethod
8651    def from_dict(cls, d):
8652        return cls(
8653            client_id=d.get('client_id'),
8654            description=d.get('description'),
8655            exclude_tags=d.get('exclude_tags'),
8656            id=d.get('id'),
8657            include_tags=d.get('include_tags'),
8658            name=d.get('name'),
8659            scan_period=d.get('scan_period'),
8660            services=d.get('services'),
8661            subscription_ids=d.get('subscription_ids'),
8662            tenant_id=d.get('tenant_id'),
8663        )
class AzureMysql:
8666class AzureMysql:
8667    __slots__ = [
8668        'bind_interface',
8669        'database',
8670        'egress_filter',
8671        'healthy',
8672        'hostname',
8673        'id',
8674        'name',
8675        'password',
8676        'port',
8677        'port_override',
8678        'proxy_cluster_id',
8679        'require_native_auth',
8680        'secret_store_id',
8681        'subdomain',
8682        'tags',
8683        'use_azure_single_server_usernames',
8684        'username',
8685    ]
8686
8687    def __init__(
8688        self,
8689        bind_interface=None,
8690        database=None,
8691        egress_filter=None,
8692        healthy=None,
8693        hostname=None,
8694        id=None,
8695        name=None,
8696        password=None,
8697        port=None,
8698        port_override=None,
8699        proxy_cluster_id=None,
8700        require_native_auth=None,
8701        secret_store_id=None,
8702        subdomain=None,
8703        tags=None,
8704        use_azure_single_server_usernames=None,
8705        username=None,
8706    ):
8707        self.bind_interface = bind_interface if bind_interface is not None else ''
8708        '''
8709         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8710        '''
8711        self.database = database if database is not None else ''
8712        '''
8713         The database for healthchecks. Does not affect client requests.
8714        '''
8715        self.egress_filter = egress_filter if egress_filter is not None else ''
8716        '''
8717         A filter applied to the routing logic to pin datasource to nodes.
8718        '''
8719        self.healthy = healthy if healthy is not None else False
8720        '''
8721         True if the datasource is reachable and the credentials are valid.
8722        '''
8723        self.hostname = hostname if hostname is not None else ''
8724        '''
8725         The host to dial to initiate a connection from the egress node to this resource.
8726        '''
8727        self.id = id if id is not None else ''
8728        '''
8729         Unique identifier of the Resource.
8730        '''
8731        self.name = name if name is not None else ''
8732        '''
8733         Unique human-readable name of the Resource.
8734        '''
8735        self.password = password if password is not None else ''
8736        '''
8737         The password to authenticate with.
8738        '''
8739        self.port = port if port is not None else 0
8740        '''
8741         The port to dial to initiate a connection from the egress node to this resource.
8742        '''
8743        self.port_override = port_override if port_override is not None else 0
8744        '''
8745         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8746        '''
8747        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8748        '''
8749         ID of the proxy cluster for this resource, if any.
8750        '''
8751        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8752        '''
8753         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8754        '''
8755        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8756        '''
8757         ID of the secret store containing credentials for this resource, if any.
8758        '''
8759        self.subdomain = subdomain if subdomain is not None else ''
8760        '''
8761         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8762        '''
8763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8764        '''
8765         Tags is a map of key, value pairs.
8766        '''
8767        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8768        '''
8769         If true, appends the hostname to the username when hitting a database.azure.com address
8770        '''
8771        self.username = username if username is not None else ''
8772        '''
8773         The username to authenticate with.
8774        '''
8775
8776    def __repr__(self):
8777        return '<sdm.AzureMysql ' + \
8778            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8779            'database: ' + repr(self.database) + ' ' +\
8780            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8781            'healthy: ' + repr(self.healthy) + ' ' +\
8782            'hostname: ' + repr(self.hostname) + ' ' +\
8783            'id: ' + repr(self.id) + ' ' +\
8784            'name: ' + repr(self.name) + ' ' +\
8785            'password: ' + repr(self.password) + ' ' +\
8786            'port: ' + repr(self.port) + ' ' +\
8787            'port_override: ' + repr(self.port_override) + ' ' +\
8788            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8789            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8790            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8791            'subdomain: ' + repr(self.subdomain) + ' ' +\
8792            'tags: ' + repr(self.tags) + ' ' +\
8793            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8794            'username: ' + repr(self.username) + ' ' +\
8795            '>'
8796
8797    def to_dict(self):
8798        return {
8799            'bind_interface': self.bind_interface,
8800            'database': self.database,
8801            'egress_filter': self.egress_filter,
8802            'healthy': self.healthy,
8803            'hostname': self.hostname,
8804            'id': self.id,
8805            'name': self.name,
8806            'password': self.password,
8807            'port': self.port,
8808            'port_override': self.port_override,
8809            'proxy_cluster_id': self.proxy_cluster_id,
8810            'require_native_auth': self.require_native_auth,
8811            'secret_store_id': self.secret_store_id,
8812            'subdomain': self.subdomain,
8813            'tags': self.tags,
8814            'use_azure_single_server_usernames':
8815            self.use_azure_single_server_usernames,
8816            'username': self.username,
8817        }
8818
8819    @classmethod
8820    def from_dict(cls, d):
8821        return cls(
8822            bind_interface=d.get('bind_interface'),
8823            database=d.get('database'),
8824            egress_filter=d.get('egress_filter'),
8825            healthy=d.get('healthy'),
8826            hostname=d.get('hostname'),
8827            id=d.get('id'),
8828            name=d.get('name'),
8829            password=d.get('password'),
8830            port=d.get('port'),
8831            port_override=d.get('port_override'),
8832            proxy_cluster_id=d.get('proxy_cluster_id'),
8833            require_native_auth=d.get('require_native_auth'),
8834            secret_store_id=d.get('secret_store_id'),
8835            subdomain=d.get('subdomain'),
8836            tags=d.get('tags'),
8837            use_azure_single_server_usernames=d.get(
8838                'use_azure_single_server_usernames'),
8839            username=d.get('username'),
8840        )
AzureMysql( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
8687    def __init__(
8688        self,
8689        bind_interface=None,
8690        database=None,
8691        egress_filter=None,
8692        healthy=None,
8693        hostname=None,
8694        id=None,
8695        name=None,
8696        password=None,
8697        port=None,
8698        port_override=None,
8699        proxy_cluster_id=None,
8700        require_native_auth=None,
8701        secret_store_id=None,
8702        subdomain=None,
8703        tags=None,
8704        use_azure_single_server_usernames=None,
8705        username=None,
8706    ):
8707        self.bind_interface = bind_interface if bind_interface is not None else ''
8708        '''
8709         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8710        '''
8711        self.database = database if database is not None else ''
8712        '''
8713         The database for healthchecks. Does not affect client requests.
8714        '''
8715        self.egress_filter = egress_filter if egress_filter is not None else ''
8716        '''
8717         A filter applied to the routing logic to pin datasource to nodes.
8718        '''
8719        self.healthy = healthy if healthy is not None else False
8720        '''
8721         True if the datasource is reachable and the credentials are valid.
8722        '''
8723        self.hostname = hostname if hostname is not None else ''
8724        '''
8725         The host to dial to initiate a connection from the egress node to this resource.
8726        '''
8727        self.id = id if id is not None else ''
8728        '''
8729         Unique identifier of the Resource.
8730        '''
8731        self.name = name if name is not None else ''
8732        '''
8733         Unique human-readable name of the Resource.
8734        '''
8735        self.password = password if password is not None else ''
8736        '''
8737         The password to authenticate with.
8738        '''
8739        self.port = port if port is not None else 0
8740        '''
8741         The port to dial to initiate a connection from the egress node to this resource.
8742        '''
8743        self.port_override = port_override if port_override is not None else 0
8744        '''
8745         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8746        '''
8747        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8748        '''
8749         ID of the proxy cluster for this resource, if any.
8750        '''
8751        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8752        '''
8753         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8754        '''
8755        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8756        '''
8757         ID of the secret store containing credentials for this resource, if any.
8758        '''
8759        self.subdomain = subdomain if subdomain is not None else ''
8760        '''
8761         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8762        '''
8763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8764        '''
8765         Tags is a map of key, value pairs.
8766        '''
8767        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8768        '''
8769         If true, appends the hostname to the username when hitting a database.azure.com address
8770        '''
8771        self.username = username if username is not None else ''
8772        '''
8773         The username to authenticate with.
8774        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
8797    def to_dict(self):
8798        return {
8799            'bind_interface': self.bind_interface,
8800            'database': self.database,
8801            'egress_filter': self.egress_filter,
8802            'healthy': self.healthy,
8803            'hostname': self.hostname,
8804            'id': self.id,
8805            'name': self.name,
8806            'password': self.password,
8807            'port': self.port,
8808            'port_override': self.port_override,
8809            'proxy_cluster_id': self.proxy_cluster_id,
8810            'require_native_auth': self.require_native_auth,
8811            'secret_store_id': self.secret_store_id,
8812            'subdomain': self.subdomain,
8813            'tags': self.tags,
8814            'use_azure_single_server_usernames':
8815            self.use_azure_single_server_usernames,
8816            'username': self.username,
8817        }
@classmethod
def from_dict(cls, d)
8819    @classmethod
8820    def from_dict(cls, d):
8821        return cls(
8822            bind_interface=d.get('bind_interface'),
8823            database=d.get('database'),
8824            egress_filter=d.get('egress_filter'),
8825            healthy=d.get('healthy'),
8826            hostname=d.get('hostname'),
8827            id=d.get('id'),
8828            name=d.get('name'),
8829            password=d.get('password'),
8830            port=d.get('port'),
8831            port_override=d.get('port_override'),
8832            proxy_cluster_id=d.get('proxy_cluster_id'),
8833            require_native_auth=d.get('require_native_auth'),
8834            secret_store_id=d.get('secret_store_id'),
8835            subdomain=d.get('subdomain'),
8836            tags=d.get('tags'),
8837            use_azure_single_server_usernames=d.get(
8838                'use_azure_single_server_usernames'),
8839            username=d.get('username'),
8840        )
class AzureMysqlManagedIdentity:
8843class AzureMysqlManagedIdentity:
8844    __slots__ = [
8845        'bind_interface',
8846        'database',
8847        'egress_filter',
8848        'healthy',
8849        'hostname',
8850        'id',
8851        'name',
8852        'password',
8853        'port',
8854        'port_override',
8855        'proxy_cluster_id',
8856        'secret_store_id',
8857        'subdomain',
8858        'tags',
8859        'use_azure_single_server_usernames',
8860        'username',
8861    ]
8862
8863    def __init__(
8864        self,
8865        bind_interface=None,
8866        database=None,
8867        egress_filter=None,
8868        healthy=None,
8869        hostname=None,
8870        id=None,
8871        name=None,
8872        password=None,
8873        port=None,
8874        port_override=None,
8875        proxy_cluster_id=None,
8876        secret_store_id=None,
8877        subdomain=None,
8878        tags=None,
8879        use_azure_single_server_usernames=None,
8880        username=None,
8881    ):
8882        self.bind_interface = bind_interface if bind_interface is not None else ''
8883        '''
8884         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8885        '''
8886        self.database = database if database is not None else ''
8887        '''
8888         The database for healthchecks. Does not affect client requests.
8889        '''
8890        self.egress_filter = egress_filter if egress_filter is not None else ''
8891        '''
8892         A filter applied to the routing logic to pin datasource to nodes.
8893        '''
8894        self.healthy = healthy if healthy is not None else False
8895        '''
8896         True if the datasource is reachable and the credentials are valid.
8897        '''
8898        self.hostname = hostname if hostname is not None else ''
8899        '''
8900         The host to dial to initiate a connection from the egress node to this resource.
8901        '''
8902        self.id = id if id is not None else ''
8903        '''
8904         Unique identifier of the Resource.
8905        '''
8906        self.name = name if name is not None else ''
8907        '''
8908         Unique human-readable name of the Resource.
8909        '''
8910        self.password = password if password is not None else ''
8911        '''
8912         The password to authenticate with.
8913        '''
8914        self.port = port if port is not None else 0
8915        '''
8916         The port to dial to initiate a connection from the egress node to this resource.
8917        '''
8918        self.port_override = port_override if port_override is not None else 0
8919        '''
8920         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8921        '''
8922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8923        '''
8924         ID of the proxy cluster for this resource, if any.
8925        '''
8926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8927        '''
8928         ID of the secret store containing credentials for this resource, if any.
8929        '''
8930        self.subdomain = subdomain if subdomain is not None else ''
8931        '''
8932         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8933        '''
8934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8935        '''
8936         Tags is a map of key, value pairs.
8937        '''
8938        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8939        '''
8940         If true, appends the hostname to the username when hitting a database.azure.com address
8941        '''
8942        self.username = username if username is not None else ''
8943        '''
8944         The username to authenticate with.
8945        '''
8946
8947    def __repr__(self):
8948        return '<sdm.AzureMysqlManagedIdentity ' + \
8949            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8950            'database: ' + repr(self.database) + ' ' +\
8951            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8952            'healthy: ' + repr(self.healthy) + ' ' +\
8953            'hostname: ' + repr(self.hostname) + ' ' +\
8954            'id: ' + repr(self.id) + ' ' +\
8955            'name: ' + repr(self.name) + ' ' +\
8956            'password: ' + repr(self.password) + ' ' +\
8957            'port: ' + repr(self.port) + ' ' +\
8958            'port_override: ' + repr(self.port_override) + ' ' +\
8959            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8960            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8961            'subdomain: ' + repr(self.subdomain) + ' ' +\
8962            'tags: ' + repr(self.tags) + ' ' +\
8963            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8964            'username: ' + repr(self.username) + ' ' +\
8965            '>'
8966
8967    def to_dict(self):
8968        return {
8969            'bind_interface': self.bind_interface,
8970            'database': self.database,
8971            'egress_filter': self.egress_filter,
8972            'healthy': self.healthy,
8973            'hostname': self.hostname,
8974            'id': self.id,
8975            'name': self.name,
8976            'password': self.password,
8977            'port': self.port,
8978            'port_override': self.port_override,
8979            'proxy_cluster_id': self.proxy_cluster_id,
8980            'secret_store_id': self.secret_store_id,
8981            'subdomain': self.subdomain,
8982            'tags': self.tags,
8983            'use_azure_single_server_usernames':
8984            self.use_azure_single_server_usernames,
8985            'username': self.username,
8986        }
8987
8988    @classmethod
8989    def from_dict(cls, d):
8990        return cls(
8991            bind_interface=d.get('bind_interface'),
8992            database=d.get('database'),
8993            egress_filter=d.get('egress_filter'),
8994            healthy=d.get('healthy'),
8995            hostname=d.get('hostname'),
8996            id=d.get('id'),
8997            name=d.get('name'),
8998            password=d.get('password'),
8999            port=d.get('port'),
9000            port_override=d.get('port_override'),
9001            proxy_cluster_id=d.get('proxy_cluster_id'),
9002            secret_store_id=d.get('secret_store_id'),
9003            subdomain=d.get('subdomain'),
9004            tags=d.get('tags'),
9005            use_azure_single_server_usernames=d.get(
9006                'use_azure_single_server_usernames'),
9007            username=d.get('username'),
9008        )
AzureMysqlManagedIdentity( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
8863    def __init__(
8864        self,
8865        bind_interface=None,
8866        database=None,
8867        egress_filter=None,
8868        healthy=None,
8869        hostname=None,
8870        id=None,
8871        name=None,
8872        password=None,
8873        port=None,
8874        port_override=None,
8875        proxy_cluster_id=None,
8876        secret_store_id=None,
8877        subdomain=None,
8878        tags=None,
8879        use_azure_single_server_usernames=None,
8880        username=None,
8881    ):
8882        self.bind_interface = bind_interface if bind_interface is not None else ''
8883        '''
8884         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8885        '''
8886        self.database = database if database is not None else ''
8887        '''
8888         The database for healthchecks. Does not affect client requests.
8889        '''
8890        self.egress_filter = egress_filter if egress_filter is not None else ''
8891        '''
8892         A filter applied to the routing logic to pin datasource to nodes.
8893        '''
8894        self.healthy = healthy if healthy is not None else False
8895        '''
8896         True if the datasource is reachable and the credentials are valid.
8897        '''
8898        self.hostname = hostname if hostname is not None else ''
8899        '''
8900         The host to dial to initiate a connection from the egress node to this resource.
8901        '''
8902        self.id = id if id is not None else ''
8903        '''
8904         Unique identifier of the Resource.
8905        '''
8906        self.name = name if name is not None else ''
8907        '''
8908         Unique human-readable name of the Resource.
8909        '''
8910        self.password = password if password is not None else ''
8911        '''
8912         The password to authenticate with.
8913        '''
8914        self.port = port if port is not None else 0
8915        '''
8916         The port to dial to initiate a connection from the egress node to this resource.
8917        '''
8918        self.port_override = port_override if port_override is not None else 0
8919        '''
8920         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8921        '''
8922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8923        '''
8924         ID of the proxy cluster for this resource, if any.
8925        '''
8926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8927        '''
8928         ID of the secret store containing credentials for this resource, if any.
8929        '''
8930        self.subdomain = subdomain if subdomain is not None else ''
8931        '''
8932         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8933        '''
8934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8935        '''
8936         Tags is a map of key, value pairs.
8937        '''
8938        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8939        '''
8940         If true, appends the hostname to the username when hitting a database.azure.com address
8941        '''
8942        self.username = username if username is not None else ''
8943        '''
8944         The username to authenticate with.
8945        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
8967    def to_dict(self):
8968        return {
8969            'bind_interface': self.bind_interface,
8970            'database': self.database,
8971            'egress_filter': self.egress_filter,
8972            'healthy': self.healthy,
8973            'hostname': self.hostname,
8974            'id': self.id,
8975            'name': self.name,
8976            'password': self.password,
8977            'port': self.port,
8978            'port_override': self.port_override,
8979            'proxy_cluster_id': self.proxy_cluster_id,
8980            'secret_store_id': self.secret_store_id,
8981            'subdomain': self.subdomain,
8982            'tags': self.tags,
8983            'use_azure_single_server_usernames':
8984            self.use_azure_single_server_usernames,
8985            'username': self.username,
8986        }
@classmethod
def from_dict(cls, d)
8988    @classmethod
8989    def from_dict(cls, d):
8990        return cls(
8991            bind_interface=d.get('bind_interface'),
8992            database=d.get('database'),
8993            egress_filter=d.get('egress_filter'),
8994            healthy=d.get('healthy'),
8995            hostname=d.get('hostname'),
8996            id=d.get('id'),
8997            name=d.get('name'),
8998            password=d.get('password'),
8999            port=d.get('port'),
9000            port_override=d.get('port_override'),
9001            proxy_cluster_id=d.get('proxy_cluster_id'),
9002            secret_store_id=d.get('secret_store_id'),
9003            subdomain=d.get('subdomain'),
9004            tags=d.get('tags'),
9005            use_azure_single_server_usernames=d.get(
9006                'use_azure_single_server_usernames'),
9007            username=d.get('username'),
9008        )
class AzurePostgres:
9011class AzurePostgres:
9012    __slots__ = [
9013        'bind_interface',
9014        'database',
9015        'egress_filter',
9016        'healthy',
9017        'hostname',
9018        'id',
9019        'name',
9020        'override_database',
9021        'password',
9022        'port',
9023        'port_override',
9024        'proxy_cluster_id',
9025        'secret_store_id',
9026        'subdomain',
9027        'tags',
9028        'username',
9029    ]
9030
9031    def __init__(
9032        self,
9033        bind_interface=None,
9034        database=None,
9035        egress_filter=None,
9036        healthy=None,
9037        hostname=None,
9038        id=None,
9039        name=None,
9040        override_database=None,
9041        password=None,
9042        port=None,
9043        port_override=None,
9044        proxy_cluster_id=None,
9045        secret_store_id=None,
9046        subdomain=None,
9047        tags=None,
9048        username=None,
9049    ):
9050        self.bind_interface = bind_interface if bind_interface is not None else ''
9051        '''
9052         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9053        '''
9054        self.database = database if database is not None else ''
9055        '''
9056         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9057        '''
9058        self.egress_filter = egress_filter if egress_filter is not None else ''
9059        '''
9060         A filter applied to the routing logic to pin datasource to nodes.
9061        '''
9062        self.healthy = healthy if healthy is not None else False
9063        '''
9064         True if the datasource is reachable and the credentials are valid.
9065        '''
9066        self.hostname = hostname if hostname is not None else ''
9067        '''
9068         The host to dial to initiate a connection from the egress node to this resource.
9069        '''
9070        self.id = id if id is not None else ''
9071        '''
9072         Unique identifier of the Resource.
9073        '''
9074        self.name = name if name is not None else ''
9075        '''
9076         Unique human-readable name of the Resource.
9077        '''
9078        self.override_database = override_database if override_database is not None else False
9079        '''
9080         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9081        '''
9082        self.password = password if password is not None else ''
9083        '''
9084         The password to authenticate with.
9085        '''
9086        self.port = port if port is not None else 0
9087        '''
9088         The port to dial to initiate a connection from the egress node to this resource.
9089        '''
9090        self.port_override = port_override if port_override is not None else 0
9091        '''
9092         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9093        '''
9094        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9095        '''
9096         ID of the proxy cluster for this resource, if any.
9097        '''
9098        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9099        '''
9100         ID of the secret store containing credentials for this resource, if any.
9101        '''
9102        self.subdomain = subdomain if subdomain is not None else ''
9103        '''
9104         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9105        '''
9106        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9107        '''
9108         Tags is a map of key, value pairs.
9109        '''
9110        self.username = username if username is not None else ''
9111        '''
9112         The username to authenticate with. For Azure Postgres, this also will include the hostname of the target server for Azure Single Server compatibility. For Flexible servers, use the normal Postgres type.
9113        '''
9114
9115    def __repr__(self):
9116        return '<sdm.AzurePostgres ' + \
9117            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9118            'database: ' + repr(self.database) + ' ' +\
9119            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9120            'healthy: ' + repr(self.healthy) + ' ' +\
9121            'hostname: ' + repr(self.hostname) + ' ' +\
9122            'id: ' + repr(self.id) + ' ' +\
9123            'name: ' + repr(self.name) + ' ' +\
9124            'override_database: ' + repr(self.override_database) + ' ' +\
9125            'password: ' + repr(self.password) + ' ' +\
9126            'port: ' + repr(self.port) + ' ' +\
9127            'port_override: ' + repr(self.port_override) + ' ' +\
9128            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9129            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9130            'subdomain: ' + repr(self.subdomain) + ' ' +\
9131            'tags: ' + repr(self.tags) + ' ' +\
9132            'username: ' + repr(self.username) + ' ' +\
9133            '>'
9134
9135    def to_dict(self):
9136        return {
9137            'bind_interface': self.bind_interface,
9138            'database': self.database,
9139            'egress_filter': self.egress_filter,
9140            'healthy': self.healthy,
9141            'hostname': self.hostname,
9142            'id': self.id,
9143            'name': self.name,
9144            'override_database': self.override_database,
9145            'password': self.password,
9146            'port': self.port,
9147            'port_override': self.port_override,
9148            'proxy_cluster_id': self.proxy_cluster_id,
9149            'secret_store_id': self.secret_store_id,
9150            'subdomain': self.subdomain,
9151            'tags': self.tags,
9152            'username': self.username,
9153        }
9154
9155    @classmethod
9156    def from_dict(cls, d):
9157        return cls(
9158            bind_interface=d.get('bind_interface'),
9159            database=d.get('database'),
9160            egress_filter=d.get('egress_filter'),
9161            healthy=d.get('healthy'),
9162            hostname=d.get('hostname'),
9163            id=d.get('id'),
9164            name=d.get('name'),
9165            override_database=d.get('override_database'),
9166            password=d.get('password'),
9167            port=d.get('port'),
9168            port_override=d.get('port_override'),
9169            proxy_cluster_id=d.get('proxy_cluster_id'),
9170            secret_store_id=d.get('secret_store_id'),
9171            subdomain=d.get('subdomain'),
9172            tags=d.get('tags'),
9173            username=d.get('username'),
9174        )
AzurePostgres( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
9031    def __init__(
9032        self,
9033        bind_interface=None,
9034        database=None,
9035        egress_filter=None,
9036        healthy=None,
9037        hostname=None,
9038        id=None,
9039        name=None,
9040        override_database=None,
9041        password=None,
9042        port=None,
9043        port_override=None,
9044        proxy_cluster_id=None,
9045        secret_store_id=None,
9046        subdomain=None,
9047        tags=None,
9048        username=None,
9049    ):
9050        self.bind_interface = bind_interface if bind_interface is not None else ''
9051        '''
9052         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9053        '''
9054        self.database = database if database is not None else ''
9055        '''
9056         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9057        '''
9058        self.egress_filter = egress_filter if egress_filter is not None else ''
9059        '''
9060         A filter applied to the routing logic to pin datasource to nodes.
9061        '''
9062        self.healthy = healthy if healthy is not None else False
9063        '''
9064         True if the datasource is reachable and the credentials are valid.
9065        '''
9066        self.hostname = hostname if hostname is not None else ''
9067        '''
9068         The host to dial to initiate a connection from the egress node to this resource.
9069        '''
9070        self.id = id if id is not None else ''
9071        '''
9072         Unique identifier of the Resource.
9073        '''
9074        self.name = name if name is not None else ''
9075        '''
9076         Unique human-readable name of the Resource.
9077        '''
9078        self.override_database = override_database if override_database is not None else False
9079        '''
9080         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9081        '''
9082        self.password = password if password is not None else ''
9083        '''
9084         The password to authenticate with.
9085        '''
9086        self.port = port if port is not None else 0
9087        '''
9088         The port to dial to initiate a connection from the egress node to this resource.
9089        '''
9090        self.port_override = port_override if port_override is not None else 0
9091        '''
9092         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9093        '''
9094        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9095        '''
9096         ID of the proxy cluster for this resource, if any.
9097        '''
9098        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9099        '''
9100         ID of the secret store containing credentials for this resource, if any.
9101        '''
9102        self.subdomain = subdomain if subdomain is not None else ''
9103        '''
9104         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9105        '''
9106        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9107        '''
9108         Tags is a map of key, value pairs.
9109        '''
9110        self.username = username if username is not None else ''
9111        '''
9112         The username to authenticate with. For Azure Postgres, this also will include the hostname of the target server for Azure Single Server compatibility. For Flexible servers, use the normal Postgres type.
9113        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with. For Azure Postgres, this also will include the hostname of the target server for Azure Single Server compatibility. For Flexible servers, use the normal Postgres type.

def to_dict(self)
9135    def to_dict(self):
9136        return {
9137            'bind_interface': self.bind_interface,
9138            'database': self.database,
9139            'egress_filter': self.egress_filter,
9140            'healthy': self.healthy,
9141            'hostname': self.hostname,
9142            'id': self.id,
9143            'name': self.name,
9144            'override_database': self.override_database,
9145            'password': self.password,
9146            'port': self.port,
9147            'port_override': self.port_override,
9148            'proxy_cluster_id': self.proxy_cluster_id,
9149            'secret_store_id': self.secret_store_id,
9150            'subdomain': self.subdomain,
9151            'tags': self.tags,
9152            'username': self.username,
9153        }
@classmethod
def from_dict(cls, d)
9155    @classmethod
9156    def from_dict(cls, d):
9157        return cls(
9158            bind_interface=d.get('bind_interface'),
9159            database=d.get('database'),
9160            egress_filter=d.get('egress_filter'),
9161            healthy=d.get('healthy'),
9162            hostname=d.get('hostname'),
9163            id=d.get('id'),
9164            name=d.get('name'),
9165            override_database=d.get('override_database'),
9166            password=d.get('password'),
9167            port=d.get('port'),
9168            port_override=d.get('port_override'),
9169            proxy_cluster_id=d.get('proxy_cluster_id'),
9170            secret_store_id=d.get('secret_store_id'),
9171            subdomain=d.get('subdomain'),
9172            tags=d.get('tags'),
9173            username=d.get('username'),
9174        )
class AzurePostgresManagedIdentity:
9177class AzurePostgresManagedIdentity:
9178    __slots__ = [
9179        'bind_interface',
9180        'database',
9181        'egress_filter',
9182        'healthy',
9183        'hostname',
9184        'id',
9185        'name',
9186        'override_database',
9187        'password',
9188        'port',
9189        'port_override',
9190        'proxy_cluster_id',
9191        'secret_store_id',
9192        'subdomain',
9193        'tags',
9194        'use_azure_single_server_usernames',
9195        'username',
9196    ]
9197
9198    def __init__(
9199        self,
9200        bind_interface=None,
9201        database=None,
9202        egress_filter=None,
9203        healthy=None,
9204        hostname=None,
9205        id=None,
9206        name=None,
9207        override_database=None,
9208        password=None,
9209        port=None,
9210        port_override=None,
9211        proxy_cluster_id=None,
9212        secret_store_id=None,
9213        subdomain=None,
9214        tags=None,
9215        use_azure_single_server_usernames=None,
9216        username=None,
9217    ):
9218        self.bind_interface = bind_interface if bind_interface is not None else ''
9219        '''
9220         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9221        '''
9222        self.database = database if database is not None else ''
9223        '''
9224         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9225        '''
9226        self.egress_filter = egress_filter if egress_filter is not None else ''
9227        '''
9228         A filter applied to the routing logic to pin datasource to nodes.
9229        '''
9230        self.healthy = healthy if healthy is not None else False
9231        '''
9232         True if the datasource is reachable and the credentials are valid.
9233        '''
9234        self.hostname = hostname if hostname is not None else ''
9235        '''
9236         The host to dial to initiate a connection from the egress node to this resource.
9237        '''
9238        self.id = id if id is not None else ''
9239        '''
9240         Unique identifier of the Resource.
9241        '''
9242        self.name = name if name is not None else ''
9243        '''
9244         Unique human-readable name of the Resource.
9245        '''
9246        self.override_database = override_database if override_database is not None else False
9247        '''
9248         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9249        '''
9250        self.password = password if password is not None else ''
9251        '''
9252         The password to authenticate with.
9253        '''
9254        self.port = port if port is not None else 0
9255        '''
9256         The port to dial to initiate a connection from the egress node to this resource.
9257        '''
9258        self.port_override = port_override if port_override is not None else 0
9259        '''
9260         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9261        '''
9262        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9263        '''
9264         ID of the proxy cluster for this resource, if any.
9265        '''
9266        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9267        '''
9268         ID of the secret store containing credentials for this resource, if any.
9269        '''
9270        self.subdomain = subdomain if subdomain is not None else ''
9271        '''
9272         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9273        '''
9274        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9275        '''
9276         Tags is a map of key, value pairs.
9277        '''
9278        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
9279        '''
9280         If true, appends the hostname to the username when hitting a database.azure.com address
9281        '''
9282        self.username = username if username is not None else ''
9283        '''
9284         The username to authenticate with.
9285        '''
9286
9287    def __repr__(self):
9288        return '<sdm.AzurePostgresManagedIdentity ' + \
9289            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9290            'database: ' + repr(self.database) + ' ' +\
9291            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9292            'healthy: ' + repr(self.healthy) + ' ' +\
9293            'hostname: ' + repr(self.hostname) + ' ' +\
9294            'id: ' + repr(self.id) + ' ' +\
9295            'name: ' + repr(self.name) + ' ' +\
9296            'override_database: ' + repr(self.override_database) + ' ' +\
9297            'password: ' + repr(self.password) + ' ' +\
9298            'port: ' + repr(self.port) + ' ' +\
9299            'port_override: ' + repr(self.port_override) + ' ' +\
9300            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9301            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9302            'subdomain: ' + repr(self.subdomain) + ' ' +\
9303            'tags: ' + repr(self.tags) + ' ' +\
9304            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
9305            'username: ' + repr(self.username) + ' ' +\
9306            '>'
9307
9308    def to_dict(self):
9309        return {
9310            'bind_interface': self.bind_interface,
9311            'database': self.database,
9312            'egress_filter': self.egress_filter,
9313            'healthy': self.healthy,
9314            'hostname': self.hostname,
9315            'id': self.id,
9316            'name': self.name,
9317            'override_database': self.override_database,
9318            'password': self.password,
9319            'port': self.port,
9320            'port_override': self.port_override,
9321            'proxy_cluster_id': self.proxy_cluster_id,
9322            'secret_store_id': self.secret_store_id,
9323            'subdomain': self.subdomain,
9324            'tags': self.tags,
9325            'use_azure_single_server_usernames':
9326            self.use_azure_single_server_usernames,
9327            'username': self.username,
9328        }
9329
9330    @classmethod
9331    def from_dict(cls, d):
9332        return cls(
9333            bind_interface=d.get('bind_interface'),
9334            database=d.get('database'),
9335            egress_filter=d.get('egress_filter'),
9336            healthy=d.get('healthy'),
9337            hostname=d.get('hostname'),
9338            id=d.get('id'),
9339            name=d.get('name'),
9340            override_database=d.get('override_database'),
9341            password=d.get('password'),
9342            port=d.get('port'),
9343            port_override=d.get('port_override'),
9344            proxy_cluster_id=d.get('proxy_cluster_id'),
9345            secret_store_id=d.get('secret_store_id'),
9346            subdomain=d.get('subdomain'),
9347            tags=d.get('tags'),
9348            use_azure_single_server_usernames=d.get(
9349                'use_azure_single_server_usernames'),
9350            username=d.get('username'),
9351        )
AzurePostgresManagedIdentity( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
9198    def __init__(
9199        self,
9200        bind_interface=None,
9201        database=None,
9202        egress_filter=None,
9203        healthy=None,
9204        hostname=None,
9205        id=None,
9206        name=None,
9207        override_database=None,
9208        password=None,
9209        port=None,
9210        port_override=None,
9211        proxy_cluster_id=None,
9212        secret_store_id=None,
9213        subdomain=None,
9214        tags=None,
9215        use_azure_single_server_usernames=None,
9216        username=None,
9217    ):
9218        self.bind_interface = bind_interface if bind_interface is not None else ''
9219        '''
9220         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9221        '''
9222        self.database = database if database is not None else ''
9223        '''
9224         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9225        '''
9226        self.egress_filter = egress_filter if egress_filter is not None else ''
9227        '''
9228         A filter applied to the routing logic to pin datasource to nodes.
9229        '''
9230        self.healthy = healthy if healthy is not None else False
9231        '''
9232         True if the datasource is reachable and the credentials are valid.
9233        '''
9234        self.hostname = hostname if hostname is not None else ''
9235        '''
9236         The host to dial to initiate a connection from the egress node to this resource.
9237        '''
9238        self.id = id if id is not None else ''
9239        '''
9240         Unique identifier of the Resource.
9241        '''
9242        self.name = name if name is not None else ''
9243        '''
9244         Unique human-readable name of the Resource.
9245        '''
9246        self.override_database = override_database if override_database is not None else False
9247        '''
9248         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9249        '''
9250        self.password = password if password is not None else ''
9251        '''
9252         The password to authenticate with.
9253        '''
9254        self.port = port if port is not None else 0
9255        '''
9256         The port to dial to initiate a connection from the egress node to this resource.
9257        '''
9258        self.port_override = port_override if port_override is not None else 0
9259        '''
9260         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9261        '''
9262        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9263        '''
9264         ID of the proxy cluster for this resource, if any.
9265        '''
9266        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9267        '''
9268         ID of the secret store containing credentials for this resource, if any.
9269        '''
9270        self.subdomain = subdomain if subdomain is not None else ''
9271        '''
9272         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9273        '''
9274        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9275        '''
9276         Tags is a map of key, value pairs.
9277        '''
9278        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
9279        '''
9280         If true, appends the hostname to the username when hitting a database.azure.com address
9281        '''
9282        self.username = username if username is not None else ''
9283        '''
9284         The username to authenticate with.
9285        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
9308    def to_dict(self):
9309        return {
9310            'bind_interface': self.bind_interface,
9311            'database': self.database,
9312            'egress_filter': self.egress_filter,
9313            'healthy': self.healthy,
9314            'hostname': self.hostname,
9315            'id': self.id,
9316            'name': self.name,
9317            'override_database': self.override_database,
9318            'password': self.password,
9319            'port': self.port,
9320            'port_override': self.port_override,
9321            'proxy_cluster_id': self.proxy_cluster_id,
9322            'secret_store_id': self.secret_store_id,
9323            'subdomain': self.subdomain,
9324            'tags': self.tags,
9325            'use_azure_single_server_usernames':
9326            self.use_azure_single_server_usernames,
9327            'username': self.username,
9328        }
@classmethod
def from_dict(cls, d)
9330    @classmethod
9331    def from_dict(cls, d):
9332        return cls(
9333            bind_interface=d.get('bind_interface'),
9334            database=d.get('database'),
9335            egress_filter=d.get('egress_filter'),
9336            healthy=d.get('healthy'),
9337            hostname=d.get('hostname'),
9338            id=d.get('id'),
9339            name=d.get('name'),
9340            override_database=d.get('override_database'),
9341            password=d.get('password'),
9342            port=d.get('port'),
9343            port_override=d.get('port_override'),
9344            proxy_cluster_id=d.get('proxy_cluster_id'),
9345            secret_store_id=d.get('secret_store_id'),
9346            subdomain=d.get('subdomain'),
9347            tags=d.get('tags'),
9348            use_azure_single_server_usernames=d.get(
9349                'use_azure_single_server_usernames'),
9350            username=d.get('username'),
9351        )
class AzureStore:
9354class AzureStore:
9355    __slots__ = [
9356        'id',
9357        'name',
9358        'tags',
9359        'vault_uri',
9360    ]
9361
9362    def __init__(
9363        self,
9364        id=None,
9365        name=None,
9366        tags=None,
9367        vault_uri=None,
9368    ):
9369        self.id = id if id is not None else ''
9370        '''
9371         Unique identifier of the SecretStore.
9372        '''
9373        self.name = name if name is not None else ''
9374        '''
9375         Unique human-readable name of the SecretStore.
9376        '''
9377        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9378        '''
9379         Tags is a map of key, value pairs.
9380        '''
9381        self.vault_uri = vault_uri if vault_uri is not None else ''
9382        '''
9383         The URI of the key vault to target e.g. https://myvault.vault.azure.net
9384        '''
9385
9386    def __repr__(self):
9387        return '<sdm.AzureStore ' + \
9388            'id: ' + repr(self.id) + ' ' +\
9389            'name: ' + repr(self.name) + ' ' +\
9390            'tags: ' + repr(self.tags) + ' ' +\
9391            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
9392            '>'
9393
9394    def to_dict(self):
9395        return {
9396            'id': self.id,
9397            'name': self.name,
9398            'tags': self.tags,
9399            'vault_uri': self.vault_uri,
9400        }
9401
9402    @classmethod
9403    def from_dict(cls, d):
9404        return cls(
9405            id=d.get('id'),
9406            name=d.get('name'),
9407            tags=d.get('tags'),
9408            vault_uri=d.get('vault_uri'),
9409        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
9362    def __init__(
9363        self,
9364        id=None,
9365        name=None,
9366        tags=None,
9367        vault_uri=None,
9368    ):
9369        self.id = id if id is not None else ''
9370        '''
9371         Unique identifier of the SecretStore.
9372        '''
9373        self.name = name if name is not None else ''
9374        '''
9375         Unique human-readable name of the SecretStore.
9376        '''
9377        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9378        '''
9379         Tags is a map of key, value pairs.
9380        '''
9381        self.vault_uri = vault_uri if vault_uri is not None else ''
9382        '''
9383         The URI of the key vault to target e.g. https://myvault.vault.azure.net
9384        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

vault_uri

The URI of the key vault to target e.g. https://myvault.vault.azure.net

def to_dict(self)
9394    def to_dict(self):
9395        return {
9396            'id': self.id,
9397            'name': self.name,
9398            'tags': self.tags,
9399            'vault_uri': self.vault_uri,
9400        }
@classmethod
def from_dict(cls, d)
9402    @classmethod
9403    def from_dict(cls, d):
9404        return cls(
9405            id=d.get('id'),
9406            name=d.get('name'),
9407            tags=d.get('tags'),
9408            vault_uri=d.get('vault_uri'),
9409        )
class BigQuery:
9412class BigQuery:
9413    __slots__ = [
9414        'bind_interface',
9415        'egress_filter',
9416        'endpoint',
9417        'healthy',
9418        'id',
9419        'name',
9420        'port_override',
9421        'private_key',
9422        'project',
9423        'proxy_cluster_id',
9424        'secret_store_id',
9425        'subdomain',
9426        'tags',
9427        'username',
9428    ]
9429
9430    def __init__(
9431        self,
9432        bind_interface=None,
9433        egress_filter=None,
9434        endpoint=None,
9435        healthy=None,
9436        id=None,
9437        name=None,
9438        port_override=None,
9439        private_key=None,
9440        project=None,
9441        proxy_cluster_id=None,
9442        secret_store_id=None,
9443        subdomain=None,
9444        tags=None,
9445        username=None,
9446    ):
9447        self.bind_interface = bind_interface if bind_interface is not None else ''
9448        '''
9449         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9450        '''
9451        self.egress_filter = egress_filter if egress_filter is not None else ''
9452        '''
9453         A filter applied to the routing logic to pin datasource to nodes.
9454        '''
9455        self.endpoint = endpoint if endpoint is not None else ''
9456        '''
9457         The endpoint to dial.
9458        '''
9459        self.healthy = healthy if healthy is not None else False
9460        '''
9461         True if the datasource is reachable and the credentials are valid.
9462        '''
9463        self.id = id if id is not None else ''
9464        '''
9465         Unique identifier of the Resource.
9466        '''
9467        self.name = name if name is not None else ''
9468        '''
9469         Unique human-readable name of the Resource.
9470        '''
9471        self.port_override = port_override if port_override is not None else 0
9472        '''
9473         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9474        '''
9475        self.private_key = private_key if private_key is not None else ''
9476        '''
9477         The JSON Private key to authenticate with.
9478        '''
9479        self.project = project if project is not None else ''
9480        '''
9481         The project to connect to.
9482        '''
9483        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9484        '''
9485         ID of the proxy cluster for this resource, if any.
9486        '''
9487        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9488        '''
9489         ID of the secret store containing credentials for this resource, if any.
9490        '''
9491        self.subdomain = subdomain if subdomain is not None else ''
9492        '''
9493         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9494        '''
9495        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9496        '''
9497         Tags is a map of key, value pairs.
9498        '''
9499        self.username = username if username is not None else ''
9500        '''
9501         The username to authenticate with.
9502        '''
9503
9504    def __repr__(self):
9505        return '<sdm.BigQuery ' + \
9506            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9507            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9508            'endpoint: ' + repr(self.endpoint) + ' ' +\
9509            'healthy: ' + repr(self.healthy) + ' ' +\
9510            'id: ' + repr(self.id) + ' ' +\
9511            'name: ' + repr(self.name) + ' ' +\
9512            'port_override: ' + repr(self.port_override) + ' ' +\
9513            'private_key: ' + repr(self.private_key) + ' ' +\
9514            'project: ' + repr(self.project) + ' ' +\
9515            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9516            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9517            'subdomain: ' + repr(self.subdomain) + ' ' +\
9518            'tags: ' + repr(self.tags) + ' ' +\
9519            'username: ' + repr(self.username) + ' ' +\
9520            '>'
9521
9522    def to_dict(self):
9523        return {
9524            'bind_interface': self.bind_interface,
9525            'egress_filter': self.egress_filter,
9526            'endpoint': self.endpoint,
9527            'healthy': self.healthy,
9528            'id': self.id,
9529            'name': self.name,
9530            'port_override': self.port_override,
9531            'private_key': self.private_key,
9532            'project': self.project,
9533            'proxy_cluster_id': self.proxy_cluster_id,
9534            'secret_store_id': self.secret_store_id,
9535            'subdomain': self.subdomain,
9536            'tags': self.tags,
9537            'username': self.username,
9538        }
9539
9540    @classmethod
9541    def from_dict(cls, d):
9542        return cls(
9543            bind_interface=d.get('bind_interface'),
9544            egress_filter=d.get('egress_filter'),
9545            endpoint=d.get('endpoint'),
9546            healthy=d.get('healthy'),
9547            id=d.get('id'),
9548            name=d.get('name'),
9549            port_override=d.get('port_override'),
9550            private_key=d.get('private_key'),
9551            project=d.get('project'),
9552            proxy_cluster_id=d.get('proxy_cluster_id'),
9553            secret_store_id=d.get('secret_store_id'),
9554            subdomain=d.get('subdomain'),
9555            tags=d.get('tags'),
9556            username=d.get('username'),
9557        )
BigQuery( bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, private_key=None, project=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
9430    def __init__(
9431        self,
9432        bind_interface=None,
9433        egress_filter=None,
9434        endpoint=None,
9435        healthy=None,
9436        id=None,
9437        name=None,
9438        port_override=None,
9439        private_key=None,
9440        project=None,
9441        proxy_cluster_id=None,
9442        secret_store_id=None,
9443        subdomain=None,
9444        tags=None,
9445        username=None,
9446    ):
9447        self.bind_interface = bind_interface if bind_interface is not None else ''
9448        '''
9449         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9450        '''
9451        self.egress_filter = egress_filter if egress_filter is not None else ''
9452        '''
9453         A filter applied to the routing logic to pin datasource to nodes.
9454        '''
9455        self.endpoint = endpoint if endpoint is not None else ''
9456        '''
9457         The endpoint to dial.
9458        '''
9459        self.healthy = healthy if healthy is not None else False
9460        '''
9461         True if the datasource is reachable and the credentials are valid.
9462        '''
9463        self.id = id if id is not None else ''
9464        '''
9465         Unique identifier of the Resource.
9466        '''
9467        self.name = name if name is not None else ''
9468        '''
9469         Unique human-readable name of the Resource.
9470        '''
9471        self.port_override = port_override if port_override is not None else 0
9472        '''
9473         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9474        '''
9475        self.private_key = private_key if private_key is not None else ''
9476        '''
9477         The JSON Private key to authenticate with.
9478        '''
9479        self.project = project if project is not None else ''
9480        '''
9481         The project to connect to.
9482        '''
9483        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9484        '''
9485         ID of the proxy cluster for this resource, if any.
9486        '''
9487        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9488        '''
9489         ID of the secret store containing credentials for this resource, if any.
9490        '''
9491        self.subdomain = subdomain if subdomain is not None else ''
9492        '''
9493         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9494        '''
9495        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9496        '''
9497         Tags is a map of key, value pairs.
9498        '''
9499        self.username = username if username is not None else ''
9500        '''
9501         The username to authenticate with.
9502        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

private_key

The JSON Private key to authenticate with.

project

The project to connect to.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
9522    def to_dict(self):
9523        return {
9524            'bind_interface': self.bind_interface,
9525            'egress_filter': self.egress_filter,
9526            'endpoint': self.endpoint,
9527            'healthy': self.healthy,
9528            'id': self.id,
9529            'name': self.name,
9530            'port_override': self.port_override,
9531            'private_key': self.private_key,
9532            'project': self.project,
9533            'proxy_cluster_id': self.proxy_cluster_id,
9534            'secret_store_id': self.secret_store_id,
9535            'subdomain': self.subdomain,
9536            'tags': self.tags,
9537            'username': self.username,
9538        }
@classmethod
def from_dict(cls, d)
9540    @classmethod
9541    def from_dict(cls, d):
9542        return cls(
9543            bind_interface=d.get('bind_interface'),
9544            egress_filter=d.get('egress_filter'),
9545            endpoint=d.get('endpoint'),
9546            healthy=d.get('healthy'),
9547            id=d.get('id'),
9548            name=d.get('name'),
9549            port_override=d.get('port_override'),
9550            private_key=d.get('private_key'),
9551            project=d.get('project'),
9552            proxy_cluster_id=d.get('proxy_cluster_id'),
9553            secret_store_id=d.get('secret_store_id'),
9554            subdomain=d.get('subdomain'),
9555            tags=d.get('tags'),
9556            username=d.get('username'),
9557        )
class Cassandra:
9560class Cassandra:
9561    __slots__ = [
9562        'bind_interface',
9563        'egress_filter',
9564        'healthy',
9565        'hostname',
9566        'id',
9567        'name',
9568        'password',
9569        'port',
9570        'port_override',
9571        'proxy_cluster_id',
9572        'secret_store_id',
9573        'subdomain',
9574        'tags',
9575        'tls_required',
9576        'username',
9577    ]
9578
9579    def __init__(
9580        self,
9581        bind_interface=None,
9582        egress_filter=None,
9583        healthy=None,
9584        hostname=None,
9585        id=None,
9586        name=None,
9587        password=None,
9588        port=None,
9589        port_override=None,
9590        proxy_cluster_id=None,
9591        secret_store_id=None,
9592        subdomain=None,
9593        tags=None,
9594        tls_required=None,
9595        username=None,
9596    ):
9597        self.bind_interface = bind_interface if bind_interface is not None else ''
9598        '''
9599         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9600        '''
9601        self.egress_filter = egress_filter if egress_filter is not None else ''
9602        '''
9603         A filter applied to the routing logic to pin datasource to nodes.
9604        '''
9605        self.healthy = healthy if healthy is not None else False
9606        '''
9607         True if the datasource is reachable and the credentials are valid.
9608        '''
9609        self.hostname = hostname if hostname is not None else ''
9610        '''
9611         The host to dial to initiate a connection from the egress node to this resource.
9612        '''
9613        self.id = id if id is not None else ''
9614        '''
9615         Unique identifier of the Resource.
9616        '''
9617        self.name = name if name is not None else ''
9618        '''
9619         Unique human-readable name of the Resource.
9620        '''
9621        self.password = password if password is not None else ''
9622        '''
9623         The password to authenticate with.
9624        '''
9625        self.port = port if port is not None else 0
9626        '''
9627         The port to dial to initiate a connection from the egress node to this resource.
9628        '''
9629        self.port_override = port_override if port_override is not None else 0
9630        '''
9631         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9632        '''
9633        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9634        '''
9635         ID of the proxy cluster for this resource, if any.
9636        '''
9637        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9638        '''
9639         ID of the secret store containing credentials for this resource, if any.
9640        '''
9641        self.subdomain = subdomain if subdomain is not None else ''
9642        '''
9643         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9644        '''
9645        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9646        '''
9647         Tags is a map of key, value pairs.
9648        '''
9649        self.tls_required = tls_required if tls_required is not None else False
9650        '''
9651         If set, TLS must be used to connect to this resource.
9652        '''
9653        self.username = username if username is not None else ''
9654        '''
9655         The username to authenticate with.
9656        '''
9657
9658    def __repr__(self):
9659        return '<sdm.Cassandra ' + \
9660            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9661            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9662            'healthy: ' + repr(self.healthy) + ' ' +\
9663            'hostname: ' + repr(self.hostname) + ' ' +\
9664            'id: ' + repr(self.id) + ' ' +\
9665            'name: ' + repr(self.name) + ' ' +\
9666            'password: ' + repr(self.password) + ' ' +\
9667            'port: ' + repr(self.port) + ' ' +\
9668            'port_override: ' + repr(self.port_override) + ' ' +\
9669            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9670            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9671            'subdomain: ' + repr(self.subdomain) + ' ' +\
9672            'tags: ' + repr(self.tags) + ' ' +\
9673            'tls_required: ' + repr(self.tls_required) + ' ' +\
9674            'username: ' + repr(self.username) + ' ' +\
9675            '>'
9676
9677    def to_dict(self):
9678        return {
9679            'bind_interface': self.bind_interface,
9680            'egress_filter': self.egress_filter,
9681            'healthy': self.healthy,
9682            'hostname': self.hostname,
9683            'id': self.id,
9684            'name': self.name,
9685            'password': self.password,
9686            'port': self.port,
9687            'port_override': self.port_override,
9688            'proxy_cluster_id': self.proxy_cluster_id,
9689            'secret_store_id': self.secret_store_id,
9690            'subdomain': self.subdomain,
9691            'tags': self.tags,
9692            'tls_required': self.tls_required,
9693            'username': self.username,
9694        }
9695
9696    @classmethod
9697    def from_dict(cls, d):
9698        return cls(
9699            bind_interface=d.get('bind_interface'),
9700            egress_filter=d.get('egress_filter'),
9701            healthy=d.get('healthy'),
9702            hostname=d.get('hostname'),
9703            id=d.get('id'),
9704            name=d.get('name'),
9705            password=d.get('password'),
9706            port=d.get('port'),
9707            port_override=d.get('port_override'),
9708            proxy_cluster_id=d.get('proxy_cluster_id'),
9709            secret_store_id=d.get('secret_store_id'),
9710            subdomain=d.get('subdomain'),
9711            tags=d.get('tags'),
9712            tls_required=d.get('tls_required'),
9713            username=d.get('username'),
9714        )
Cassandra( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
9579    def __init__(
9580        self,
9581        bind_interface=None,
9582        egress_filter=None,
9583        healthy=None,
9584        hostname=None,
9585        id=None,
9586        name=None,
9587        password=None,
9588        port=None,
9589        port_override=None,
9590        proxy_cluster_id=None,
9591        secret_store_id=None,
9592        subdomain=None,
9593        tags=None,
9594        tls_required=None,
9595        username=None,
9596    ):
9597        self.bind_interface = bind_interface if bind_interface is not None else ''
9598        '''
9599         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9600        '''
9601        self.egress_filter = egress_filter if egress_filter is not None else ''
9602        '''
9603         A filter applied to the routing logic to pin datasource to nodes.
9604        '''
9605        self.healthy = healthy if healthy is not None else False
9606        '''
9607         True if the datasource is reachable and the credentials are valid.
9608        '''
9609        self.hostname = hostname if hostname is not None else ''
9610        '''
9611         The host to dial to initiate a connection from the egress node to this resource.
9612        '''
9613        self.id = id if id is not None else ''
9614        '''
9615         Unique identifier of the Resource.
9616        '''
9617        self.name = name if name is not None else ''
9618        '''
9619         Unique human-readable name of the Resource.
9620        '''
9621        self.password = password if password is not None else ''
9622        '''
9623         The password to authenticate with.
9624        '''
9625        self.port = port if port is not None else 0
9626        '''
9627         The port to dial to initiate a connection from the egress node to this resource.
9628        '''
9629        self.port_override = port_override if port_override is not None else 0
9630        '''
9631         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9632        '''
9633        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9634        '''
9635         ID of the proxy cluster for this resource, if any.
9636        '''
9637        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9638        '''
9639         ID of the secret store containing credentials for this resource, if any.
9640        '''
9641        self.subdomain = subdomain if subdomain is not None else ''
9642        '''
9643         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9644        '''
9645        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9646        '''
9647         Tags is a map of key, value pairs.
9648        '''
9649        self.tls_required = tls_required if tls_required is not None else False
9650        '''
9651         If set, TLS must be used to connect to this resource.
9652        '''
9653        self.username = username if username is not None else ''
9654        '''
9655         The username to authenticate with.
9656        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
9677    def to_dict(self):
9678        return {
9679            'bind_interface': self.bind_interface,
9680            'egress_filter': self.egress_filter,
9681            'healthy': self.healthy,
9682            'hostname': self.hostname,
9683            'id': self.id,
9684            'name': self.name,
9685            'password': self.password,
9686            'port': self.port,
9687            'port_override': self.port_override,
9688            'proxy_cluster_id': self.proxy_cluster_id,
9689            'secret_store_id': self.secret_store_id,
9690            'subdomain': self.subdomain,
9691            'tags': self.tags,
9692            'tls_required': self.tls_required,
9693            'username': self.username,
9694        }
@classmethod
def from_dict(cls, d)
9696    @classmethod
9697    def from_dict(cls, d):
9698        return cls(
9699            bind_interface=d.get('bind_interface'),
9700            egress_filter=d.get('egress_filter'),
9701            healthy=d.get('healthy'),
9702            hostname=d.get('hostname'),
9703            id=d.get('id'),
9704            name=d.get('name'),
9705            password=d.get('password'),
9706            port=d.get('port'),
9707            port_override=d.get('port_override'),
9708            proxy_cluster_id=d.get('proxy_cluster_id'),
9709            secret_store_id=d.get('secret_store_id'),
9710            subdomain=d.get('subdomain'),
9711            tags=d.get('tags'),
9712            tls_required=d.get('tls_required'),
9713            username=d.get('username'),
9714        )
class Citus:
9717class Citus:
9718    __slots__ = [
9719        'bind_interface',
9720        'database',
9721        'egress_filter',
9722        'healthy',
9723        'hostname',
9724        'id',
9725        'name',
9726        'override_database',
9727        'password',
9728        'port',
9729        'port_override',
9730        'proxy_cluster_id',
9731        'secret_store_id',
9732        'subdomain',
9733        'tags',
9734        'username',
9735    ]
9736
9737    def __init__(
9738        self,
9739        bind_interface=None,
9740        database=None,
9741        egress_filter=None,
9742        healthy=None,
9743        hostname=None,
9744        id=None,
9745        name=None,
9746        override_database=None,
9747        password=None,
9748        port=None,
9749        port_override=None,
9750        proxy_cluster_id=None,
9751        secret_store_id=None,
9752        subdomain=None,
9753        tags=None,
9754        username=None,
9755    ):
9756        self.bind_interface = bind_interface if bind_interface is not None else ''
9757        '''
9758         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9759        '''
9760        self.database = database if database is not None else ''
9761        '''
9762         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9763        '''
9764        self.egress_filter = egress_filter if egress_filter is not None else ''
9765        '''
9766         A filter applied to the routing logic to pin datasource to nodes.
9767        '''
9768        self.healthy = healthy if healthy is not None else False
9769        '''
9770         True if the datasource is reachable and the credentials are valid.
9771        '''
9772        self.hostname = hostname if hostname is not None else ''
9773        '''
9774         The host to dial to initiate a connection from the egress node to this resource.
9775        '''
9776        self.id = id if id is not None else ''
9777        '''
9778         Unique identifier of the Resource.
9779        '''
9780        self.name = name if name is not None else ''
9781        '''
9782         Unique human-readable name of the Resource.
9783        '''
9784        self.override_database = override_database if override_database is not None else False
9785        '''
9786         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9787        '''
9788        self.password = password if password is not None else ''
9789        '''
9790         The password to authenticate with.
9791        '''
9792        self.port = port if port is not None else 0
9793        '''
9794         The port to dial to initiate a connection from the egress node to this resource.
9795        '''
9796        self.port_override = port_override if port_override is not None else 0
9797        '''
9798         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9799        '''
9800        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9801        '''
9802         ID of the proxy cluster for this resource, if any.
9803        '''
9804        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9805        '''
9806         ID of the secret store containing credentials for this resource, if any.
9807        '''
9808        self.subdomain = subdomain if subdomain is not None else ''
9809        '''
9810         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9811        '''
9812        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9813        '''
9814         Tags is a map of key, value pairs.
9815        '''
9816        self.username = username if username is not None else ''
9817        '''
9818         The username to authenticate with.
9819        '''
9820
9821    def __repr__(self):
9822        return '<sdm.Citus ' + \
9823            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9824            'database: ' + repr(self.database) + ' ' +\
9825            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9826            'healthy: ' + repr(self.healthy) + ' ' +\
9827            'hostname: ' + repr(self.hostname) + ' ' +\
9828            'id: ' + repr(self.id) + ' ' +\
9829            'name: ' + repr(self.name) + ' ' +\
9830            'override_database: ' + repr(self.override_database) + ' ' +\
9831            'password: ' + repr(self.password) + ' ' +\
9832            'port: ' + repr(self.port) + ' ' +\
9833            'port_override: ' + repr(self.port_override) + ' ' +\
9834            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9835            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9836            'subdomain: ' + repr(self.subdomain) + ' ' +\
9837            'tags: ' + repr(self.tags) + ' ' +\
9838            'username: ' + repr(self.username) + ' ' +\
9839            '>'
9840
9841    def to_dict(self):
9842        return {
9843            'bind_interface': self.bind_interface,
9844            'database': self.database,
9845            'egress_filter': self.egress_filter,
9846            'healthy': self.healthy,
9847            'hostname': self.hostname,
9848            'id': self.id,
9849            'name': self.name,
9850            'override_database': self.override_database,
9851            'password': self.password,
9852            'port': self.port,
9853            'port_override': self.port_override,
9854            'proxy_cluster_id': self.proxy_cluster_id,
9855            'secret_store_id': self.secret_store_id,
9856            'subdomain': self.subdomain,
9857            'tags': self.tags,
9858            'username': self.username,
9859        }
9860
9861    @classmethod
9862    def from_dict(cls, d):
9863        return cls(
9864            bind_interface=d.get('bind_interface'),
9865            database=d.get('database'),
9866            egress_filter=d.get('egress_filter'),
9867            healthy=d.get('healthy'),
9868            hostname=d.get('hostname'),
9869            id=d.get('id'),
9870            name=d.get('name'),
9871            override_database=d.get('override_database'),
9872            password=d.get('password'),
9873            port=d.get('port'),
9874            port_override=d.get('port_override'),
9875            proxy_cluster_id=d.get('proxy_cluster_id'),
9876            secret_store_id=d.get('secret_store_id'),
9877            subdomain=d.get('subdomain'),
9878            tags=d.get('tags'),
9879            username=d.get('username'),
9880        )
Citus( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
9737    def __init__(
9738        self,
9739        bind_interface=None,
9740        database=None,
9741        egress_filter=None,
9742        healthy=None,
9743        hostname=None,
9744        id=None,
9745        name=None,
9746        override_database=None,
9747        password=None,
9748        port=None,
9749        port_override=None,
9750        proxy_cluster_id=None,
9751        secret_store_id=None,
9752        subdomain=None,
9753        tags=None,
9754        username=None,
9755    ):
9756        self.bind_interface = bind_interface if bind_interface is not None else ''
9757        '''
9758         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9759        '''
9760        self.database = database if database is not None else ''
9761        '''
9762         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9763        '''
9764        self.egress_filter = egress_filter if egress_filter is not None else ''
9765        '''
9766         A filter applied to the routing logic to pin datasource to nodes.
9767        '''
9768        self.healthy = healthy if healthy is not None else False
9769        '''
9770         True if the datasource is reachable and the credentials are valid.
9771        '''
9772        self.hostname = hostname if hostname is not None else ''
9773        '''
9774         The host to dial to initiate a connection from the egress node to this resource.
9775        '''
9776        self.id = id if id is not None else ''
9777        '''
9778         Unique identifier of the Resource.
9779        '''
9780        self.name = name if name is not None else ''
9781        '''
9782         Unique human-readable name of the Resource.
9783        '''
9784        self.override_database = override_database if override_database is not None else False
9785        '''
9786         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9787        '''
9788        self.password = password if password is not None else ''
9789        '''
9790         The password to authenticate with.
9791        '''
9792        self.port = port if port is not None else 0
9793        '''
9794         The port to dial to initiate a connection from the egress node to this resource.
9795        '''
9796        self.port_override = port_override if port_override is not None else 0
9797        '''
9798         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9799        '''
9800        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9801        '''
9802         ID of the proxy cluster for this resource, if any.
9803        '''
9804        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9805        '''
9806         ID of the secret store containing credentials for this resource, if any.
9807        '''
9808        self.subdomain = subdomain if subdomain is not None else ''
9809        '''
9810         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9811        '''
9812        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9813        '''
9814         Tags is a map of key, value pairs.
9815        '''
9816        self.username = username if username is not None else ''
9817        '''
9818         The username to authenticate with.
9819        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
9841    def to_dict(self):
9842        return {
9843            'bind_interface': self.bind_interface,
9844            'database': self.database,
9845            'egress_filter': self.egress_filter,
9846            'healthy': self.healthy,
9847            'hostname': self.hostname,
9848            'id': self.id,
9849            'name': self.name,
9850            'override_database': self.override_database,
9851            'password': self.password,
9852            'port': self.port,
9853            'port_override': self.port_override,
9854            'proxy_cluster_id': self.proxy_cluster_id,
9855            'secret_store_id': self.secret_store_id,
9856            'subdomain': self.subdomain,
9857            'tags': self.tags,
9858            'username': self.username,
9859        }
@classmethod
def from_dict(cls, d)
9861    @classmethod
9862    def from_dict(cls, d):
9863        return cls(
9864            bind_interface=d.get('bind_interface'),
9865            database=d.get('database'),
9866            egress_filter=d.get('egress_filter'),
9867            healthy=d.get('healthy'),
9868            hostname=d.get('hostname'),
9869            id=d.get('id'),
9870            name=d.get('name'),
9871            override_database=d.get('override_database'),
9872            password=d.get('password'),
9873            port=d.get('port'),
9874            port_override=d.get('port_override'),
9875            proxy_cluster_id=d.get('proxy_cluster_id'),
9876            secret_store_id=d.get('secret_store_id'),
9877            subdomain=d.get('subdomain'),
9878            tags=d.get('tags'),
9879            username=d.get('username'),
9880        )
class ClickHouseHTTP:
 9883class ClickHouseHTTP:
 9884    __slots__ = [
 9885        'bind_interface',
 9886        'database',
 9887        'egress_filter',
 9888        'healthy',
 9889        'id',
 9890        'name',
 9891        'password',
 9892        'port_override',
 9893        'proxy_cluster_id',
 9894        'secret_store_id',
 9895        'tags',
 9896        'url',
 9897        'username',
 9898    ]
 9899
 9900    def __init__(
 9901        self,
 9902        bind_interface=None,
 9903        database=None,
 9904        egress_filter=None,
 9905        healthy=None,
 9906        id=None,
 9907        name=None,
 9908        password=None,
 9909        port_override=None,
 9910        proxy_cluster_id=None,
 9911        secret_store_id=None,
 9912        tags=None,
 9913        url=None,
 9914        username=None,
 9915    ):
 9916        self.bind_interface = bind_interface if bind_interface is not None else ''
 9917        '''
 9918         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9919        '''
 9920        self.database = database if database is not None else ''
 9921        '''
 9922         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9923        '''
 9924        self.egress_filter = egress_filter if egress_filter is not None else ''
 9925        '''
 9926         A filter applied to the routing logic to pin datasource to nodes.
 9927        '''
 9928        self.healthy = healthy if healthy is not None else False
 9929        '''
 9930         True if the datasource is reachable and the credentials are valid.
 9931        '''
 9932        self.id = id if id is not None else ''
 9933        '''
 9934         Unique identifier of the Resource.
 9935        '''
 9936        self.name = name if name is not None else ''
 9937        '''
 9938         Unique human-readable name of the Resource.
 9939        '''
 9940        self.password = password if password is not None else ''
 9941        '''
 9942         The password to authenticate with.
 9943        '''
 9944        self.port_override = port_override if port_override is not None else 0
 9945        '''
 9946         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9947        '''
 9948        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9949        '''
 9950         ID of the proxy cluster for this resource, if any.
 9951        '''
 9952        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9953        '''
 9954         ID of the secret store containing credentials for this resource, if any.
 9955        '''
 9956        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9957        '''
 9958         Tags is a map of key, value pairs.
 9959        '''
 9960        self.url = url if url is not None else ''
 9961        '''
 9962         The URL to dial to initiate a connection from the egress node to this resource.
 9963        '''
 9964        self.username = username if username is not None else ''
 9965        '''
 9966         The username to authenticate with.
 9967        '''
 9968
 9969    def __repr__(self):
 9970        return '<sdm.ClickHouseHTTP ' + \
 9971            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9972            'database: ' + repr(self.database) + ' ' +\
 9973            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9974            'healthy: ' + repr(self.healthy) + ' ' +\
 9975            'id: ' + repr(self.id) + ' ' +\
 9976            'name: ' + repr(self.name) + ' ' +\
 9977            'password: ' + repr(self.password) + ' ' +\
 9978            'port_override: ' + repr(self.port_override) + ' ' +\
 9979            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9980            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9981            'tags: ' + repr(self.tags) + ' ' +\
 9982            'url: ' + repr(self.url) + ' ' +\
 9983            'username: ' + repr(self.username) + ' ' +\
 9984            '>'
 9985
 9986    def to_dict(self):
 9987        return {
 9988            'bind_interface': self.bind_interface,
 9989            'database': self.database,
 9990            'egress_filter': self.egress_filter,
 9991            'healthy': self.healthy,
 9992            'id': self.id,
 9993            'name': self.name,
 9994            'password': self.password,
 9995            'port_override': self.port_override,
 9996            'proxy_cluster_id': self.proxy_cluster_id,
 9997            'secret_store_id': self.secret_store_id,
 9998            'tags': self.tags,
 9999            'url': self.url,
10000            'username': self.username,
10001        }
10002
10003    @classmethod
10004    def from_dict(cls, d):
10005        return cls(
10006            bind_interface=d.get('bind_interface'),
10007            database=d.get('database'),
10008            egress_filter=d.get('egress_filter'),
10009            healthy=d.get('healthy'),
10010            id=d.get('id'),
10011            name=d.get('name'),
10012            password=d.get('password'),
10013            port_override=d.get('port_override'),
10014            proxy_cluster_id=d.get('proxy_cluster_id'),
10015            secret_store_id=d.get('secret_store_id'),
10016            tags=d.get('tags'),
10017            url=d.get('url'),
10018            username=d.get('username'),
10019        )
ClickHouseHTTP( bind_interface=None, database=None, egress_filter=None, healthy=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, tags=None, url=None, username=None)
9900    def __init__(
9901        self,
9902        bind_interface=None,
9903        database=None,
9904        egress_filter=None,
9905        healthy=None,
9906        id=None,
9907        name=None,
9908        password=None,
9909        port_override=None,
9910        proxy_cluster_id=None,
9911        secret_store_id=None,
9912        tags=None,
9913        url=None,
9914        username=None,
9915    ):
9916        self.bind_interface = bind_interface if bind_interface is not None else ''
9917        '''
9918         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9919        '''
9920        self.database = database if database is not None else ''
9921        '''
9922         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9923        '''
9924        self.egress_filter = egress_filter if egress_filter is not None else ''
9925        '''
9926         A filter applied to the routing logic to pin datasource to nodes.
9927        '''
9928        self.healthy = healthy if healthy is not None else False
9929        '''
9930         True if the datasource is reachable and the credentials are valid.
9931        '''
9932        self.id = id if id is not None else ''
9933        '''
9934         Unique identifier of the Resource.
9935        '''
9936        self.name = name if name is not None else ''
9937        '''
9938         Unique human-readable name of the Resource.
9939        '''
9940        self.password = password if password is not None else ''
9941        '''
9942         The password to authenticate with.
9943        '''
9944        self.port_override = port_override if port_override is not None else 0
9945        '''
9946         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9947        '''
9948        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9949        '''
9950         ID of the proxy cluster for this resource, if any.
9951        '''
9952        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9953        '''
9954         ID of the secret store containing credentials for this resource, if any.
9955        '''
9956        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9957        '''
9958         Tags is a map of key, value pairs.
9959        '''
9960        self.url = url if url is not None else ''
9961        '''
9962         The URL to dial to initiate a connection from the egress node to this resource.
9963        '''
9964        self.username = username if username is not None else ''
9965        '''
9966         The username to authenticate with.
9967        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

tags

Tags is a map of key, value pairs.

url

The URL to dial to initiate a connection from the egress node to this resource.

username

The username to authenticate with.

def to_dict(self)
 9986    def to_dict(self):
 9987        return {
 9988            'bind_interface': self.bind_interface,
 9989            'database': self.database,
 9990            'egress_filter': self.egress_filter,
 9991            'healthy': self.healthy,
 9992            'id': self.id,
 9993            'name': self.name,
 9994            'password': self.password,
 9995            'port_override': self.port_override,
 9996            'proxy_cluster_id': self.proxy_cluster_id,
 9997            'secret_store_id': self.secret_store_id,
 9998            'tags': self.tags,
 9999            'url': self.url,
10000            'username': self.username,
10001        }
@classmethod
def from_dict(cls, d)
10003    @classmethod
10004    def from_dict(cls, d):
10005        return cls(
10006            bind_interface=d.get('bind_interface'),
10007            database=d.get('database'),
10008            egress_filter=d.get('egress_filter'),
10009            healthy=d.get('healthy'),
10010            id=d.get('id'),
10011            name=d.get('name'),
10012            password=d.get('password'),
10013            port_override=d.get('port_override'),
10014            proxy_cluster_id=d.get('proxy_cluster_id'),
10015            secret_store_id=d.get('secret_store_id'),
10016            tags=d.get('tags'),
10017            url=d.get('url'),
10018            username=d.get('username'),
10019        )
class ClickHouseMySQL:
10022class ClickHouseMySQL:
10023    __slots__ = [
10024        'bind_interface',
10025        'database',
10026        'egress_filter',
10027        'healthy',
10028        'hostname',
10029        'id',
10030        'name',
10031        'password',
10032        'port',
10033        'port_override',
10034        'proxy_cluster_id',
10035        'require_native_auth',
10036        'secret_store_id',
10037        'subdomain',
10038        'tags',
10039        'username',
10040    ]
10041
10042    def __init__(
10043        self,
10044        bind_interface=None,
10045        database=None,
10046        egress_filter=None,
10047        healthy=None,
10048        hostname=None,
10049        id=None,
10050        name=None,
10051        password=None,
10052        port=None,
10053        port_override=None,
10054        proxy_cluster_id=None,
10055        require_native_auth=None,
10056        secret_store_id=None,
10057        subdomain=None,
10058        tags=None,
10059        username=None,
10060    ):
10061        self.bind_interface = bind_interface if bind_interface is not None else ''
10062        '''
10063         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10064        '''
10065        self.database = database if database is not None else ''
10066        '''
10067         The database for healthchecks. Does not affect client requests.
10068        '''
10069        self.egress_filter = egress_filter if egress_filter is not None else ''
10070        '''
10071         A filter applied to the routing logic to pin datasource to nodes.
10072        '''
10073        self.healthy = healthy if healthy is not None else False
10074        '''
10075         True if the datasource is reachable and the credentials are valid.
10076        '''
10077        self.hostname = hostname if hostname is not None else ''
10078        '''
10079         The host to dial to initiate a connection from the egress node to this resource.
10080        '''
10081        self.id = id if id is not None else ''
10082        '''
10083         Unique identifier of the Resource.
10084        '''
10085        self.name = name if name is not None else ''
10086        '''
10087         Unique human-readable name of the Resource.
10088        '''
10089        self.password = password if password is not None else ''
10090        '''
10091         The password to authenticate with.
10092        '''
10093        self.port = port if port is not None else 0
10094        '''
10095         The port to dial to initiate a connection from the egress node to this resource.
10096        '''
10097        self.port_override = port_override if port_override is not None else 0
10098        '''
10099         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10100        '''
10101        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10102        '''
10103         ID of the proxy cluster for this resource, if any.
10104        '''
10105        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10106        '''
10107         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10108        '''
10109        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10110        '''
10111         ID of the secret store containing credentials for this resource, if any.
10112        '''
10113        self.subdomain = subdomain if subdomain is not None else ''
10114        '''
10115         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10116        '''
10117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10118        '''
10119         Tags is a map of key, value pairs.
10120        '''
10121        self.username = username if username is not None else ''
10122        '''
10123         The username to authenticate with.
10124        '''
10125
10126    def __repr__(self):
10127        return '<sdm.ClickHouseMySQL ' + \
10128            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10129            'database: ' + repr(self.database) + ' ' +\
10130            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10131            'healthy: ' + repr(self.healthy) + ' ' +\
10132            'hostname: ' + repr(self.hostname) + ' ' +\
10133            'id: ' + repr(self.id) + ' ' +\
10134            'name: ' + repr(self.name) + ' ' +\
10135            'password: ' + repr(self.password) + ' ' +\
10136            'port: ' + repr(self.port) + ' ' +\
10137            'port_override: ' + repr(self.port_override) + ' ' +\
10138            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10139            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
10140            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10141            'subdomain: ' + repr(self.subdomain) + ' ' +\
10142            'tags: ' + repr(self.tags) + ' ' +\
10143            'username: ' + repr(self.username) + ' ' +\
10144            '>'
10145
10146    def to_dict(self):
10147        return {
10148            'bind_interface': self.bind_interface,
10149            'database': self.database,
10150            'egress_filter': self.egress_filter,
10151            'healthy': self.healthy,
10152            'hostname': self.hostname,
10153            'id': self.id,
10154            'name': self.name,
10155            'password': self.password,
10156            'port': self.port,
10157            'port_override': self.port_override,
10158            'proxy_cluster_id': self.proxy_cluster_id,
10159            'require_native_auth': self.require_native_auth,
10160            'secret_store_id': self.secret_store_id,
10161            'subdomain': self.subdomain,
10162            'tags': self.tags,
10163            'username': self.username,
10164        }
10165
10166    @classmethod
10167    def from_dict(cls, d):
10168        return cls(
10169            bind_interface=d.get('bind_interface'),
10170            database=d.get('database'),
10171            egress_filter=d.get('egress_filter'),
10172            healthy=d.get('healthy'),
10173            hostname=d.get('hostname'),
10174            id=d.get('id'),
10175            name=d.get('name'),
10176            password=d.get('password'),
10177            port=d.get('port'),
10178            port_override=d.get('port_override'),
10179            proxy_cluster_id=d.get('proxy_cluster_id'),
10180            require_native_auth=d.get('require_native_auth'),
10181            secret_store_id=d.get('secret_store_id'),
10182            subdomain=d.get('subdomain'),
10183            tags=d.get('tags'),
10184            username=d.get('username'),
10185        )
ClickHouseMySQL( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, username=None)
10042    def __init__(
10043        self,
10044        bind_interface=None,
10045        database=None,
10046        egress_filter=None,
10047        healthy=None,
10048        hostname=None,
10049        id=None,
10050        name=None,
10051        password=None,
10052        port=None,
10053        port_override=None,
10054        proxy_cluster_id=None,
10055        require_native_auth=None,
10056        secret_store_id=None,
10057        subdomain=None,
10058        tags=None,
10059        username=None,
10060    ):
10061        self.bind_interface = bind_interface if bind_interface is not None else ''
10062        '''
10063         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10064        '''
10065        self.database = database if database is not None else ''
10066        '''
10067         The database for healthchecks. Does not affect client requests.
10068        '''
10069        self.egress_filter = egress_filter if egress_filter is not None else ''
10070        '''
10071         A filter applied to the routing logic to pin datasource to nodes.
10072        '''
10073        self.healthy = healthy if healthy is not None else False
10074        '''
10075         True if the datasource is reachable and the credentials are valid.
10076        '''
10077        self.hostname = hostname if hostname is not None else ''
10078        '''
10079         The host to dial to initiate a connection from the egress node to this resource.
10080        '''
10081        self.id = id if id is not None else ''
10082        '''
10083         Unique identifier of the Resource.
10084        '''
10085        self.name = name if name is not None else ''
10086        '''
10087         Unique human-readable name of the Resource.
10088        '''
10089        self.password = password if password is not None else ''
10090        '''
10091         The password to authenticate with.
10092        '''
10093        self.port = port if port is not None else 0
10094        '''
10095         The port to dial to initiate a connection from the egress node to this resource.
10096        '''
10097        self.port_override = port_override if port_override is not None else 0
10098        '''
10099         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10100        '''
10101        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10102        '''
10103         ID of the proxy cluster for this resource, if any.
10104        '''
10105        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10106        '''
10107         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10108        '''
10109        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10110        '''
10111         ID of the secret store containing credentials for this resource, if any.
10112        '''
10113        self.subdomain = subdomain if subdomain is not None else ''
10114        '''
10115         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10116        '''
10117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10118        '''
10119         Tags is a map of key, value pairs.
10120        '''
10121        self.username = username if username is not None else ''
10122        '''
10123         The username to authenticate with.
10124        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
10146    def to_dict(self):
10147        return {
10148            'bind_interface': self.bind_interface,
10149            'database': self.database,
10150            'egress_filter': self.egress_filter,
10151            'healthy': self.healthy,
10152            'hostname': self.hostname,
10153            'id': self.id,
10154            'name': self.name,
10155            'password': self.password,
10156            'port': self.port,
10157            'port_override': self.port_override,
10158            'proxy_cluster_id': self.proxy_cluster_id,
10159            'require_native_auth': self.require_native_auth,
10160            'secret_store_id': self.secret_store_id,
10161            'subdomain': self.subdomain,
10162            'tags': self.tags,
10163            'username': self.username,
10164        }
@classmethod
def from_dict(cls, d)
10166    @classmethod
10167    def from_dict(cls, d):
10168        return cls(
10169            bind_interface=d.get('bind_interface'),
10170            database=d.get('database'),
10171            egress_filter=d.get('egress_filter'),
10172            healthy=d.get('healthy'),
10173            hostname=d.get('hostname'),
10174            id=d.get('id'),
10175            name=d.get('name'),
10176            password=d.get('password'),
10177            port=d.get('port'),
10178            port_override=d.get('port_override'),
10179            proxy_cluster_id=d.get('proxy_cluster_id'),
10180            require_native_auth=d.get('require_native_auth'),
10181            secret_store_id=d.get('secret_store_id'),
10182            subdomain=d.get('subdomain'),
10183            tags=d.get('tags'),
10184            username=d.get('username'),
10185        )
class ClickHouseTCP:
10188class ClickHouseTCP:
10189    __slots__ = [
10190        'bind_interface',
10191        'database',
10192        'egress_filter',
10193        'healthy',
10194        'hostname',
10195        'id',
10196        'name',
10197        'password',
10198        'port',
10199        'port_override',
10200        'proxy_cluster_id',
10201        'secret_store_id',
10202        'subdomain',
10203        'tags',
10204        'tls_required',
10205        'username',
10206    ]
10207
10208    def __init__(
10209        self,
10210        bind_interface=None,
10211        database=None,
10212        egress_filter=None,
10213        healthy=None,
10214        hostname=None,
10215        id=None,
10216        name=None,
10217        password=None,
10218        port=None,
10219        port_override=None,
10220        proxy_cluster_id=None,
10221        secret_store_id=None,
10222        subdomain=None,
10223        tags=None,
10224        tls_required=None,
10225        username=None,
10226    ):
10227        self.bind_interface = bind_interface if bind_interface is not None else ''
10228        '''
10229         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10230        '''
10231        self.database = database if database is not None else ''
10232        '''
10233         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10234        '''
10235        self.egress_filter = egress_filter if egress_filter is not None else ''
10236        '''
10237         A filter applied to the routing logic to pin datasource to nodes.
10238        '''
10239        self.healthy = healthy if healthy is not None else False
10240        '''
10241         True if the datasource is reachable and the credentials are valid.
10242        '''
10243        self.hostname = hostname if hostname is not None else ''
10244        '''
10245         The host to dial to initiate a connection from the egress node to this resource.
10246        '''
10247        self.id = id if id is not None else ''
10248        '''
10249         Unique identifier of the Resource.
10250        '''
10251        self.name = name if name is not None else ''
10252        '''
10253         Unique human-readable name of the Resource.
10254        '''
10255        self.password = password if password is not None else ''
10256        '''
10257         The password to authenticate with.
10258        '''
10259        self.port = port if port is not None else 0
10260        '''
10261         The port to dial to initiate a connection from the egress node to this resource.
10262        '''
10263        self.port_override = port_override if port_override is not None else 0
10264        '''
10265         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10266        '''
10267        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10268        '''
10269         ID of the proxy cluster for this resource, if any.
10270        '''
10271        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10272        '''
10273         ID of the secret store containing credentials for this resource, if any.
10274        '''
10275        self.subdomain = subdomain if subdomain is not None else ''
10276        '''
10277         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10278        '''
10279        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10280        '''
10281         Tags is a map of key, value pairs.
10282        '''
10283        self.tls_required = tls_required if tls_required is not None else False
10284        '''
10285         If set, TLS must be used to connect to this resource.
10286        '''
10287        self.username = username if username is not None else ''
10288        '''
10289         The username to authenticate with.
10290        '''
10291
10292    def __repr__(self):
10293        return '<sdm.ClickHouseTCP ' + \
10294            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10295            'database: ' + repr(self.database) + ' ' +\
10296            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10297            'healthy: ' + repr(self.healthy) + ' ' +\
10298            'hostname: ' + repr(self.hostname) + ' ' +\
10299            'id: ' + repr(self.id) + ' ' +\
10300            'name: ' + repr(self.name) + ' ' +\
10301            'password: ' + repr(self.password) + ' ' +\
10302            'port: ' + repr(self.port) + ' ' +\
10303            'port_override: ' + repr(self.port_override) + ' ' +\
10304            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10305            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10306            'subdomain: ' + repr(self.subdomain) + ' ' +\
10307            'tags: ' + repr(self.tags) + ' ' +\
10308            'tls_required: ' + repr(self.tls_required) + ' ' +\
10309            'username: ' + repr(self.username) + ' ' +\
10310            '>'
10311
10312    def to_dict(self):
10313        return {
10314            'bind_interface': self.bind_interface,
10315            'database': self.database,
10316            'egress_filter': self.egress_filter,
10317            'healthy': self.healthy,
10318            'hostname': self.hostname,
10319            'id': self.id,
10320            'name': self.name,
10321            'password': self.password,
10322            'port': self.port,
10323            'port_override': self.port_override,
10324            'proxy_cluster_id': self.proxy_cluster_id,
10325            'secret_store_id': self.secret_store_id,
10326            'subdomain': self.subdomain,
10327            'tags': self.tags,
10328            'tls_required': self.tls_required,
10329            'username': self.username,
10330        }
10331
10332    @classmethod
10333    def from_dict(cls, d):
10334        return cls(
10335            bind_interface=d.get('bind_interface'),
10336            database=d.get('database'),
10337            egress_filter=d.get('egress_filter'),
10338            healthy=d.get('healthy'),
10339            hostname=d.get('hostname'),
10340            id=d.get('id'),
10341            name=d.get('name'),
10342            password=d.get('password'),
10343            port=d.get('port'),
10344            port_override=d.get('port_override'),
10345            proxy_cluster_id=d.get('proxy_cluster_id'),
10346            secret_store_id=d.get('secret_store_id'),
10347            subdomain=d.get('subdomain'),
10348            tags=d.get('tags'),
10349            tls_required=d.get('tls_required'),
10350            username=d.get('username'),
10351        )
ClickHouseTCP( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
10208    def __init__(
10209        self,
10210        bind_interface=None,
10211        database=None,
10212        egress_filter=None,
10213        healthy=None,
10214        hostname=None,
10215        id=None,
10216        name=None,
10217        password=None,
10218        port=None,
10219        port_override=None,
10220        proxy_cluster_id=None,
10221        secret_store_id=None,
10222        subdomain=None,
10223        tags=None,
10224        tls_required=None,
10225        username=None,
10226    ):
10227        self.bind_interface = bind_interface if bind_interface is not None else ''
10228        '''
10229         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10230        '''
10231        self.database = database if database is not None else ''
10232        '''
10233         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10234        '''
10235        self.egress_filter = egress_filter if egress_filter is not None else ''
10236        '''
10237         A filter applied to the routing logic to pin datasource to nodes.
10238        '''
10239        self.healthy = healthy if healthy is not None else False
10240        '''
10241         True if the datasource is reachable and the credentials are valid.
10242        '''
10243        self.hostname = hostname if hostname is not None else ''
10244        '''
10245         The host to dial to initiate a connection from the egress node to this resource.
10246        '''
10247        self.id = id if id is not None else ''
10248        '''
10249         Unique identifier of the Resource.
10250        '''
10251        self.name = name if name is not None else ''
10252        '''
10253         Unique human-readable name of the Resource.
10254        '''
10255        self.password = password if password is not None else ''
10256        '''
10257         The password to authenticate with.
10258        '''
10259        self.port = port if port is not None else 0
10260        '''
10261         The port to dial to initiate a connection from the egress node to this resource.
10262        '''
10263        self.port_override = port_override if port_override is not None else 0
10264        '''
10265         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10266        '''
10267        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10268        '''
10269         ID of the proxy cluster for this resource, if any.
10270        '''
10271        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10272        '''
10273         ID of the secret store containing credentials for this resource, if any.
10274        '''
10275        self.subdomain = subdomain if subdomain is not None else ''
10276        '''
10277         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10278        '''
10279        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10280        '''
10281         Tags is a map of key, value pairs.
10282        '''
10283        self.tls_required = tls_required if tls_required is not None else False
10284        '''
10285         If set, TLS must be used to connect to this resource.
10286        '''
10287        self.username = username if username is not None else ''
10288        '''
10289         The username to authenticate with.
10290        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
10312    def to_dict(self):
10313        return {
10314            'bind_interface': self.bind_interface,
10315            'database': self.database,
10316            'egress_filter': self.egress_filter,
10317            'healthy': self.healthy,
10318            'hostname': self.hostname,
10319            'id': self.id,
10320            'name': self.name,
10321            'password': self.password,
10322            'port': self.port,
10323            'port_override': self.port_override,
10324            'proxy_cluster_id': self.proxy_cluster_id,
10325            'secret_store_id': self.secret_store_id,
10326            'subdomain': self.subdomain,
10327            'tags': self.tags,
10328            'tls_required': self.tls_required,
10329            'username': self.username,
10330        }
@classmethod
def from_dict(cls, d)
10332    @classmethod
10333    def from_dict(cls, d):
10334        return cls(
10335            bind_interface=d.get('bind_interface'),
10336            database=d.get('database'),
10337            egress_filter=d.get('egress_filter'),
10338            healthy=d.get('healthy'),
10339            hostname=d.get('hostname'),
10340            id=d.get('id'),
10341            name=d.get('name'),
10342            password=d.get('password'),
10343            port=d.get('port'),
10344            port_override=d.get('port_override'),
10345            proxy_cluster_id=d.get('proxy_cluster_id'),
10346            secret_store_id=d.get('secret_store_id'),
10347            subdomain=d.get('subdomain'),
10348            tags=d.get('tags'),
10349            tls_required=d.get('tls_required'),
10350            username=d.get('username'),
10351        )
class Clustrix:
10354class Clustrix:
10355    __slots__ = [
10356        'bind_interface',
10357        'database',
10358        'egress_filter',
10359        'healthy',
10360        'hostname',
10361        'id',
10362        'name',
10363        'password',
10364        'port',
10365        'port_override',
10366        'proxy_cluster_id',
10367        'require_native_auth',
10368        'secret_store_id',
10369        'subdomain',
10370        'tags',
10371        'use_azure_single_server_usernames',
10372        'username',
10373    ]
10374
10375    def __init__(
10376        self,
10377        bind_interface=None,
10378        database=None,
10379        egress_filter=None,
10380        healthy=None,
10381        hostname=None,
10382        id=None,
10383        name=None,
10384        password=None,
10385        port=None,
10386        port_override=None,
10387        proxy_cluster_id=None,
10388        require_native_auth=None,
10389        secret_store_id=None,
10390        subdomain=None,
10391        tags=None,
10392        use_azure_single_server_usernames=None,
10393        username=None,
10394    ):
10395        self.bind_interface = bind_interface if bind_interface is not None else ''
10396        '''
10397         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10398        '''
10399        self.database = database if database is not None else ''
10400        '''
10401         The database for healthchecks. Does not affect client requests.
10402        '''
10403        self.egress_filter = egress_filter if egress_filter is not None else ''
10404        '''
10405         A filter applied to the routing logic to pin datasource to nodes.
10406        '''
10407        self.healthy = healthy if healthy is not None else False
10408        '''
10409         True if the datasource is reachable and the credentials are valid.
10410        '''
10411        self.hostname = hostname if hostname is not None else ''
10412        '''
10413         The host to dial to initiate a connection from the egress node to this resource.
10414        '''
10415        self.id = id if id is not None else ''
10416        '''
10417         Unique identifier of the Resource.
10418        '''
10419        self.name = name if name is not None else ''
10420        '''
10421         Unique human-readable name of the Resource.
10422        '''
10423        self.password = password if password is not None else ''
10424        '''
10425         The password to authenticate with.
10426        '''
10427        self.port = port if port is not None else 0
10428        '''
10429         The port to dial to initiate a connection from the egress node to this resource.
10430        '''
10431        self.port_override = port_override if port_override is not None else 0
10432        '''
10433         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10434        '''
10435        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10436        '''
10437         ID of the proxy cluster for this resource, if any.
10438        '''
10439        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10440        '''
10441         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10442        '''
10443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10444        '''
10445         ID of the secret store containing credentials for this resource, if any.
10446        '''
10447        self.subdomain = subdomain if subdomain is not None else ''
10448        '''
10449         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10450        '''
10451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10452        '''
10453         Tags is a map of key, value pairs.
10454        '''
10455        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
10456        '''
10457         If true, appends the hostname to the username when hitting a database.azure.com address
10458        '''
10459        self.username = username if username is not None else ''
10460        '''
10461         The username to authenticate with.
10462        '''
10463
10464    def __repr__(self):
10465        return '<sdm.Clustrix ' + \
10466            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10467            'database: ' + repr(self.database) + ' ' +\
10468            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10469            'healthy: ' + repr(self.healthy) + ' ' +\
10470            'hostname: ' + repr(self.hostname) + ' ' +\
10471            'id: ' + repr(self.id) + ' ' +\
10472            'name: ' + repr(self.name) + ' ' +\
10473            'password: ' + repr(self.password) + ' ' +\
10474            'port: ' + repr(self.port) + ' ' +\
10475            'port_override: ' + repr(self.port_override) + ' ' +\
10476            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10477            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
10478            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10479            'subdomain: ' + repr(self.subdomain) + ' ' +\
10480            'tags: ' + repr(self.tags) + ' ' +\
10481            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
10482            'username: ' + repr(self.username) + ' ' +\
10483            '>'
10484
10485    def to_dict(self):
10486        return {
10487            'bind_interface': self.bind_interface,
10488            'database': self.database,
10489            'egress_filter': self.egress_filter,
10490            'healthy': self.healthy,
10491            'hostname': self.hostname,
10492            'id': self.id,
10493            'name': self.name,
10494            'password': self.password,
10495            'port': self.port,
10496            'port_override': self.port_override,
10497            'proxy_cluster_id': self.proxy_cluster_id,
10498            'require_native_auth': self.require_native_auth,
10499            'secret_store_id': self.secret_store_id,
10500            'subdomain': self.subdomain,
10501            'tags': self.tags,
10502            'use_azure_single_server_usernames':
10503            self.use_azure_single_server_usernames,
10504            'username': self.username,
10505        }
10506
10507    @classmethod
10508    def from_dict(cls, d):
10509        return cls(
10510            bind_interface=d.get('bind_interface'),
10511            database=d.get('database'),
10512            egress_filter=d.get('egress_filter'),
10513            healthy=d.get('healthy'),
10514            hostname=d.get('hostname'),
10515            id=d.get('id'),
10516            name=d.get('name'),
10517            password=d.get('password'),
10518            port=d.get('port'),
10519            port_override=d.get('port_override'),
10520            proxy_cluster_id=d.get('proxy_cluster_id'),
10521            require_native_auth=d.get('require_native_auth'),
10522            secret_store_id=d.get('secret_store_id'),
10523            subdomain=d.get('subdomain'),
10524            tags=d.get('tags'),
10525            use_azure_single_server_usernames=d.get(
10526                'use_azure_single_server_usernames'),
10527            username=d.get('username'),
10528        )
Clustrix( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
10375    def __init__(
10376        self,
10377        bind_interface=None,
10378        database=None,
10379        egress_filter=None,
10380        healthy=None,
10381        hostname=None,
10382        id=None,
10383        name=None,
10384        password=None,
10385        port=None,
10386        port_override=None,
10387        proxy_cluster_id=None,
10388        require_native_auth=None,
10389        secret_store_id=None,
10390        subdomain=None,
10391        tags=None,
10392        use_azure_single_server_usernames=None,
10393        username=None,
10394    ):
10395        self.bind_interface = bind_interface if bind_interface is not None else ''
10396        '''
10397         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10398        '''
10399        self.database = database if database is not None else ''
10400        '''
10401         The database for healthchecks. Does not affect client requests.
10402        '''
10403        self.egress_filter = egress_filter if egress_filter is not None else ''
10404        '''
10405         A filter applied to the routing logic to pin datasource to nodes.
10406        '''
10407        self.healthy = healthy if healthy is not None else False
10408        '''
10409         True if the datasource is reachable and the credentials are valid.
10410        '''
10411        self.hostname = hostname if hostname is not None else ''
10412        '''
10413         The host to dial to initiate a connection from the egress node to this resource.
10414        '''
10415        self.id = id if id is not None else ''
10416        '''
10417         Unique identifier of the Resource.
10418        '''
10419        self.name = name if name is not None else ''
10420        '''
10421         Unique human-readable name of the Resource.
10422        '''
10423        self.password = password if password is not None else ''
10424        '''
10425         The password to authenticate with.
10426        '''
10427        self.port = port if port is not None else 0
10428        '''
10429         The port to dial to initiate a connection from the egress node to this resource.
10430        '''
10431        self.port_override = port_override if port_override is not None else 0
10432        '''
10433         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10434        '''
10435        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10436        '''
10437         ID of the proxy cluster for this resource, if any.
10438        '''
10439        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10440        '''
10441         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10442        '''
10443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10444        '''
10445         ID of the secret store containing credentials for this resource, if any.
10446        '''
10447        self.subdomain = subdomain if subdomain is not None else ''
10448        '''
10449         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10450        '''
10451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10452        '''
10453         Tags is a map of key, value pairs.
10454        '''
10455        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
10456        '''
10457         If true, appends the hostname to the username when hitting a database.azure.com address
10458        '''
10459        self.username = username if username is not None else ''
10460        '''
10461         The username to authenticate with.
10462        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
10485    def to_dict(self):
10486        return {
10487            'bind_interface': self.bind_interface,
10488            'database': self.database,
10489            'egress_filter': self.egress_filter,
10490            'healthy': self.healthy,
10491            'hostname': self.hostname,
10492            'id': self.id,
10493            'name': self.name,
10494            'password': self.password,
10495            'port': self.port,
10496            'port_override': self.port_override,
10497            'proxy_cluster_id': self.proxy_cluster_id,
10498            'require_native_auth': self.require_native_auth,
10499            'secret_store_id': self.secret_store_id,
10500            'subdomain': self.subdomain,
10501            'tags': self.tags,
10502            'use_azure_single_server_usernames':
10503            self.use_azure_single_server_usernames,
10504            'username': self.username,
10505        }
@classmethod
def from_dict(cls, d)
10507    @classmethod
10508    def from_dict(cls, d):
10509        return cls(
10510            bind_interface=d.get('bind_interface'),
10511            database=d.get('database'),
10512            egress_filter=d.get('egress_filter'),
10513            healthy=d.get('healthy'),
10514            hostname=d.get('hostname'),
10515            id=d.get('id'),
10516            name=d.get('name'),
10517            password=d.get('password'),
10518            port=d.get('port'),
10519            port_override=d.get('port_override'),
10520            proxy_cluster_id=d.get('proxy_cluster_id'),
10521            require_native_auth=d.get('require_native_auth'),
10522            secret_store_id=d.get('secret_store_id'),
10523            subdomain=d.get('subdomain'),
10524            tags=d.get('tags'),
10525            use_azure_single_server_usernames=d.get(
10526                'use_azure_single_server_usernames'),
10527            username=d.get('username'),
10528        )
class Cockroach:
10531class Cockroach:
10532    __slots__ = [
10533        'bind_interface',
10534        'database',
10535        'egress_filter',
10536        'healthy',
10537        'hostname',
10538        'id',
10539        'name',
10540        'override_database',
10541        'password',
10542        'port',
10543        'port_override',
10544        'proxy_cluster_id',
10545        'secret_store_id',
10546        'subdomain',
10547        'tags',
10548        'username',
10549    ]
10550
10551    def __init__(
10552        self,
10553        bind_interface=None,
10554        database=None,
10555        egress_filter=None,
10556        healthy=None,
10557        hostname=None,
10558        id=None,
10559        name=None,
10560        override_database=None,
10561        password=None,
10562        port=None,
10563        port_override=None,
10564        proxy_cluster_id=None,
10565        secret_store_id=None,
10566        subdomain=None,
10567        tags=None,
10568        username=None,
10569    ):
10570        self.bind_interface = bind_interface if bind_interface is not None else ''
10571        '''
10572         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10573        '''
10574        self.database = database if database is not None else ''
10575        '''
10576         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10577        '''
10578        self.egress_filter = egress_filter if egress_filter is not None else ''
10579        '''
10580         A filter applied to the routing logic to pin datasource to nodes.
10581        '''
10582        self.healthy = healthy if healthy is not None else False
10583        '''
10584         True if the datasource is reachable and the credentials are valid.
10585        '''
10586        self.hostname = hostname if hostname is not None else ''
10587        '''
10588         The host to dial to initiate a connection from the egress node to this resource.
10589        '''
10590        self.id = id if id is not None else ''
10591        '''
10592         Unique identifier of the Resource.
10593        '''
10594        self.name = name if name is not None else ''
10595        '''
10596         Unique human-readable name of the Resource.
10597        '''
10598        self.override_database = override_database if override_database is not None else False
10599        '''
10600         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
10601        '''
10602        self.password = password if password is not None else ''
10603        '''
10604         The password to authenticate with.
10605        '''
10606        self.port = port if port is not None else 0
10607        '''
10608         The port to dial to initiate a connection from the egress node to this resource.
10609        '''
10610        self.port_override = port_override if port_override is not None else 0
10611        '''
10612         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10613        '''
10614        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10615        '''
10616         ID of the proxy cluster for this resource, if any.
10617        '''
10618        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10619        '''
10620         ID of the secret store containing credentials for this resource, if any.
10621        '''
10622        self.subdomain = subdomain if subdomain is not None else ''
10623        '''
10624         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10625        '''
10626        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10627        '''
10628         Tags is a map of key, value pairs.
10629        '''
10630        self.username = username if username is not None else ''
10631        '''
10632         The username to authenticate with.
10633        '''
10634
10635    def __repr__(self):
10636        return '<sdm.Cockroach ' + \
10637            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10638            'database: ' + repr(self.database) + ' ' +\
10639            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10640            'healthy: ' + repr(self.healthy) + ' ' +\
10641            'hostname: ' + repr(self.hostname) + ' ' +\
10642            'id: ' + repr(self.id) + ' ' +\
10643            'name: ' + repr(self.name) + ' ' +\
10644            'override_database: ' + repr(self.override_database) + ' ' +\
10645            'password: ' + repr(self.password) + ' ' +\
10646            'port: ' + repr(self.port) + ' ' +\
10647            'port_override: ' + repr(self.port_override) + ' ' +\
10648            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10649            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10650            'subdomain: ' + repr(self.subdomain) + ' ' +\
10651            'tags: ' + repr(self.tags) + ' ' +\
10652            'username: ' + repr(self.username) + ' ' +\
10653            '>'
10654
10655    def to_dict(self):
10656        return {
10657            'bind_interface': self.bind_interface,
10658            'database': self.database,
10659            'egress_filter': self.egress_filter,
10660            'healthy': self.healthy,
10661            'hostname': self.hostname,
10662            'id': self.id,
10663            'name': self.name,
10664            'override_database': self.override_database,
10665            'password': self.password,
10666            'port': self.port,
10667            'port_override': self.port_override,
10668            'proxy_cluster_id': self.proxy_cluster_id,
10669            'secret_store_id': self.secret_store_id,
10670            'subdomain': self.subdomain,
10671            'tags': self.tags,
10672            'username': self.username,
10673        }
10674
10675    @classmethod
10676    def from_dict(cls, d):
10677        return cls(
10678            bind_interface=d.get('bind_interface'),
10679            database=d.get('database'),
10680            egress_filter=d.get('egress_filter'),
10681            healthy=d.get('healthy'),
10682            hostname=d.get('hostname'),
10683            id=d.get('id'),
10684            name=d.get('name'),
10685            override_database=d.get('override_database'),
10686            password=d.get('password'),
10687            port=d.get('port'),
10688            port_override=d.get('port_override'),
10689            proxy_cluster_id=d.get('proxy_cluster_id'),
10690            secret_store_id=d.get('secret_store_id'),
10691            subdomain=d.get('subdomain'),
10692            tags=d.get('tags'),
10693            username=d.get('username'),
10694        )
Cockroach( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
10551    def __init__(
10552        self,
10553        bind_interface=None,
10554        database=None,
10555        egress_filter=None,
10556        healthy=None,
10557        hostname=None,
10558        id=None,
10559        name=None,
10560        override_database=None,
10561        password=None,
10562        port=None,
10563        port_override=None,
10564        proxy_cluster_id=None,
10565        secret_store_id=None,
10566        subdomain=None,
10567        tags=None,
10568        username=None,
10569    ):
10570        self.bind_interface = bind_interface if bind_interface is not None else ''
10571        '''
10572         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10573        '''
10574        self.database = database if database is not None else ''
10575        '''
10576         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10577        '''
10578        self.egress_filter = egress_filter if egress_filter is not None else ''
10579        '''
10580         A filter applied to the routing logic to pin datasource to nodes.
10581        '''
10582        self.healthy = healthy if healthy is not None else False
10583        '''
10584         True if the datasource is reachable and the credentials are valid.
10585        '''
10586        self.hostname = hostname if hostname is not None else ''
10587        '''
10588         The host to dial to initiate a connection from the egress node to this resource.
10589        '''
10590        self.id = id if id is not None else ''
10591        '''
10592         Unique identifier of the Resource.
10593        '''
10594        self.name = name if name is not None else ''
10595        '''
10596         Unique human-readable name of the Resource.
10597        '''
10598        self.override_database = override_database if override_database is not None else False
10599        '''
10600         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
10601        '''
10602        self.password = password if password is not None else ''
10603        '''
10604         The password to authenticate with.
10605        '''
10606        self.port = port if port is not None else 0
10607        '''
10608         The port to dial to initiate a connection from the egress node to this resource.
10609        '''
10610        self.port_override = port_override if port_override is not None else 0
10611        '''
10612         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10613        '''
10614        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10615        '''
10616         ID of the proxy cluster for this resource, if any.
10617        '''
10618        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10619        '''
10620         ID of the secret store containing credentials for this resource, if any.
10621        '''
10622        self.subdomain = subdomain if subdomain is not None else ''
10623        '''
10624         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10625        '''
10626        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10627        '''
10628         Tags is a map of key, value pairs.
10629        '''
10630        self.username = username if username is not None else ''
10631        '''
10632         The username to authenticate with.
10633        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
10655    def to_dict(self):
10656        return {
10657            'bind_interface': self.bind_interface,
10658            'database': self.database,
10659            'egress_filter': self.egress_filter,
10660            'healthy': self.healthy,
10661            'hostname': self.hostname,
10662            'id': self.id,
10663            'name': self.name,
10664            'override_database': self.override_database,
10665            'password': self.password,
10666            'port': self.port,
10667            'port_override': self.port_override,
10668            'proxy_cluster_id': self.proxy_cluster_id,
10669            'secret_store_id': self.secret_store_id,
10670            'subdomain': self.subdomain,
10671            'tags': self.tags,
10672            'username': self.username,
10673        }
@classmethod
def from_dict(cls, d)
10675    @classmethod
10676    def from_dict(cls, d):
10677        return cls(
10678            bind_interface=d.get('bind_interface'),
10679            database=d.get('database'),
10680            egress_filter=d.get('egress_filter'),
10681            healthy=d.get('healthy'),
10682            hostname=d.get('hostname'),
10683            id=d.get('id'),
10684            name=d.get('name'),
10685            override_database=d.get('override_database'),
10686            password=d.get('password'),
10687            port=d.get('port'),
10688            port_override=d.get('port_override'),
10689            proxy_cluster_id=d.get('proxy_cluster_id'),
10690            secret_store_id=d.get('secret_store_id'),
10691            subdomain=d.get('subdomain'),
10692            tags=d.get('tags'),
10693            username=d.get('username'),
10694        )
class ConnectorCreateRequest:
10697class ConnectorCreateRequest:
10698    '''
10699         ConnectorCreateRequest specifies a connector to create.
10700    '''
10701    __slots__ = [
10702        'connector',
10703    ]
10704
10705    def __init__(
10706        self,
10707        connector=None,
10708    ):
10709        self.connector = connector if connector is not None else None
10710        '''
10711         Parameters to define the new Connector.
10712        '''
10713
10714    def __repr__(self):
10715        return '<sdm.ConnectorCreateRequest ' + \
10716            'connector: ' + repr(self.connector) + ' ' +\
10717            '>'
10718
10719    def to_dict(self):
10720        return {
10721            'connector': self.connector,
10722        }
10723
10724    @classmethod
10725    def from_dict(cls, d):
10726        return cls(connector=d.get('connector'), )

ConnectorCreateRequest specifies a connector to create.

ConnectorCreateRequest(connector=None)
10705    def __init__(
10706        self,
10707        connector=None,
10708    ):
10709        self.connector = connector if connector is not None else None
10710        '''
10711         Parameters to define the new Connector.
10712        '''
connector

Parameters to define the new Connector.

def to_dict(self)
10719    def to_dict(self):
10720        return {
10721            'connector': self.connector,
10722        }
@classmethod
def from_dict(cls, d)
10724    @classmethod
10725    def from_dict(cls, d):
10726        return cls(connector=d.get('connector'), )
class ConnectorCreateResponse:
10729class ConnectorCreateResponse:
10730    '''
10731         ConnectorCreateResponse reports the result of a create.
10732    '''
10733    __slots__ = [
10734        'connector',
10735        'rate_limit',
10736    ]
10737
10738    def __init__(
10739        self,
10740        connector=None,
10741        rate_limit=None,
10742    ):
10743        self.connector = connector if connector is not None else None
10744        '''
10745         The created Connector.
10746        '''
10747        self.rate_limit = rate_limit if rate_limit is not None else None
10748        '''
10749         Rate limit information.
10750        '''
10751
10752    def __repr__(self):
10753        return '<sdm.ConnectorCreateResponse ' + \
10754            'connector: ' + repr(self.connector) + ' ' +\
10755            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10756            '>'
10757
10758    def to_dict(self):
10759        return {
10760            'connector': self.connector,
10761            'rate_limit': self.rate_limit,
10762        }
10763
10764    @classmethod
10765    def from_dict(cls, d):
10766        return cls(
10767            connector=d.get('connector'),
10768            rate_limit=d.get('rate_limit'),
10769        )

ConnectorCreateResponse reports the result of a create.

ConnectorCreateResponse(connector=None, rate_limit=None)
10738    def __init__(
10739        self,
10740        connector=None,
10741        rate_limit=None,
10742    ):
10743        self.connector = connector if connector is not None else None
10744        '''
10745         The created Connector.
10746        '''
10747        self.rate_limit = rate_limit if rate_limit is not None else None
10748        '''
10749         Rate limit information.
10750        '''
connector

The created Connector.

rate_limit

Rate limit information.

def to_dict(self)
10758    def to_dict(self):
10759        return {
10760            'connector': self.connector,
10761            'rate_limit': self.rate_limit,
10762        }
@classmethod
def from_dict(cls, d)
10764    @classmethod
10765    def from_dict(cls, d):
10766        return cls(
10767            connector=d.get('connector'),
10768            rate_limit=d.get('rate_limit'),
10769        )
class ConnectorDeleteRequest:
10772class ConnectorDeleteRequest:
10773    '''
10774         ConnectorDeleteRequest identifies a connector by ID to delete.
10775    '''
10776    __slots__ = [
10777        'id',
10778    ]
10779
10780    def __init__(
10781        self,
10782        id=None,
10783    ):
10784        self.id = id if id is not None else ''
10785        '''
10786         The unique identifier of the connector to delete.
10787        '''
10788
10789    def __repr__(self):
10790        return '<sdm.ConnectorDeleteRequest ' + \
10791            'id: ' + repr(self.id) + ' ' +\
10792            '>'
10793
10794    def to_dict(self):
10795        return {
10796            'id': self.id,
10797        }
10798
10799    @classmethod
10800    def from_dict(cls, d):
10801        return cls(id=d.get('id'), )

ConnectorDeleteRequest identifies a connector by ID to delete.

ConnectorDeleteRequest(id=None)
10780    def __init__(
10781        self,
10782        id=None,
10783    ):
10784        self.id = id if id is not None else ''
10785        '''
10786         The unique identifier of the connector to delete.
10787        '''
id

The unique identifier of the connector to delete.

def to_dict(self)
10794    def to_dict(self):
10795        return {
10796            'id': self.id,
10797        }
@classmethod
def from_dict(cls, d)
10799    @classmethod
10800    def from_dict(cls, d):
10801        return cls(id=d.get('id'), )
class ConnectorDeleteResponse:
10804class ConnectorDeleteResponse:
10805    '''
10806         ConnectorDeleteResponse returns information about a connector that was deleted.
10807    '''
10808    __slots__ = [
10809        'meta',
10810        'rate_limit',
10811    ]
10812
10813    def __init__(
10814        self,
10815        meta=None,
10816        rate_limit=None,
10817    ):
10818        self.meta = meta if meta is not None else None
10819        '''
10820         Reserved for future use.
10821        '''
10822        self.rate_limit = rate_limit if rate_limit is not None else None
10823        '''
10824         Rate limit information.
10825        '''
10826
10827    def __repr__(self):
10828        return '<sdm.ConnectorDeleteResponse ' + \
10829            'meta: ' + repr(self.meta) + ' ' +\
10830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10831            '>'
10832
10833    def to_dict(self):
10834        return {
10835            'meta': self.meta,
10836            'rate_limit': self.rate_limit,
10837        }
10838
10839    @classmethod
10840    def from_dict(cls, d):
10841        return cls(
10842            meta=d.get('meta'),
10843            rate_limit=d.get('rate_limit'),
10844        )

ConnectorDeleteResponse returns information about a connector that was deleted.

ConnectorDeleteResponse(meta=None, rate_limit=None)
10813    def __init__(
10814        self,
10815        meta=None,
10816        rate_limit=None,
10817    ):
10818        self.meta = meta if meta is not None else None
10819        '''
10820         Reserved for future use.
10821        '''
10822        self.rate_limit = rate_limit if rate_limit is not None else None
10823        '''
10824         Rate limit information.
10825        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
10833    def to_dict(self):
10834        return {
10835            'meta': self.meta,
10836            'rate_limit': self.rate_limit,
10837        }
@classmethod
def from_dict(cls, d)
10839    @classmethod
10840    def from_dict(cls, d):
10841        return cls(
10842            meta=d.get('meta'),
10843            rate_limit=d.get('rate_limit'),
10844        )
class ConnectorGetRequest:
10847class ConnectorGetRequest:
10848    '''
10849         ConnectorGetRequest specifies which Connector to retrieve.
10850    '''
10851    __slots__ = [
10852        'id',
10853    ]
10854
10855    def __init__(
10856        self,
10857        id=None,
10858    ):
10859        self.id = id if id is not None else ''
10860        '''
10861         The unique identifier of the Connector to retrieve.
10862        '''
10863
10864    def __repr__(self):
10865        return '<sdm.ConnectorGetRequest ' + \
10866            'id: ' + repr(self.id) + ' ' +\
10867            '>'
10868
10869    def to_dict(self):
10870        return {
10871            'id': self.id,
10872        }
10873
10874    @classmethod
10875    def from_dict(cls, d):
10876        return cls(id=d.get('id'), )

ConnectorGetRequest specifies which Connector to retrieve.

ConnectorGetRequest(id=None)
10855    def __init__(
10856        self,
10857        id=None,
10858    ):
10859        self.id = id if id is not None else ''
10860        '''
10861         The unique identifier of the Connector to retrieve.
10862        '''
id

The unique identifier of the Connector to retrieve.

def to_dict(self)
10869    def to_dict(self):
10870        return {
10871            'id': self.id,
10872        }
@classmethod
def from_dict(cls, d)
10874    @classmethod
10875    def from_dict(cls, d):
10876        return cls(id=d.get('id'), )
class ConnectorGetResponse:
10879class ConnectorGetResponse:
10880    '''
10881         ConnectorGetResponse returns a requested Connector.
10882    '''
10883    __slots__ = [
10884        'connector',
10885        'meta',
10886        'rate_limit',
10887    ]
10888
10889    def __init__(
10890        self,
10891        connector=None,
10892        meta=None,
10893        rate_limit=None,
10894    ):
10895        self.connector = connector if connector is not None else None
10896        '''
10897         The requested Connector.
10898        '''
10899        self.meta = meta if meta is not None else None
10900        '''
10901         Reserved for future use.
10902        '''
10903        self.rate_limit = rate_limit if rate_limit is not None else None
10904        '''
10905         Rate limit information.
10906        '''
10907
10908    def __repr__(self):
10909        return '<sdm.ConnectorGetResponse ' + \
10910            'connector: ' + repr(self.connector) + ' ' +\
10911            'meta: ' + repr(self.meta) + ' ' +\
10912            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10913            '>'
10914
10915    def to_dict(self):
10916        return {
10917            'connector': self.connector,
10918            'meta': self.meta,
10919            'rate_limit': self.rate_limit,
10920        }
10921
10922    @classmethod
10923    def from_dict(cls, d):
10924        return cls(
10925            connector=d.get('connector'),
10926            meta=d.get('meta'),
10927            rate_limit=d.get('rate_limit'),
10928        )

ConnectorGetResponse returns a requested Connector.

ConnectorGetResponse(connector=None, meta=None, rate_limit=None)
10889    def __init__(
10890        self,
10891        connector=None,
10892        meta=None,
10893        rate_limit=None,
10894    ):
10895        self.connector = connector if connector is not None else None
10896        '''
10897         The requested Connector.
10898        '''
10899        self.meta = meta if meta is not None else None
10900        '''
10901         Reserved for future use.
10902        '''
10903        self.rate_limit = rate_limit if rate_limit is not None else None
10904        '''
10905         Rate limit information.
10906        '''
connector

The requested Connector.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
10915    def to_dict(self):
10916        return {
10917            'connector': self.connector,
10918            'meta': self.meta,
10919            'rate_limit': self.rate_limit,
10920        }
@classmethod
def from_dict(cls, d)
10922    @classmethod
10923    def from_dict(cls, d):
10924        return cls(
10925            connector=d.get('connector'),
10926            meta=d.get('meta'),
10927            rate_limit=d.get('rate_limit'),
10928        )
class ConnectorListRequest:
10931class ConnectorListRequest:
10932    '''
10933         ConnectorListRequest specifies criteria for retrieving a list of connectors.
10934    '''
10935    __slots__ = [
10936        'filter',
10937    ]
10938
10939    def __init__(
10940        self,
10941        filter=None,
10942    ):
10943        self.filter = filter if filter is not None else ''
10944        '''
10945         A human-readable filter query string.
10946        '''
10947
10948    def __repr__(self):
10949        return '<sdm.ConnectorListRequest ' + \
10950            'filter: ' + repr(self.filter) + ' ' +\
10951            '>'
10952
10953    def to_dict(self):
10954        return {
10955            'filter': self.filter,
10956        }
10957
10958    @classmethod
10959    def from_dict(cls, d):
10960        return cls(filter=d.get('filter'), )

ConnectorListRequest specifies criteria for retrieving a list of connectors.

ConnectorListRequest(filter=None)
10939    def __init__(
10940        self,
10941        filter=None,
10942    ):
10943        self.filter = filter if filter is not None else ''
10944        '''
10945         A human-readable filter query string.
10946        '''
filter

A human-readable filter query string.

def to_dict(self)
10953    def to_dict(self):
10954        return {
10955            'filter': self.filter,
10956        }
@classmethod
def from_dict(cls, d)
10958    @classmethod
10959    def from_dict(cls, d):
10960        return cls(filter=d.get('filter'), )
class ConnectorListResponse:
10963class ConnectorListResponse:
10964    '''
10965         ConnectorListResponse returns a list of connectors that meet the criteria of a
10966     ConnectorListRequest.
10967    '''
10968    __slots__ = [
10969        'rate_limit',
10970    ]
10971
10972    def __init__(
10973        self,
10974        rate_limit=None,
10975    ):
10976        self.rate_limit = rate_limit if rate_limit is not None else None
10977        '''
10978         Rate limit information.
10979        '''
10980
10981    def __repr__(self):
10982        return '<sdm.ConnectorListResponse ' + \
10983            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10984            '>'
10985
10986    def to_dict(self):
10987        return {
10988            'rate_limit': self.rate_limit,
10989        }
10990
10991    @classmethod
10992    def from_dict(cls, d):
10993        return cls(rate_limit=d.get('rate_limit'), )

ConnectorListResponse returns a list of connectors that meet the criteria of a ConnectorListRequest.

ConnectorListResponse(rate_limit=None)
10972    def __init__(
10973        self,
10974        rate_limit=None,
10975    ):
10976        self.rate_limit = rate_limit if rate_limit is not None else None
10977        '''
10978         Rate limit information.
10979        '''
rate_limit

Rate limit information.

def to_dict(self)
10986    def to_dict(self):
10987        return {
10988            'rate_limit': self.rate_limit,
10989        }
@classmethod
def from_dict(cls, d)
10991    @classmethod
10992    def from_dict(cls, d):
10993        return cls(rate_limit=d.get('rate_limit'), )
class ConnectorUpdateRequest:
10996class ConnectorUpdateRequest:
10997    '''
10998         ConnectorUpdateRequest updates a connector.
10999    '''
11000    __slots__ = [
11001        'connector',
11002    ]
11003
11004    def __init__(
11005        self,
11006        connector=None,
11007    ):
11008        self.connector = connector if connector is not None else None
11009        '''
11010         Parameters to overwrite the specified connector.
11011        '''
11012
11013    def __repr__(self):
11014        return '<sdm.ConnectorUpdateRequest ' + \
11015            'connector: ' + repr(self.connector) + ' ' +\
11016            '>'
11017
11018    def to_dict(self):
11019        return {
11020            'connector': self.connector,
11021        }
11022
11023    @classmethod
11024    def from_dict(cls, d):
11025        return cls(connector=d.get('connector'), )

ConnectorUpdateRequest updates a connector.

ConnectorUpdateRequest(connector=None)
11004    def __init__(
11005        self,
11006        connector=None,
11007    ):
11008        self.connector = connector if connector is not None else None
11009        '''
11010         Parameters to overwrite the specified connector.
11011        '''
connector

Parameters to overwrite the specified connector.

def to_dict(self)
11018    def to_dict(self):
11019        return {
11020            'connector': self.connector,
11021        }
@classmethod
def from_dict(cls, d)
11023    @classmethod
11024    def from_dict(cls, d):
11025        return cls(connector=d.get('connector'), )
class ConnectorUpdateResponse:
11028class ConnectorUpdateResponse:
11029    '''
11030         ConnectorUpdateResponse returns the fields of a connector after it has been updated by
11031     a connectorUpdateRequest.
11032    '''
11033    __slots__ = [
11034        'connector',
11035        'rate_limit',
11036    ]
11037
11038    def __init__(
11039        self,
11040        connector=None,
11041        rate_limit=None,
11042    ):
11043        self.connector = connector if connector is not None else None
11044        '''
11045         The updated connector.
11046        '''
11047        self.rate_limit = rate_limit if rate_limit is not None else None
11048        '''
11049         Rate limit information.
11050        '''
11051
11052    def __repr__(self):
11053        return '<sdm.ConnectorUpdateResponse ' + \
11054            'connector: ' + repr(self.connector) + ' ' +\
11055            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11056            '>'
11057
11058    def to_dict(self):
11059        return {
11060            'connector': self.connector,
11061            'rate_limit': self.rate_limit,
11062        }
11063
11064    @classmethod
11065    def from_dict(cls, d):
11066        return cls(
11067            connector=d.get('connector'),
11068            rate_limit=d.get('rate_limit'),
11069        )

ConnectorUpdateResponse returns the fields of a connector after it has been updated by a connectorUpdateRequest.

ConnectorUpdateResponse(connector=None, rate_limit=None)
11038    def __init__(
11039        self,
11040        connector=None,
11041        rate_limit=None,
11042    ):
11043        self.connector = connector if connector is not None else None
11044        '''
11045         The updated connector.
11046        '''
11047        self.rate_limit = rate_limit if rate_limit is not None else None
11048        '''
11049         Rate limit information.
11050        '''
connector

The updated connector.

rate_limit

Rate limit information.

def to_dict(self)
11058    def to_dict(self):
11059        return {
11060            'connector': self.connector,
11061            'rate_limit': self.rate_limit,
11062        }
@classmethod
def from_dict(cls, d)
11064    @classmethod
11065    def from_dict(cls, d):
11066        return cls(
11067            connector=d.get('connector'),
11068            rate_limit=d.get('rate_limit'),
11069        )
class ControlPanelGetOrgURLInfoResponse:
11072class ControlPanelGetOrgURLInfoResponse:
11073    '''
11074         ControlPanelGetOrgURLInfoResponse represents the response containing
11075     organization URL configuration.
11076    '''
11077    __slots__ = [
11078        'base_url',
11079        'meta',
11080        'oidc_issuer_url',
11081        'rate_limit',
11082        'saml_metadata_url',
11083        'websites_subdomain',
11084    ]
11085
11086    def __init__(
11087        self,
11088        base_url=None,
11089        meta=None,
11090        oidc_issuer_url=None,
11091        rate_limit=None,
11092        saml_metadata_url=None,
11093        websites_subdomain=None,
11094    ):
11095        self.base_url = base_url if base_url is not None else ''
11096        '''
11097         The base URL of the organization, e.g. https://app.strongdm.com
11098        '''
11099        self.meta = meta if meta is not None else None
11100        '''
11101         Reserved for future use.
11102        '''
11103        self.oidc_issuer_url = oidc_issuer_url if oidc_issuer_url is not None else ''
11104        '''
11105         The OIDC issuer URL for the organization, used for OIDC federation
11106         with cloud providers
11107        '''
11108        self.rate_limit = rate_limit if rate_limit is not None else None
11109        '''
11110         Rate limit information.
11111        '''
11112        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
11113        '''
11114         The SAML metadata URL for the organization, used for SAML SSO configuration.
11115        '''
11116        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
11117        '''
11118         The organization's website subdomain, used to construct URLs.
11119        '''
11120
11121    def __repr__(self):
11122        return '<sdm.ControlPanelGetOrgURLInfoResponse ' + \
11123            'base_url: ' + repr(self.base_url) + ' ' +\
11124            'meta: ' + repr(self.meta) + ' ' +\
11125            'oidc_issuer_url: ' + repr(self.oidc_issuer_url) + ' ' +\
11126            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11127            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
11128            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
11129            '>'
11130
11131    def to_dict(self):
11132        return {
11133            'base_url': self.base_url,
11134            'meta': self.meta,
11135            'oidc_issuer_url': self.oidc_issuer_url,
11136            'rate_limit': self.rate_limit,
11137            'saml_metadata_url': self.saml_metadata_url,
11138            'websites_subdomain': self.websites_subdomain,
11139        }
11140
11141    @classmethod
11142    def from_dict(cls, d):
11143        return cls(
11144            base_url=d.get('base_url'),
11145            meta=d.get('meta'),
11146            oidc_issuer_url=d.get('oidc_issuer_url'),
11147            rate_limit=d.get('rate_limit'),
11148            saml_metadata_url=d.get('saml_metadata_url'),
11149            websites_subdomain=d.get('websites_subdomain'),
11150        )

ControlPanelGetOrgURLInfoResponse represents the response containing organization URL configuration.

ControlPanelGetOrgURLInfoResponse( base_url=None, meta=None, oidc_issuer_url=None, rate_limit=None, saml_metadata_url=None, websites_subdomain=None)
11086    def __init__(
11087        self,
11088        base_url=None,
11089        meta=None,
11090        oidc_issuer_url=None,
11091        rate_limit=None,
11092        saml_metadata_url=None,
11093        websites_subdomain=None,
11094    ):
11095        self.base_url = base_url if base_url is not None else ''
11096        '''
11097         The base URL of the organization, e.g. https://app.strongdm.com
11098        '''
11099        self.meta = meta if meta is not None else None
11100        '''
11101         Reserved for future use.
11102        '''
11103        self.oidc_issuer_url = oidc_issuer_url if oidc_issuer_url is not None else ''
11104        '''
11105         The OIDC issuer URL for the organization, used for OIDC federation
11106         with cloud providers
11107        '''
11108        self.rate_limit = rate_limit if rate_limit is not None else None
11109        '''
11110         Rate limit information.
11111        '''
11112        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
11113        '''
11114         The SAML metadata URL for the organization, used for SAML SSO configuration.
11115        '''
11116        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
11117        '''
11118         The organization's website subdomain, used to construct URLs.
11119        '''
base_url

The base URL of the organization, e.g. https://app.strongdm.com

meta

Reserved for future use.

oidc_issuer_url

The OIDC issuer URL for the organization, used for OIDC federation with cloud providers

rate_limit

Rate limit information.

saml_metadata_url

The SAML metadata URL for the organization, used for SAML SSO configuration.

websites_subdomain

The organization's website subdomain, used to construct URLs.

def to_dict(self)
11131    def to_dict(self):
11132        return {
11133            'base_url': self.base_url,
11134            'meta': self.meta,
11135            'oidc_issuer_url': self.oidc_issuer_url,
11136            'rate_limit': self.rate_limit,
11137            'saml_metadata_url': self.saml_metadata_url,
11138            'websites_subdomain': self.websites_subdomain,
11139        }
@classmethod
def from_dict(cls, d)
11141    @classmethod
11142    def from_dict(cls, d):
11143        return cls(
11144            base_url=d.get('base_url'),
11145            meta=d.get('meta'),
11146            oidc_issuer_url=d.get('oidc_issuer_url'),
11147            rate_limit=d.get('rate_limit'),
11148            saml_metadata_url=d.get('saml_metadata_url'),
11149            websites_subdomain=d.get('websites_subdomain'),
11150        )
class ControlPanelGetRDPCAPublicKeyResponse:
11153class ControlPanelGetRDPCAPublicKeyResponse:
11154    '''
11155         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
11156     organization's RDP Certificate Authority public key.
11157    '''
11158    __slots__ = [
11159        'meta',
11160        'public_key',
11161        'rate_limit',
11162    ]
11163
11164    def __init__(
11165        self,
11166        meta=None,
11167        public_key=None,
11168        rate_limit=None,
11169    ):
11170        self.meta = meta if meta is not None else None
11171        '''
11172         Reserved for future use.
11173        '''
11174        self.public_key = public_key if public_key is not None else ''
11175        '''
11176         The public key of the SSH Certificate Authority, in OpenSSH RSA public
11177         key format.
11178        '''
11179        self.rate_limit = rate_limit if rate_limit is not None else None
11180        '''
11181         Rate limit information.
11182        '''
11183
11184    def __repr__(self):
11185        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
11186            'meta: ' + repr(self.meta) + ' ' +\
11187            'public_key: ' + repr(self.public_key) + ' ' +\
11188            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11189            '>'
11190
11191    def to_dict(self):
11192        return {
11193            'meta': self.meta,
11194            'public_key': self.public_key,
11195            'rate_limit': self.rate_limit,
11196        }
11197
11198    @classmethod
11199    def from_dict(cls, d):
11200        return cls(
11201            meta=d.get('meta'),
11202            public_key=d.get('public_key'),
11203            rate_limit=d.get('rate_limit'),
11204        )

ControlPanelGetRDPCAPublicKeyResponse represents a request for an organization's RDP Certificate Authority public key.

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
11164    def __init__(
11165        self,
11166        meta=None,
11167        public_key=None,
11168        rate_limit=None,
11169    ):
11170        self.meta = meta if meta is not None else None
11171        '''
11172         Reserved for future use.
11173        '''
11174        self.public_key = public_key if public_key is not None else ''
11175        '''
11176         The public key of the SSH Certificate Authority, in OpenSSH RSA public
11177         key format.
11178        '''
11179        self.rate_limit = rate_limit if rate_limit is not None else None
11180        '''
11181         Rate limit information.
11182        '''
meta

Reserved for future use.

public_key

The public key of the SSH Certificate Authority, in OpenSSH RSA public key format.

rate_limit

Rate limit information.

def to_dict(self)
11191    def to_dict(self):
11192        return {
11193            'meta': self.meta,
11194            'public_key': self.public_key,
11195            'rate_limit': self.rate_limit,
11196        }
@classmethod
def from_dict(cls, d)
11198    @classmethod
11199    def from_dict(cls, d):
11200        return cls(
11201            meta=d.get('meta'),
11202            public_key=d.get('public_key'),
11203            rate_limit=d.get('rate_limit'),
11204        )
class ControlPanelGetSSHCAPublicKeyResponse:
11207class ControlPanelGetSSHCAPublicKeyResponse:
11208    '''
11209         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
11210     organization's SSH Certificate Authority public key.
11211    '''
11212    __slots__ = [
11213        'meta',
11214        'public_key',
11215        'rate_limit',
11216    ]
11217
11218    def __init__(
11219        self,
11220        meta=None,
11221        public_key=None,
11222        rate_limit=None,
11223    ):
11224        self.meta = meta if meta is not None else None
11225        '''
11226         Reserved for future use.
11227        '''
11228        self.public_key = public_key if public_key is not None else ''
11229        '''
11230         The public key of the SSH Certificate Authority, in OpenSSH RSA public
11231         key format.
11232        '''
11233        self.rate_limit = rate_limit if rate_limit is not None else None
11234        '''
11235         Rate limit information.
11236        '''
11237
11238    def __repr__(self):
11239        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
11240            'meta: ' + repr(self.meta) + ' ' +\
11241            'public_key: ' + repr(self.public_key) + ' ' +\
11242            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11243            '>'
11244
11245    def to_dict(self):
11246        return {
11247            'meta': self.meta,
11248            'public_key': self.public_key,
11249            'rate_limit': self.rate_limit,
11250        }
11251
11252    @classmethod
11253    def from_dict(cls, d):
11254        return cls(
11255            meta=d.get('meta'),
11256            public_key=d.get('public_key'),
11257            rate_limit=d.get('rate_limit'),
11258        )

ControlPanelGetSSHCAPublicKeyResponse represents a request for an organization's SSH Certificate Authority public key.

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
11218    def __init__(
11219        self,
11220        meta=None,
11221        public_key=None,
11222        rate_limit=None,
11223    ):
11224        self.meta = meta if meta is not None else None
11225        '''
11226         Reserved for future use.
11227        '''
11228        self.public_key = public_key if public_key is not None else ''
11229        '''
11230         The public key of the SSH Certificate Authority, in OpenSSH RSA public
11231         key format.
11232        '''
11233        self.rate_limit = rate_limit if rate_limit is not None else None
11234        '''
11235         Rate limit information.
11236        '''
meta

Reserved for future use.

public_key

The public key of the SSH Certificate Authority, in OpenSSH RSA public key format.

rate_limit

Rate limit information.

def to_dict(self)
11245    def to_dict(self):
11246        return {
11247            'meta': self.meta,
11248            'public_key': self.public_key,
11249            'rate_limit': self.rate_limit,
11250        }
@classmethod
def from_dict(cls, d)
11252    @classmethod
11253    def from_dict(cls, d):
11254        return cls(
11255            meta=d.get('meta'),
11256            public_key=d.get('public_key'),
11257            rate_limit=d.get('rate_limit'),
11258        )
class ControlPanelVerifyJWTResponse:
11261class ControlPanelVerifyJWTResponse:
11262    '''
11263         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
11264    '''
11265    __slots__ = [
11266        'meta',
11267        'rate_limit',
11268        'valid',
11269    ]
11270
11271    def __init__(
11272        self,
11273        meta=None,
11274        rate_limit=None,
11275        valid=None,
11276    ):
11277        self.meta = meta if meta is not None else None
11278        '''
11279         Reserved for future use.
11280        '''
11281        self.rate_limit = rate_limit if rate_limit is not None else None
11282        '''
11283         Rate limit information.
11284        '''
11285        self.valid = valid if valid is not None else False
11286        '''
11287         Reports if the given token is valid.
11288        '''
11289
11290    def __repr__(self):
11291        return '<sdm.ControlPanelVerifyJWTResponse ' + \
11292            'meta: ' + repr(self.meta) + ' ' +\
11293            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11294            'valid: ' + repr(self.valid) + ' ' +\
11295            '>'
11296
11297    def to_dict(self):
11298        return {
11299            'meta': self.meta,
11300            'rate_limit': self.rate_limit,
11301            'valid': self.valid,
11302        }
11303
11304    @classmethod
11305    def from_dict(cls, d):
11306        return cls(
11307            meta=d.get('meta'),
11308            rate_limit=d.get('rate_limit'),
11309            valid=d.get('valid'),
11310        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
11271    def __init__(
11272        self,
11273        meta=None,
11274        rate_limit=None,
11275        valid=None,
11276    ):
11277        self.meta = meta if meta is not None else None
11278        '''
11279         Reserved for future use.
11280        '''
11281        self.rate_limit = rate_limit if rate_limit is not None else None
11282        '''
11283         Rate limit information.
11284        '''
11285        self.valid = valid if valid is not None else False
11286        '''
11287         Reports if the given token is valid.
11288        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

def to_dict(self)
11297    def to_dict(self):
11298        return {
11299            'meta': self.meta,
11300            'rate_limit': self.rate_limit,
11301            'valid': self.valid,
11302        }
@classmethod
def from_dict(cls, d)
11304    @classmethod
11305    def from_dict(cls, d):
11306        return cls(
11307            meta=d.get('meta'),
11308            rate_limit=d.get('rate_limit'),
11309            valid=d.get('valid'),
11310        )
class CouchbaseDatabase:
11313class CouchbaseDatabase:
11314    __slots__ = [
11315        'bind_interface',
11316        'egress_filter',
11317        'healthy',
11318        'hostname',
11319        'id',
11320        'n1ql_port',
11321        'name',
11322        'password',
11323        'port',
11324        'port_override',
11325        'proxy_cluster_id',
11326        'secret_store_id',
11327        'subdomain',
11328        'tags',
11329        'tls_required',
11330        'username',
11331    ]
11332
11333    def __init__(
11334        self,
11335        bind_interface=None,
11336        egress_filter=None,
11337        healthy=None,
11338        hostname=None,
11339        id=None,
11340        n1ql_port=None,
11341        name=None,
11342        password=None,
11343        port=None,
11344        port_override=None,
11345        proxy_cluster_id=None,
11346        secret_store_id=None,
11347        subdomain=None,
11348        tags=None,
11349        tls_required=None,
11350        username=None,
11351    ):
11352        self.bind_interface = bind_interface if bind_interface is not None else ''
11353        '''
11354         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11355        '''
11356        self.egress_filter = egress_filter if egress_filter is not None else ''
11357        '''
11358         A filter applied to the routing logic to pin datasource to nodes.
11359        '''
11360        self.healthy = healthy if healthy is not None else False
11361        '''
11362         True if the datasource is reachable and the credentials are valid.
11363        '''
11364        self.hostname = hostname if hostname is not None else ''
11365        '''
11366         The host to dial to initiate a connection from the egress node to this resource.
11367        '''
11368        self.id = id if id is not None else ''
11369        '''
11370         Unique identifier of the Resource.
11371        '''
11372        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
11373        '''
11374         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
11375        '''
11376        self.name = name if name is not None else ''
11377        '''
11378         Unique human-readable name of the Resource.
11379        '''
11380        self.password = password if password is not None else ''
11381        '''
11382         The password to authenticate with.
11383        '''
11384        self.port = port if port is not None else 0
11385        '''
11386         The port to dial to initiate a connection from the egress node to this resource.
11387        '''
11388        self.port_override = port_override if port_override is not None else 0
11389        '''
11390         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11391        '''
11392        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11393        '''
11394         ID of the proxy cluster for this resource, if any.
11395        '''
11396        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11397        '''
11398         ID of the secret store containing credentials for this resource, if any.
11399        '''
11400        self.subdomain = subdomain if subdomain is not None else ''
11401        '''
11402         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11403        '''
11404        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11405        '''
11406         Tags is a map of key, value pairs.
11407        '''
11408        self.tls_required = tls_required if tls_required is not None else False
11409        '''
11410         If set, TLS must be used to connect to this resource.
11411        '''
11412        self.username = username if username is not None else ''
11413        '''
11414         The username to authenticate with.
11415        '''
11416
11417    def __repr__(self):
11418        return '<sdm.CouchbaseDatabase ' + \
11419            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11420            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11421            'healthy: ' + repr(self.healthy) + ' ' +\
11422            'hostname: ' + repr(self.hostname) + ' ' +\
11423            'id: ' + repr(self.id) + ' ' +\
11424            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
11425            'name: ' + repr(self.name) + ' ' +\
11426            'password: ' + repr(self.password) + ' ' +\
11427            'port: ' + repr(self.port) + ' ' +\
11428            'port_override: ' + repr(self.port_override) + ' ' +\
11429            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11430            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11431            'subdomain: ' + repr(self.subdomain) + ' ' +\
11432            'tags: ' + repr(self.tags) + ' ' +\
11433            'tls_required: ' + repr(self.tls_required) + ' ' +\
11434            'username: ' + repr(self.username) + ' ' +\
11435            '>'
11436
11437    def to_dict(self):
11438        return {
11439            'bind_interface': self.bind_interface,
11440            'egress_filter': self.egress_filter,
11441            'healthy': self.healthy,
11442            'hostname': self.hostname,
11443            'id': self.id,
11444            'n1ql_port': self.n1ql_port,
11445            'name': self.name,
11446            'password': self.password,
11447            'port': self.port,
11448            'port_override': self.port_override,
11449            'proxy_cluster_id': self.proxy_cluster_id,
11450            'secret_store_id': self.secret_store_id,
11451            'subdomain': self.subdomain,
11452            'tags': self.tags,
11453            'tls_required': self.tls_required,
11454            'username': self.username,
11455        }
11456
11457    @classmethod
11458    def from_dict(cls, d):
11459        return cls(
11460            bind_interface=d.get('bind_interface'),
11461            egress_filter=d.get('egress_filter'),
11462            healthy=d.get('healthy'),
11463            hostname=d.get('hostname'),
11464            id=d.get('id'),
11465            n1ql_port=d.get('n1ql_port'),
11466            name=d.get('name'),
11467            password=d.get('password'),
11468            port=d.get('port'),
11469            port_override=d.get('port_override'),
11470            proxy_cluster_id=d.get('proxy_cluster_id'),
11471            secret_store_id=d.get('secret_store_id'),
11472            subdomain=d.get('subdomain'),
11473            tags=d.get('tags'),
11474            tls_required=d.get('tls_required'),
11475            username=d.get('username'),
11476        )
CouchbaseDatabase( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, n1ql_port=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
11333    def __init__(
11334        self,
11335        bind_interface=None,
11336        egress_filter=None,
11337        healthy=None,
11338        hostname=None,
11339        id=None,
11340        n1ql_port=None,
11341        name=None,
11342        password=None,
11343        port=None,
11344        port_override=None,
11345        proxy_cluster_id=None,
11346        secret_store_id=None,
11347        subdomain=None,
11348        tags=None,
11349        tls_required=None,
11350        username=None,
11351    ):
11352        self.bind_interface = bind_interface if bind_interface is not None else ''
11353        '''
11354         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11355        '''
11356        self.egress_filter = egress_filter if egress_filter is not None else ''
11357        '''
11358         A filter applied to the routing logic to pin datasource to nodes.
11359        '''
11360        self.healthy = healthy if healthy is not None else False
11361        '''
11362         True if the datasource is reachable and the credentials are valid.
11363        '''
11364        self.hostname = hostname if hostname is not None else ''
11365        '''
11366         The host to dial to initiate a connection from the egress node to this resource.
11367        '''
11368        self.id = id if id is not None else ''
11369        '''
11370         Unique identifier of the Resource.
11371        '''
11372        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
11373        '''
11374         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
11375        '''
11376        self.name = name if name is not None else ''
11377        '''
11378         Unique human-readable name of the Resource.
11379        '''
11380        self.password = password if password is not None else ''
11381        '''
11382         The password to authenticate with.
11383        '''
11384        self.port = port if port is not None else 0
11385        '''
11386         The port to dial to initiate a connection from the egress node to this resource.
11387        '''
11388        self.port_override = port_override if port_override is not None else 0
11389        '''
11390         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11391        '''
11392        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11393        '''
11394         ID of the proxy cluster for this resource, if any.
11395        '''
11396        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11397        '''
11398         ID of the secret store containing credentials for this resource, if any.
11399        '''
11400        self.subdomain = subdomain if subdomain is not None else ''
11401        '''
11402         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11403        '''
11404        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11405        '''
11406         Tags is a map of key, value pairs.
11407        '''
11408        self.tls_required = tls_required if tls_required is not None else False
11409        '''
11410         If set, TLS must be used to connect to this resource.
11411        '''
11412        self.username = username if username is not None else ''
11413        '''
11414         The username to authenticate with.
11415        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

n1ql_port

The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
11437    def to_dict(self):
11438        return {
11439            'bind_interface': self.bind_interface,
11440            'egress_filter': self.egress_filter,
11441            'healthy': self.healthy,
11442            'hostname': self.hostname,
11443            'id': self.id,
11444            'n1ql_port': self.n1ql_port,
11445            'name': self.name,
11446            'password': self.password,
11447            'port': self.port,
11448            'port_override': self.port_override,
11449            'proxy_cluster_id': self.proxy_cluster_id,
11450            'secret_store_id': self.secret_store_id,
11451            'subdomain': self.subdomain,
11452            'tags': self.tags,
11453            'tls_required': self.tls_required,
11454            'username': self.username,
11455        }
@classmethod
def from_dict(cls, d)
11457    @classmethod
11458    def from_dict(cls, d):
11459        return cls(
11460            bind_interface=d.get('bind_interface'),
11461            egress_filter=d.get('egress_filter'),
11462            healthy=d.get('healthy'),
11463            hostname=d.get('hostname'),
11464            id=d.get('id'),
11465            n1ql_port=d.get('n1ql_port'),
11466            name=d.get('name'),
11467            password=d.get('password'),
11468            port=d.get('port'),
11469            port_override=d.get('port_override'),
11470            proxy_cluster_id=d.get('proxy_cluster_id'),
11471            secret_store_id=d.get('secret_store_id'),
11472            subdomain=d.get('subdomain'),
11473            tags=d.get('tags'),
11474            tls_required=d.get('tls_required'),
11475            username=d.get('username'),
11476        )
class CouchbaseWebUI:
11479class CouchbaseWebUI:
11480    __slots__ = [
11481        'bind_interface',
11482        'egress_filter',
11483        'healthy',
11484        'id',
11485        'name',
11486        'password',
11487        'port_override',
11488        'proxy_cluster_id',
11489        'secret_store_id',
11490        'subdomain',
11491        'tags',
11492        'url',
11493        'username',
11494    ]
11495
11496    def __init__(
11497        self,
11498        bind_interface=None,
11499        egress_filter=None,
11500        healthy=None,
11501        id=None,
11502        name=None,
11503        password=None,
11504        port_override=None,
11505        proxy_cluster_id=None,
11506        secret_store_id=None,
11507        subdomain=None,
11508        tags=None,
11509        url=None,
11510        username=None,
11511    ):
11512        self.bind_interface = bind_interface if bind_interface is not None else ''
11513        '''
11514         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11515        '''
11516        self.egress_filter = egress_filter if egress_filter is not None else ''
11517        '''
11518         A filter applied to the routing logic to pin datasource to nodes.
11519        '''
11520        self.healthy = healthy if healthy is not None else False
11521        '''
11522         True if the datasource is reachable and the credentials are valid.
11523        '''
11524        self.id = id if id is not None else ''
11525        '''
11526         Unique identifier of the Resource.
11527        '''
11528        self.name = name if name is not None else ''
11529        '''
11530         Unique human-readable name of the Resource.
11531        '''
11532        self.password = password if password is not None else ''
11533        '''
11534         The password to authenticate with.
11535        '''
11536        self.port_override = port_override if port_override is not None else 0
11537        '''
11538         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11539        '''
11540        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11541        '''
11542         ID of the proxy cluster for this resource, if any.
11543        '''
11544        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11545        '''
11546         ID of the secret store containing credentials for this resource, if any.
11547        '''
11548        self.subdomain = subdomain if subdomain is not None else ''
11549        '''
11550         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11551        '''
11552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11553        '''
11554         Tags is a map of key, value pairs.
11555        '''
11556        self.url = url if url is not None else ''
11557        '''
11558         The base address of your website without the path.
11559        '''
11560        self.username = username if username is not None else ''
11561        '''
11562         The username to authenticate with.
11563        '''
11564
11565    def __repr__(self):
11566        return '<sdm.CouchbaseWebUI ' + \
11567            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11568            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11569            'healthy: ' + repr(self.healthy) + ' ' +\
11570            'id: ' + repr(self.id) + ' ' +\
11571            'name: ' + repr(self.name) + ' ' +\
11572            'password: ' + repr(self.password) + ' ' +\
11573            'port_override: ' + repr(self.port_override) + ' ' +\
11574            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11575            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11576            'subdomain: ' + repr(self.subdomain) + ' ' +\
11577            'tags: ' + repr(self.tags) + ' ' +\
11578            'url: ' + repr(self.url) + ' ' +\
11579            'username: ' + repr(self.username) + ' ' +\
11580            '>'
11581
11582    def to_dict(self):
11583        return {
11584            'bind_interface': self.bind_interface,
11585            'egress_filter': self.egress_filter,
11586            'healthy': self.healthy,
11587            'id': self.id,
11588            'name': self.name,
11589            'password': self.password,
11590            'port_override': self.port_override,
11591            'proxy_cluster_id': self.proxy_cluster_id,
11592            'secret_store_id': self.secret_store_id,
11593            'subdomain': self.subdomain,
11594            'tags': self.tags,
11595            'url': self.url,
11596            'username': self.username,
11597        }
11598
11599    @classmethod
11600    def from_dict(cls, d):
11601        return cls(
11602            bind_interface=d.get('bind_interface'),
11603            egress_filter=d.get('egress_filter'),
11604            healthy=d.get('healthy'),
11605            id=d.get('id'),
11606            name=d.get('name'),
11607            password=d.get('password'),
11608            port_override=d.get('port_override'),
11609            proxy_cluster_id=d.get('proxy_cluster_id'),
11610            secret_store_id=d.get('secret_store_id'),
11611            subdomain=d.get('subdomain'),
11612            tags=d.get('tags'),
11613            url=d.get('url'),
11614            username=d.get('username'),
11615        )
CouchbaseWebUI( bind_interface=None, egress_filter=None, healthy=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None, username=None)
11496    def __init__(
11497        self,
11498        bind_interface=None,
11499        egress_filter=None,
11500        healthy=None,
11501        id=None,
11502        name=None,
11503        password=None,
11504        port_override=None,
11505        proxy_cluster_id=None,
11506        secret_store_id=None,
11507        subdomain=None,
11508        tags=None,
11509        url=None,
11510        username=None,
11511    ):
11512        self.bind_interface = bind_interface if bind_interface is not None else ''
11513        '''
11514         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11515        '''
11516        self.egress_filter = egress_filter if egress_filter is not None else ''
11517        '''
11518         A filter applied to the routing logic to pin datasource to nodes.
11519        '''
11520        self.healthy = healthy if healthy is not None else False
11521        '''
11522         True if the datasource is reachable and the credentials are valid.
11523        '''
11524        self.id = id if id is not None else ''
11525        '''
11526         Unique identifier of the Resource.
11527        '''
11528        self.name = name if name is not None else ''
11529        '''
11530         Unique human-readable name of the Resource.
11531        '''
11532        self.password = password if password is not None else ''
11533        '''
11534         The password to authenticate with.
11535        '''
11536        self.port_override = port_override if port_override is not None else 0
11537        '''
11538         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11539        '''
11540        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11541        '''
11542         ID of the proxy cluster for this resource, if any.
11543        '''
11544        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11545        '''
11546         ID of the secret store containing credentials for this resource, if any.
11547        '''
11548        self.subdomain = subdomain if subdomain is not None else ''
11549        '''
11550         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11551        '''
11552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11553        '''
11554         Tags is a map of key, value pairs.
11555        '''
11556        self.url = url if url is not None else ''
11557        '''
11558         The base address of your website without the path.
11559        '''
11560        self.username = username if username is not None else ''
11561        '''
11562         The username to authenticate with.
11563        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

username

The username to authenticate with.

def to_dict(self)
11582    def to_dict(self):
11583        return {
11584            'bind_interface': self.bind_interface,
11585            'egress_filter': self.egress_filter,
11586            'healthy': self.healthy,
11587            'id': self.id,
11588            'name': self.name,
11589            'password': self.password,
11590            'port_override': self.port_override,
11591            'proxy_cluster_id': self.proxy_cluster_id,
11592            'secret_store_id': self.secret_store_id,
11593            'subdomain': self.subdomain,
11594            'tags': self.tags,
11595            'url': self.url,
11596            'username': self.username,
11597        }
@classmethod
def from_dict(cls, d)
11599    @classmethod
11600    def from_dict(cls, d):
11601        return cls(
11602            bind_interface=d.get('bind_interface'),
11603            egress_filter=d.get('egress_filter'),
11604            healthy=d.get('healthy'),
11605            id=d.get('id'),
11606            name=d.get('name'),
11607            password=d.get('password'),
11608            port_override=d.get('port_override'),
11609            proxy_cluster_id=d.get('proxy_cluster_id'),
11610            secret_store_id=d.get('secret_store_id'),
11611            subdomain=d.get('subdomain'),
11612            tags=d.get('tags'),
11613            url=d.get('url'),
11614            username=d.get('username'),
11615        )
class CreateResponseMetadata:
11618class CreateResponseMetadata:
11619    '''
11620         CreateResponseMetadata is reserved for future use.
11621    '''
11622    __slots__ = []
11623
11624    def __init__(self, ):
11625        pass
11626
11627    def __repr__(self):
11628        return '<sdm.CreateResponseMetadata ' + \
11629            '>'
11630
11631    def to_dict(self):
11632        return {}
11633
11634    @classmethod
11635    def from_dict(cls, d):
11636        return cls()

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
11624    def __init__(self, ):
11625        pass
def to_dict(self)
11631    def to_dict(self):
11632        return {}
@classmethod
def from_dict(cls, d)
11634    @classmethod
11635    def from_dict(cls, d):
11636        return cls()
class CustomHeader:
11639class CustomHeader:
11640    '''
11641         CustomHeader describes a single HTTP header
11642    '''
11643    __slots__ = [
11644        'name',
11645        'secret',
11646        'value',
11647    ]
11648
11649    def __init__(
11650        self,
11651        name=None,
11652        secret=None,
11653        value=None,
11654    ):
11655        self.name = name if name is not None else ''
11656        '''
11657         The name of this header.
11658        '''
11659        self.secret = secret if secret is not None else False
11660        '''
11661         Headers containing sensitive values must be stored encrypted and redacted from logs.
11662        '''
11663        self.value = value if value is not None else ''
11664        '''
11665         The value of this header.
11666        '''
11667
11668    def __repr__(self):
11669        return '<sdm.CustomHeader ' + \
11670            'name: ' + repr(self.name) + ' ' +\
11671            'secret: ' + repr(self.secret) + ' ' +\
11672            'value: ' + repr(self.value) + ' ' +\
11673            '>'
11674
11675    def to_dict(self):
11676        return {
11677            'name': self.name,
11678            'secret': self.secret,
11679            'value': self.value,
11680        }
11681
11682    @classmethod
11683    def from_dict(cls, d):
11684        return cls(
11685            name=d.get('name'),
11686            secret=d.get('secret'),
11687            value=d.get('value'),
11688        )

CustomHeader describes a single HTTP header

CustomHeader(name=None, secret=None, value=None)
11649    def __init__(
11650        self,
11651        name=None,
11652        secret=None,
11653        value=None,
11654    ):
11655        self.name = name if name is not None else ''
11656        '''
11657         The name of this header.
11658        '''
11659        self.secret = secret if secret is not None else False
11660        '''
11661         Headers containing sensitive values must be stored encrypted and redacted from logs.
11662        '''
11663        self.value = value if value is not None else ''
11664        '''
11665         The value of this header.
11666        '''
name

The name of this header.

secret

Headers containing sensitive values must be stored encrypted and redacted from logs.

value

The value of this header.

def to_dict(self)
11675    def to_dict(self):
11676        return {
11677            'name': self.name,
11678            'secret': self.secret,
11679            'value': self.value,
11680        }
@classmethod
def from_dict(cls, d)
11682    @classmethod
11683    def from_dict(cls, d):
11684        return cls(
11685            name=d.get('name'),
11686            secret=d.get('secret'),
11687            value=d.get('value'),
11688        )
class CustomHeaders:
11691class CustomHeaders:
11692    '''
11693         CustomHeaders holds an array of HTTP headers to be injected into requests by the driver
11694    '''
11695    __slots__ = [
11696        'custom_headers',
11697    ]
11698
11699    def __init__(
11700        self,
11701        custom_headers=None,
11702    ):
11703        self.custom_headers = custom_headers if custom_headers is not None else []
11704        '''
11705         Entries, each describing a single header
11706        '''
11707
11708    def __repr__(self):
11709        return '<sdm.CustomHeaders ' + \
11710            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
11711            '>'
11712
11713    def to_dict(self):
11714        return {
11715            'custom_headers': self.custom_headers,
11716        }
11717
11718    @classmethod
11719    def from_dict(cls, d):
11720        return cls(custom_headers=d.get('custom_headers'), )

CustomHeaders holds an array of HTTP headers to be injected into requests by the driver

CustomHeaders(custom_headers=None)
11699    def __init__(
11700        self,
11701        custom_headers=None,
11702    ):
11703        self.custom_headers = custom_headers if custom_headers is not None else []
11704        '''
11705         Entries, each describing a single header
11706        '''
custom_headers

Entries, each describing a single header

def to_dict(self)
11713    def to_dict(self):
11714        return {
11715            'custom_headers': self.custom_headers,
11716        }
@classmethod
def from_dict(cls, d)
11718    @classmethod
11719    def from_dict(cls, d):
11720        return cls(custom_headers=d.get('custom_headers'), )
class CyberarkConjurStore:
11723class CyberarkConjurStore:
11724    __slots__ = [
11725        'appurl',
11726        'id',
11727        'name',
11728        'tags',
11729    ]
11730
11731    def __init__(
11732        self,
11733        appurl=None,
11734        id=None,
11735        name=None,
11736        tags=None,
11737    ):
11738        self.appurl = appurl if appurl is not None else ''
11739        '''
11740         The URL of the Cyberark instance
11741        '''
11742        self.id = id if id is not None else ''
11743        '''
11744         Unique identifier of the SecretStore.
11745        '''
11746        self.name = name if name is not None else ''
11747        '''
11748         Unique human-readable name of the SecretStore.
11749        '''
11750        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11751        '''
11752         Tags is a map of key, value pairs.
11753        '''
11754
11755    def __repr__(self):
11756        return '<sdm.CyberarkConjurStore ' + \
11757            'appurl: ' + repr(self.appurl) + ' ' +\
11758            'id: ' + repr(self.id) + ' ' +\
11759            'name: ' + repr(self.name) + ' ' +\
11760            'tags: ' + repr(self.tags) + ' ' +\
11761            '>'
11762
11763    def to_dict(self):
11764        return {
11765            'appurl': self.appurl,
11766            'id': self.id,
11767            'name': self.name,
11768            'tags': self.tags,
11769        }
11770
11771    @classmethod
11772    def from_dict(cls, d):
11773        return cls(
11774            appurl=d.get('appurl'),
11775            id=d.get('id'),
11776            name=d.get('name'),
11777            tags=d.get('tags'),
11778        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
11731    def __init__(
11732        self,
11733        appurl=None,
11734        id=None,
11735        name=None,
11736        tags=None,
11737    ):
11738        self.appurl = appurl if appurl is not None else ''
11739        '''
11740         The URL of the Cyberark instance
11741        '''
11742        self.id = id if id is not None else ''
11743        '''
11744         Unique identifier of the SecretStore.
11745        '''
11746        self.name = name if name is not None else ''
11747        '''
11748         Unique human-readable name of the SecretStore.
11749        '''
11750        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11751        '''
11752         Tags is a map of key, value pairs.
11753        '''
appurl

The URL of the Cyberark instance

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

def to_dict(self)
11763    def to_dict(self):
11764        return {
11765            'appurl': self.appurl,
11766            'id': self.id,
11767            'name': self.name,
11768            'tags': self.tags,
11769        }
@classmethod
def from_dict(cls, d)
11771    @classmethod
11772    def from_dict(cls, d):
11773        return cls(
11774            appurl=d.get('appurl'),
11775            id=d.get('id'),
11776            name=d.get('name'),
11777            tags=d.get('tags'),
11778        )
class CyberarkPAMExperimentalStore:
11781class CyberarkPAMExperimentalStore:
11782    '''
11783    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
11784    without a major version bump.
11785    '''
11786    __slots__ = [
11787        'appurl',
11788        'id',
11789        'name',
11790        'tags',
11791    ]
11792
11793    def __init__(
11794        self,
11795        appurl=None,
11796        id=None,
11797        name=None,
11798        tags=None,
11799    ):
11800        self.appurl = appurl if appurl is not None else ''
11801        '''
11802         The URL of the Cyberark instance
11803        '''
11804        self.id = id if id is not None else ''
11805        '''
11806         Unique identifier of the SecretStore.
11807        '''
11808        self.name = name if name is not None else ''
11809        '''
11810         Unique human-readable name of the SecretStore.
11811        '''
11812        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11813        '''
11814         Tags is a map of key, value pairs.
11815        '''
11816
11817    def __repr__(self):
11818        return '<sdm.CyberarkPAMExperimentalStore ' + \
11819            'appurl: ' + repr(self.appurl) + ' ' +\
11820            'id: ' + repr(self.id) + ' ' +\
11821            'name: ' + repr(self.name) + ' ' +\
11822            'tags: ' + repr(self.tags) + ' ' +\
11823            '>'
11824
11825    def to_dict(self):
11826        return {
11827            'appurl': self.appurl,
11828            'id': self.id,
11829            'name': self.name,
11830            'tags': self.tags,
11831        }
11832
11833    @classmethod
11834    def from_dict(cls, d):
11835        return cls(
11836            appurl=d.get('appurl'),
11837            id=d.get('id'),
11838            name=d.get('name'),
11839            tags=d.get('tags'),
11840        )

CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed, without a major version bump.

CyberarkPAMExperimentalStore(appurl=None, id=None, name=None, tags=None)
11793    def __init__(
11794        self,
11795        appurl=None,
11796        id=None,
11797        name=None,
11798        tags=None,
11799    ):
11800        self.appurl = appurl if appurl is not None else ''
11801        '''
11802         The URL of the Cyberark instance
11803        '''
11804        self.id = id if id is not None else ''
11805        '''
11806         Unique identifier of the SecretStore.
11807        '''
11808        self.name = name if name is not None else ''
11809        '''
11810         Unique human-readable name of the SecretStore.
11811        '''
11812        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11813        '''
11814         Tags is a map of key, value pairs.
11815        '''
appurl

The URL of the Cyberark instance

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

def to_dict(self)
11825    def to_dict(self):
11826        return {
11827            'appurl': self.appurl,
11828            'id': self.id,
11829            'name': self.name,
11830            'tags': self.tags,
11831        }
@classmethod
def from_dict(cls, d)
11833    @classmethod
11834    def from_dict(cls, d):
11835        return cls(
11836            appurl=d.get('appurl'),
11837            id=d.get('id'),
11838            name=d.get('name'),
11839            tags=d.get('tags'),
11840        )
class CyberarkPAMStore:
11843class CyberarkPAMStore:
11844    __slots__ = [
11845        'appurl',
11846        'id',
11847        'name',
11848        'tags',
11849    ]
11850
11851    def __init__(
11852        self,
11853        appurl=None,
11854        id=None,
11855        name=None,
11856        tags=None,
11857    ):
11858        self.appurl = appurl if appurl is not None else ''
11859        '''
11860         The URL of the Cyberark instance
11861        '''
11862        self.id = id if id is not None else ''
11863        '''
11864         Unique identifier of the SecretStore.
11865        '''
11866        self.name = name if name is not None else ''
11867        '''
11868         Unique human-readable name of the SecretStore.
11869        '''
11870        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11871        '''
11872         Tags is a map of key, value pairs.
11873        '''
11874
11875    def __repr__(self):
11876        return '<sdm.CyberarkPAMStore ' + \
11877            'appurl: ' + repr(self.appurl) + ' ' +\
11878            'id: ' + repr(self.id) + ' ' +\
11879            'name: ' + repr(self.name) + ' ' +\
11880            'tags: ' + repr(self.tags) + ' ' +\
11881            '>'
11882
11883    def to_dict(self):
11884        return {
11885            'appurl': self.appurl,
11886            'id': self.id,
11887            'name': self.name,
11888            'tags': self.tags,
11889        }
11890
11891    @classmethod
11892    def from_dict(cls, d):
11893        return cls(
11894            appurl=d.get('appurl'),
11895            id=d.get('id'),
11896            name=d.get('name'),
11897            tags=d.get('tags'),
11898        )
CyberarkPAMStore(appurl=None, id=None, name=None, tags=None)
11851    def __init__(
11852        self,
11853        appurl=None,
11854        id=None,
11855        name=None,
11856        tags=None,
11857    ):
11858        self.appurl = appurl if appurl is not None else ''
11859        '''
11860         The URL of the Cyberark instance
11861        '''
11862        self.id = id if id is not None else ''
11863        '''
11864         Unique identifier of the SecretStore.
11865        '''
11866        self.name = name if name is not None else ''
11867        '''
11868         Unique human-readable name of the SecretStore.
11869        '''
11870        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11871        '''
11872         Tags is a map of key, value pairs.
11873        '''
appurl

The URL of the Cyberark instance

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

def to_dict(self)
11883    def to_dict(self):
11884        return {
11885            'appurl': self.appurl,
11886            'id': self.id,
11887            'name': self.name,
11888            'tags': self.tags,
11889        }
@classmethod
def from_dict(cls, d)
11891    @classmethod
11892    def from_dict(cls, d):
11893        return cls(
11894            appurl=d.get('appurl'),
11895            id=d.get('id'),
11896            name=d.get('name'),
11897            tags=d.get('tags'),
11898        )
class DB2I:
11901class DB2I:
11902    __slots__ = [
11903        'bind_interface',
11904        'egress_filter',
11905        'healthy',
11906        'hostname',
11907        'id',
11908        'name',
11909        'password',
11910        'port',
11911        'port_override',
11912        'proxy_cluster_id',
11913        'secret_store_id',
11914        'subdomain',
11915        'tags',
11916        'tls_required',
11917        'username',
11918    ]
11919
11920    def __init__(
11921        self,
11922        bind_interface=None,
11923        egress_filter=None,
11924        healthy=None,
11925        hostname=None,
11926        id=None,
11927        name=None,
11928        password=None,
11929        port=None,
11930        port_override=None,
11931        proxy_cluster_id=None,
11932        secret_store_id=None,
11933        subdomain=None,
11934        tags=None,
11935        tls_required=None,
11936        username=None,
11937    ):
11938        self.bind_interface = bind_interface if bind_interface is not None else ''
11939        '''
11940         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11941        '''
11942        self.egress_filter = egress_filter if egress_filter is not None else ''
11943        '''
11944         A filter applied to the routing logic to pin datasource to nodes.
11945        '''
11946        self.healthy = healthy if healthy is not None else False
11947        '''
11948         True if the datasource is reachable and the credentials are valid.
11949        '''
11950        self.hostname = hostname if hostname is not None else ''
11951        '''
11952         The host to dial to initiate a connection from the egress node to this resource.
11953        '''
11954        self.id = id if id is not None else ''
11955        '''
11956         Unique identifier of the Resource.
11957        '''
11958        self.name = name if name is not None else ''
11959        '''
11960         Unique human-readable name of the Resource.
11961        '''
11962        self.password = password if password is not None else ''
11963        '''
11964         The password to authenticate with.
11965        '''
11966        self.port = port if port is not None else 0
11967        '''
11968         The port to dial to initiate a connection from the egress node to this resource.
11969        '''
11970        self.port_override = port_override if port_override is not None else 0
11971        '''
11972         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11973        '''
11974        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11975        '''
11976         ID of the proxy cluster for this resource, if any.
11977        '''
11978        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11979        '''
11980         ID of the secret store containing credentials for this resource, if any.
11981        '''
11982        self.subdomain = subdomain if subdomain is not None else ''
11983        '''
11984         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11985        '''
11986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11987        '''
11988         Tags is a map of key, value pairs.
11989        '''
11990        self.tls_required = tls_required if tls_required is not None else False
11991        '''
11992         If set, TLS must be used to connect to this resource.
11993        '''
11994        self.username = username if username is not None else ''
11995        '''
11996         The username to authenticate with.
11997        '''
11998
11999    def __repr__(self):
12000        return '<sdm.DB2I ' + \
12001            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12002            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12003            'healthy: ' + repr(self.healthy) + ' ' +\
12004            'hostname: ' + repr(self.hostname) + ' ' +\
12005            'id: ' + repr(self.id) + ' ' +\
12006            'name: ' + repr(self.name) + ' ' +\
12007            'password: ' + repr(self.password) + ' ' +\
12008            'port: ' + repr(self.port) + ' ' +\
12009            'port_override: ' + repr(self.port_override) + ' ' +\
12010            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12011            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12012            'subdomain: ' + repr(self.subdomain) + ' ' +\
12013            'tags: ' + repr(self.tags) + ' ' +\
12014            'tls_required: ' + repr(self.tls_required) + ' ' +\
12015            'username: ' + repr(self.username) + ' ' +\
12016            '>'
12017
12018    def to_dict(self):
12019        return {
12020            'bind_interface': self.bind_interface,
12021            'egress_filter': self.egress_filter,
12022            'healthy': self.healthy,
12023            'hostname': self.hostname,
12024            'id': self.id,
12025            'name': self.name,
12026            'password': self.password,
12027            'port': self.port,
12028            'port_override': self.port_override,
12029            'proxy_cluster_id': self.proxy_cluster_id,
12030            'secret_store_id': self.secret_store_id,
12031            'subdomain': self.subdomain,
12032            'tags': self.tags,
12033            'tls_required': self.tls_required,
12034            'username': self.username,
12035        }
12036
12037    @classmethod
12038    def from_dict(cls, d):
12039        return cls(
12040            bind_interface=d.get('bind_interface'),
12041            egress_filter=d.get('egress_filter'),
12042            healthy=d.get('healthy'),
12043            hostname=d.get('hostname'),
12044            id=d.get('id'),
12045            name=d.get('name'),
12046            password=d.get('password'),
12047            port=d.get('port'),
12048            port_override=d.get('port_override'),
12049            proxy_cluster_id=d.get('proxy_cluster_id'),
12050            secret_store_id=d.get('secret_store_id'),
12051            subdomain=d.get('subdomain'),
12052            tags=d.get('tags'),
12053            tls_required=d.get('tls_required'),
12054            username=d.get('username'),
12055        )
DB2I( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
11920    def __init__(
11921        self,
11922        bind_interface=None,
11923        egress_filter=None,
11924        healthy=None,
11925        hostname=None,
11926        id=None,
11927        name=None,
11928        password=None,
11929        port=None,
11930        port_override=None,
11931        proxy_cluster_id=None,
11932        secret_store_id=None,
11933        subdomain=None,
11934        tags=None,
11935        tls_required=None,
11936        username=None,
11937    ):
11938        self.bind_interface = bind_interface if bind_interface is not None else ''
11939        '''
11940         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11941        '''
11942        self.egress_filter = egress_filter if egress_filter is not None else ''
11943        '''
11944         A filter applied to the routing logic to pin datasource to nodes.
11945        '''
11946        self.healthy = healthy if healthy is not None else False
11947        '''
11948         True if the datasource is reachable and the credentials are valid.
11949        '''
11950        self.hostname = hostname if hostname is not None else ''
11951        '''
11952         The host to dial to initiate a connection from the egress node to this resource.
11953        '''
11954        self.id = id if id is not None else ''
11955        '''
11956         Unique identifier of the Resource.
11957        '''
11958        self.name = name if name is not None else ''
11959        '''
11960         Unique human-readable name of the Resource.
11961        '''
11962        self.password = password if password is not None else ''
11963        '''
11964         The password to authenticate with.
11965        '''
11966        self.port = port if port is not None else 0
11967        '''
11968         The port to dial to initiate a connection from the egress node to this resource.
11969        '''
11970        self.port_override = port_override if port_override is not None else 0
11971        '''
11972         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11973        '''
11974        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11975        '''
11976         ID of the proxy cluster for this resource, if any.
11977        '''
11978        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11979        '''
11980         ID of the secret store containing credentials for this resource, if any.
11981        '''
11982        self.subdomain = subdomain if subdomain is not None else ''
11983        '''
11984         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11985        '''
11986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11987        '''
11988         Tags is a map of key, value pairs.
11989        '''
11990        self.tls_required = tls_required if tls_required is not None else False
11991        '''
11992         If set, TLS must be used to connect to this resource.
11993        '''
11994        self.username = username if username is not None else ''
11995        '''
11996         The username to authenticate with.
11997        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
12018    def to_dict(self):
12019        return {
12020            'bind_interface': self.bind_interface,
12021            'egress_filter': self.egress_filter,
12022            'healthy': self.healthy,
12023            'hostname': self.hostname,
12024            'id': self.id,
12025            'name': self.name,
12026            'password': self.password,
12027            'port': self.port,
12028            'port_override': self.port_override,
12029            'proxy_cluster_id': self.proxy_cluster_id,
12030            'secret_store_id': self.secret_store_id,
12031            'subdomain': self.subdomain,
12032            'tags': self.tags,
12033            'tls_required': self.tls_required,
12034            'username': self.username,
12035        }
@classmethod
def from_dict(cls, d)
12037    @classmethod
12038    def from_dict(cls, d):
12039        return cls(
12040            bind_interface=d.get('bind_interface'),
12041            egress_filter=d.get('egress_filter'),
12042            healthy=d.get('healthy'),
12043            hostname=d.get('hostname'),
12044            id=d.get('id'),
12045            name=d.get('name'),
12046            password=d.get('password'),
12047            port=d.get('port'),
12048            port_override=d.get('port_override'),
12049            proxy_cluster_id=d.get('proxy_cluster_id'),
12050            secret_store_id=d.get('secret_store_id'),
12051            subdomain=d.get('subdomain'),
12052            tags=d.get('tags'),
12053            tls_required=d.get('tls_required'),
12054            username=d.get('username'),
12055        )
class DB2LUW:
12058class DB2LUW:
12059    __slots__ = [
12060        'bind_interface',
12061        'database',
12062        'egress_filter',
12063        'healthy',
12064        'hostname',
12065        'id',
12066        'name',
12067        'password',
12068        'port',
12069        'port_override',
12070        'proxy_cluster_id',
12071        'secret_store_id',
12072        'subdomain',
12073        'tags',
12074        'tls_required',
12075        'username',
12076    ]
12077
12078    def __init__(
12079        self,
12080        bind_interface=None,
12081        database=None,
12082        egress_filter=None,
12083        healthy=None,
12084        hostname=None,
12085        id=None,
12086        name=None,
12087        password=None,
12088        port=None,
12089        port_override=None,
12090        proxy_cluster_id=None,
12091        secret_store_id=None,
12092        subdomain=None,
12093        tags=None,
12094        tls_required=None,
12095        username=None,
12096    ):
12097        self.bind_interface = bind_interface if bind_interface is not None else ''
12098        '''
12099         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12100        '''
12101        self.database = database if database is not None else ''
12102        '''
12103         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
12104        '''
12105        self.egress_filter = egress_filter if egress_filter is not None else ''
12106        '''
12107         A filter applied to the routing logic to pin datasource to nodes.
12108        '''
12109        self.healthy = healthy if healthy is not None else False
12110        '''
12111         True if the datasource is reachable and the credentials are valid.
12112        '''
12113        self.hostname = hostname if hostname is not None else ''
12114        '''
12115         The host to dial to initiate a connection from the egress node to this resource.
12116        '''
12117        self.id = id if id is not None else ''
12118        '''
12119         Unique identifier of the Resource.
12120        '''
12121        self.name = name if name is not None else ''
12122        '''
12123         Unique human-readable name of the Resource.
12124        '''
12125        self.password = password if password is not None else ''
12126        '''
12127         The password to authenticate with.
12128        '''
12129        self.port = port if port is not None else 0
12130        '''
12131         The port to dial to initiate a connection from the egress node to this resource.
12132        '''
12133        self.port_override = port_override if port_override is not None else 0
12134        '''
12135         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12136        '''
12137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12138        '''
12139         ID of the proxy cluster for this resource, if any.
12140        '''
12141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12142        '''
12143         ID of the secret store containing credentials for this resource, if any.
12144        '''
12145        self.subdomain = subdomain if subdomain is not None else ''
12146        '''
12147         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12148        '''
12149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12150        '''
12151         Tags is a map of key, value pairs.
12152        '''
12153        self.tls_required = tls_required if tls_required is not None else False
12154        '''
12155         If set, TLS must be used to connect to this resource.
12156        '''
12157        self.username = username if username is not None else ''
12158        '''
12159         The username to authenticate with.
12160        '''
12161
12162    def __repr__(self):
12163        return '<sdm.DB2LUW ' + \
12164            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12165            'database: ' + repr(self.database) + ' ' +\
12166            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12167            'healthy: ' + repr(self.healthy) + ' ' +\
12168            'hostname: ' + repr(self.hostname) + ' ' +\
12169            'id: ' + repr(self.id) + ' ' +\
12170            'name: ' + repr(self.name) + ' ' +\
12171            'password: ' + repr(self.password) + ' ' +\
12172            'port: ' + repr(self.port) + ' ' +\
12173            'port_override: ' + repr(self.port_override) + ' ' +\
12174            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12175            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12176            'subdomain: ' + repr(self.subdomain) + ' ' +\
12177            'tags: ' + repr(self.tags) + ' ' +\
12178            'tls_required: ' + repr(self.tls_required) + ' ' +\
12179            'username: ' + repr(self.username) + ' ' +\
12180            '>'
12181
12182    def to_dict(self):
12183        return {
12184            'bind_interface': self.bind_interface,
12185            'database': self.database,
12186            'egress_filter': self.egress_filter,
12187            'healthy': self.healthy,
12188            'hostname': self.hostname,
12189            'id': self.id,
12190            'name': self.name,
12191            'password': self.password,
12192            'port': self.port,
12193            'port_override': self.port_override,
12194            'proxy_cluster_id': self.proxy_cluster_id,
12195            'secret_store_id': self.secret_store_id,
12196            'subdomain': self.subdomain,
12197            'tags': self.tags,
12198            'tls_required': self.tls_required,
12199            'username': self.username,
12200        }
12201
12202    @classmethod
12203    def from_dict(cls, d):
12204        return cls(
12205            bind_interface=d.get('bind_interface'),
12206            database=d.get('database'),
12207            egress_filter=d.get('egress_filter'),
12208            healthy=d.get('healthy'),
12209            hostname=d.get('hostname'),
12210            id=d.get('id'),
12211            name=d.get('name'),
12212            password=d.get('password'),
12213            port=d.get('port'),
12214            port_override=d.get('port_override'),
12215            proxy_cluster_id=d.get('proxy_cluster_id'),
12216            secret_store_id=d.get('secret_store_id'),
12217            subdomain=d.get('subdomain'),
12218            tags=d.get('tags'),
12219            tls_required=d.get('tls_required'),
12220            username=d.get('username'),
12221        )
DB2LUW( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
12078    def __init__(
12079        self,
12080        bind_interface=None,
12081        database=None,
12082        egress_filter=None,
12083        healthy=None,
12084        hostname=None,
12085        id=None,
12086        name=None,
12087        password=None,
12088        port=None,
12089        port_override=None,
12090        proxy_cluster_id=None,
12091        secret_store_id=None,
12092        subdomain=None,
12093        tags=None,
12094        tls_required=None,
12095        username=None,
12096    ):
12097        self.bind_interface = bind_interface if bind_interface is not None else ''
12098        '''
12099         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12100        '''
12101        self.database = database if database is not None else ''
12102        '''
12103         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
12104        '''
12105        self.egress_filter = egress_filter if egress_filter is not None else ''
12106        '''
12107         A filter applied to the routing logic to pin datasource to nodes.
12108        '''
12109        self.healthy = healthy if healthy is not None else False
12110        '''
12111         True if the datasource is reachable and the credentials are valid.
12112        '''
12113        self.hostname = hostname if hostname is not None else ''
12114        '''
12115         The host to dial to initiate a connection from the egress node to this resource.
12116        '''
12117        self.id = id if id is not None else ''
12118        '''
12119         Unique identifier of the Resource.
12120        '''
12121        self.name = name if name is not None else ''
12122        '''
12123         Unique human-readable name of the Resource.
12124        '''
12125        self.password = password if password is not None else ''
12126        '''
12127         The password to authenticate with.
12128        '''
12129        self.port = port if port is not None else 0
12130        '''
12131         The port to dial to initiate a connection from the egress node to this resource.
12132        '''
12133        self.port_override = port_override if port_override is not None else 0
12134        '''
12135         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12136        '''
12137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12138        '''
12139         ID of the proxy cluster for this resource, if any.
12140        '''
12141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12142        '''
12143         ID of the secret store containing credentials for this resource, if any.
12144        '''
12145        self.subdomain = subdomain if subdomain is not None else ''
12146        '''
12147         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12148        '''
12149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12150        '''
12151         Tags is a map of key, value pairs.
12152        '''
12153        self.tls_required = tls_required if tls_required is not None else False
12154        '''
12155         If set, TLS must be used to connect to this resource.
12156        '''
12157        self.username = username if username is not None else ''
12158        '''
12159         The username to authenticate with.
12160        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
12182    def to_dict(self):
12183        return {
12184            'bind_interface': self.bind_interface,
12185            'database': self.database,
12186            'egress_filter': self.egress_filter,
12187            'healthy': self.healthy,
12188            'hostname': self.hostname,
12189            'id': self.id,
12190            'name': self.name,
12191            'password': self.password,
12192            'port': self.port,
12193            'port_override': self.port_override,
12194            'proxy_cluster_id': self.proxy_cluster_id,
12195            'secret_store_id': self.secret_store_id,
12196            'subdomain': self.subdomain,
12197            'tags': self.tags,
12198            'tls_required': self.tls_required,
12199            'username': self.username,
12200        }
@classmethod
def from_dict(cls, d)
12202    @classmethod
12203    def from_dict(cls, d):
12204        return cls(
12205            bind_interface=d.get('bind_interface'),
12206            database=d.get('database'),
12207            egress_filter=d.get('egress_filter'),
12208            healthy=d.get('healthy'),
12209            hostname=d.get('hostname'),
12210            id=d.get('id'),
12211            name=d.get('name'),
12212            password=d.get('password'),
12213            port=d.get('port'),
12214            port_override=d.get('port_override'),
12215            proxy_cluster_id=d.get('proxy_cluster_id'),
12216            secret_store_id=d.get('secret_store_id'),
12217            subdomain=d.get('subdomain'),
12218            tags=d.get('tags'),
12219            tls_required=d.get('tls_required'),
12220            username=d.get('username'),
12221        )
class Databricks:
12224class Databricks:
12225    __slots__ = [
12226        'access_token',
12227        'bind_interface',
12228        'egress_filter',
12229        'healthy',
12230        'hostname',
12231        'http_path',
12232        'id',
12233        'name',
12234        'port_override',
12235        'proxy_cluster_id',
12236        'schema',
12237        'secret_store_id',
12238        'subdomain',
12239        'tags',
12240    ]
12241
12242    def __init__(
12243        self,
12244        access_token=None,
12245        bind_interface=None,
12246        egress_filter=None,
12247        healthy=None,
12248        hostname=None,
12249        http_path=None,
12250        id=None,
12251        name=None,
12252        port_override=None,
12253        proxy_cluster_id=None,
12254        schema=None,
12255        secret_store_id=None,
12256        subdomain=None,
12257        tags=None,
12258    ):
12259        self.access_token = access_token if access_token is not None else ''
12260        '''
12261         Databricks Personal Access Token (PAT)
12262        '''
12263        self.bind_interface = bind_interface if bind_interface is not None else ''
12264        '''
12265         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12266        '''
12267        self.egress_filter = egress_filter if egress_filter is not None else ''
12268        '''
12269         A filter applied to the routing logic to pin datasource to nodes.
12270        '''
12271        self.healthy = healthy if healthy is not None else False
12272        '''
12273         True if the datasource is reachable and the credentials are valid.
12274        '''
12275        self.hostname = hostname if hostname is not None else ''
12276        '''
12277         The Databricks workspace hostname (e.g., dbc-xxx.cloud.databricks.com)
12278        '''
12279        self.http_path = http_path if http_path is not None else ''
12280        '''
12281         The HTTP path to the SQL warehouse or cluster (e.g., /sql/1.0/warehouses/xxx)
12282        '''
12283        self.id = id if id is not None else ''
12284        '''
12285         Unique identifier of the Resource.
12286        '''
12287        self.name = name if name is not None else ''
12288        '''
12289         Unique human-readable name of the Resource.
12290        '''
12291        self.port_override = port_override if port_override is not None else 0
12292        '''
12293         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12294        '''
12295        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12296        '''
12297         ID of the proxy cluster for this resource, if any.
12298        '''
12299        self.schema = schema if schema is not None else ''
12300        '''
12301         The Schema to use to direct initial requests.
12302        '''
12303        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12304        '''
12305         ID of the secret store containing credentials for this resource, if any.
12306        '''
12307        self.subdomain = subdomain if subdomain is not None else ''
12308        '''
12309         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12310        '''
12311        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12312        '''
12313         Tags is a map of key, value pairs.
12314        '''
12315
12316    def __repr__(self):
12317        return '<sdm.Databricks ' + \
12318            'access_token: ' + repr(self.access_token) + ' ' +\
12319            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12320            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12321            'healthy: ' + repr(self.healthy) + ' ' +\
12322            'hostname: ' + repr(self.hostname) + ' ' +\
12323            'http_path: ' + repr(self.http_path) + ' ' +\
12324            'id: ' + repr(self.id) + ' ' +\
12325            'name: ' + repr(self.name) + ' ' +\
12326            'port_override: ' + repr(self.port_override) + ' ' +\
12327            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12328            'schema: ' + repr(self.schema) + ' ' +\
12329            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12330            'subdomain: ' + repr(self.subdomain) + ' ' +\
12331            'tags: ' + repr(self.tags) + ' ' +\
12332            '>'
12333
12334    def to_dict(self):
12335        return {
12336            'access_token': self.access_token,
12337            'bind_interface': self.bind_interface,
12338            'egress_filter': self.egress_filter,
12339            'healthy': self.healthy,
12340            'hostname': self.hostname,
12341            'http_path': self.http_path,
12342            'id': self.id,
12343            'name': self.name,
12344            'port_override': self.port_override,
12345            'proxy_cluster_id': self.proxy_cluster_id,
12346            'schema': self.schema,
12347            'secret_store_id': self.secret_store_id,
12348            'subdomain': self.subdomain,
12349            'tags': self.tags,
12350        }
12351
12352    @classmethod
12353    def from_dict(cls, d):
12354        return cls(
12355            access_token=d.get('access_token'),
12356            bind_interface=d.get('bind_interface'),
12357            egress_filter=d.get('egress_filter'),
12358            healthy=d.get('healthy'),
12359            hostname=d.get('hostname'),
12360            http_path=d.get('http_path'),
12361            id=d.get('id'),
12362            name=d.get('name'),
12363            port_override=d.get('port_override'),
12364            proxy_cluster_id=d.get('proxy_cluster_id'),
12365            schema=d.get('schema'),
12366            secret_store_id=d.get('secret_store_id'),
12367            subdomain=d.get('subdomain'),
12368            tags=d.get('tags'),
12369        )
Databricks( access_token=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, http_path=None, id=None, name=None, port_override=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None)
12242    def __init__(
12243        self,
12244        access_token=None,
12245        bind_interface=None,
12246        egress_filter=None,
12247        healthy=None,
12248        hostname=None,
12249        http_path=None,
12250        id=None,
12251        name=None,
12252        port_override=None,
12253        proxy_cluster_id=None,
12254        schema=None,
12255        secret_store_id=None,
12256        subdomain=None,
12257        tags=None,
12258    ):
12259        self.access_token = access_token if access_token is not None else ''
12260        '''
12261         Databricks Personal Access Token (PAT)
12262        '''
12263        self.bind_interface = bind_interface if bind_interface is not None else ''
12264        '''
12265         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12266        '''
12267        self.egress_filter = egress_filter if egress_filter is not None else ''
12268        '''
12269         A filter applied to the routing logic to pin datasource to nodes.
12270        '''
12271        self.healthy = healthy if healthy is not None else False
12272        '''
12273         True if the datasource is reachable and the credentials are valid.
12274        '''
12275        self.hostname = hostname if hostname is not None else ''
12276        '''
12277         The Databricks workspace hostname (e.g., dbc-xxx.cloud.databricks.com)
12278        '''
12279        self.http_path = http_path if http_path is not None else ''
12280        '''
12281         The HTTP path to the SQL warehouse or cluster (e.g., /sql/1.0/warehouses/xxx)
12282        '''
12283        self.id = id if id is not None else ''
12284        '''
12285         Unique identifier of the Resource.
12286        '''
12287        self.name = name if name is not None else ''
12288        '''
12289         Unique human-readable name of the Resource.
12290        '''
12291        self.port_override = port_override if port_override is not None else 0
12292        '''
12293         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12294        '''
12295        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12296        '''
12297         ID of the proxy cluster for this resource, if any.
12298        '''
12299        self.schema = schema if schema is not None else ''
12300        '''
12301         The Schema to use to direct initial requests.
12302        '''
12303        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12304        '''
12305         ID of the secret store containing credentials for this resource, if any.
12306        '''
12307        self.subdomain = subdomain if subdomain is not None else ''
12308        '''
12309         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12310        '''
12311        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12312        '''
12313         Tags is a map of key, value pairs.
12314        '''
access_token

Databricks Personal Access Token (PAT)

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The Databricks workspace hostname (e.g., dbc-xxx.cloud.databricks.com)

http_path

The HTTP path to the SQL warehouse or cluster (e.g., /sql/1.0/warehouses/xxx)

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

schema

The Schema to use to direct initial requests.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
12334    def to_dict(self):
12335        return {
12336            'access_token': self.access_token,
12337            'bind_interface': self.bind_interface,
12338            'egress_filter': self.egress_filter,
12339            'healthy': self.healthy,
12340            'hostname': self.hostname,
12341            'http_path': self.http_path,
12342            'id': self.id,
12343            'name': self.name,
12344            'port_override': self.port_override,
12345            'proxy_cluster_id': self.proxy_cluster_id,
12346            'schema': self.schema,
12347            'secret_store_id': self.secret_store_id,
12348            'subdomain': self.subdomain,
12349            'tags': self.tags,
12350        }
@classmethod
def from_dict(cls, d)
12352    @classmethod
12353    def from_dict(cls, d):
12354        return cls(
12355            access_token=d.get('access_token'),
12356            bind_interface=d.get('bind_interface'),
12357            egress_filter=d.get('egress_filter'),
12358            healthy=d.get('healthy'),
12359            hostname=d.get('hostname'),
12360            http_path=d.get('http_path'),
12361            id=d.get('id'),
12362            name=d.get('name'),
12363            port_override=d.get('port_override'),
12364            proxy_cluster_id=d.get('proxy_cluster_id'),
12365            schema=d.get('schema'),
12366            secret_store_id=d.get('secret_store_id'),
12367            subdomain=d.get('subdomain'),
12368            tags=d.get('tags'),
12369        )
class DeleteResponseMetadata:
12372class DeleteResponseMetadata:
12373    '''
12374         DeleteResponseMetadata is reserved for future use.
12375    '''
12376    __slots__ = []
12377
12378    def __init__(self, ):
12379        pass
12380
12381    def __repr__(self):
12382        return '<sdm.DeleteResponseMetadata ' + \
12383            '>'
12384
12385    def to_dict(self):
12386        return {}
12387
12388    @classmethod
12389    def from_dict(cls, d):
12390        return cls()

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
12378    def __init__(self, ):
12379        pass
def to_dict(self)
12385    def to_dict(self):
12386        return {}
@classmethod
def from_dict(cls, d)
12388    @classmethod
12389    def from_dict(cls, d):
12390        return cls()
class DelineaStore:
12393class DelineaStore:
12394    __slots__ = [
12395        'id',
12396        'name',
12397        'server_url',
12398        'tags',
12399        'tenant_name',
12400    ]
12401
12402    def __init__(
12403        self,
12404        id=None,
12405        name=None,
12406        server_url=None,
12407        tags=None,
12408        tenant_name=None,
12409    ):
12410        self.id = id if id is not None else ''
12411        '''
12412         Unique identifier of the SecretStore.
12413        '''
12414        self.name = name if name is not None else ''
12415        '''
12416         Unique human-readable name of the SecretStore.
12417        '''
12418        self.server_url = server_url if server_url is not None else ''
12419        '''
12420         The URL of the Delinea instance
12421        '''
12422        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12423        '''
12424         Tags is a map of key, value pairs.
12425        '''
12426        self.tenant_name = tenant_name if tenant_name is not None else ''
12427        '''
12428         The tenant name to target
12429        '''
12430
12431    def __repr__(self):
12432        return '<sdm.DelineaStore ' + \
12433            'id: ' + repr(self.id) + ' ' +\
12434            'name: ' + repr(self.name) + ' ' +\
12435            'server_url: ' + repr(self.server_url) + ' ' +\
12436            'tags: ' + repr(self.tags) + ' ' +\
12437            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
12438            '>'
12439
12440    def to_dict(self):
12441        return {
12442            'id': self.id,
12443            'name': self.name,
12444            'server_url': self.server_url,
12445            'tags': self.tags,
12446            'tenant_name': self.tenant_name,
12447        }
12448
12449    @classmethod
12450    def from_dict(cls, d):
12451        return cls(
12452            id=d.get('id'),
12453            name=d.get('name'),
12454            server_url=d.get('server_url'),
12455            tags=d.get('tags'),
12456            tenant_name=d.get('tenant_name'),
12457        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
12402    def __init__(
12403        self,
12404        id=None,
12405        name=None,
12406        server_url=None,
12407        tags=None,
12408        tenant_name=None,
12409    ):
12410        self.id = id if id is not None else ''
12411        '''
12412         Unique identifier of the SecretStore.
12413        '''
12414        self.name = name if name is not None else ''
12415        '''
12416         Unique human-readable name of the SecretStore.
12417        '''
12418        self.server_url = server_url if server_url is not None else ''
12419        '''
12420         The URL of the Delinea instance
12421        '''
12422        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12423        '''
12424         Tags is a map of key, value pairs.
12425        '''
12426        self.tenant_name = tenant_name if tenant_name is not None else ''
12427        '''
12428         The tenant name to target
12429        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

server_url

The URL of the Delinea instance

tags

Tags is a map of key, value pairs.

tenant_name

The tenant name to target

def to_dict(self)
12440    def to_dict(self):
12441        return {
12442            'id': self.id,
12443            'name': self.name,
12444            'server_url': self.server_url,
12445            'tags': self.tags,
12446            'tenant_name': self.tenant_name,
12447        }
@classmethod
def from_dict(cls, d)
12449    @classmethod
12450    def from_dict(cls, d):
12451        return cls(
12452            id=d.get('id'),
12453            name=d.get('name'),
12454            server_url=d.get('server_url'),
12455            tags=d.get('tags'),
12456            tenant_name=d.get('tenant_name'),
12457        )
class DocumentDBHost:
12460class DocumentDBHost:
12461    __slots__ = [
12462        'auth_database',
12463        'bind_interface',
12464        'egress_filter',
12465        'healthy',
12466        'hostname',
12467        'id',
12468        'name',
12469        'password',
12470        'port',
12471        'port_override',
12472        'proxy_cluster_id',
12473        'secret_store_id',
12474        'subdomain',
12475        'tags',
12476        'username',
12477    ]
12478
12479    def __init__(
12480        self,
12481        auth_database=None,
12482        bind_interface=None,
12483        egress_filter=None,
12484        healthy=None,
12485        hostname=None,
12486        id=None,
12487        name=None,
12488        password=None,
12489        port=None,
12490        port_override=None,
12491        proxy_cluster_id=None,
12492        secret_store_id=None,
12493        subdomain=None,
12494        tags=None,
12495        username=None,
12496    ):
12497        self.auth_database = auth_database if auth_database is not None else ''
12498        '''
12499         The authentication database to use.
12500        '''
12501        self.bind_interface = bind_interface if bind_interface is not None else ''
12502        '''
12503         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12504        '''
12505        self.egress_filter = egress_filter if egress_filter is not None else ''
12506        '''
12507         A filter applied to the routing logic to pin datasource to nodes.
12508        '''
12509        self.healthy = healthy if healthy is not None else False
12510        '''
12511         True if the datasource is reachable and the credentials are valid.
12512        '''
12513        self.hostname = hostname if hostname is not None else ''
12514        '''
12515         The host to dial to initiate a connection from the egress node to this resource.
12516        '''
12517        self.id = id if id is not None else ''
12518        '''
12519         Unique identifier of the Resource.
12520        '''
12521        self.name = name if name is not None else ''
12522        '''
12523         Unique human-readable name of the Resource.
12524        '''
12525        self.password = password if password is not None else ''
12526        '''
12527         The password to authenticate with.
12528        '''
12529        self.port = port if port is not None else 0
12530        '''
12531         The port to dial to initiate a connection from the egress node to this resource.
12532        '''
12533        self.port_override = port_override if port_override is not None else 0
12534        '''
12535         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12536        '''
12537        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12538        '''
12539         ID of the proxy cluster for this resource, if any.
12540        '''
12541        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12542        '''
12543         ID of the secret store containing credentials for this resource, if any.
12544        '''
12545        self.subdomain = subdomain if subdomain is not None else ''
12546        '''
12547         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12548        '''
12549        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12550        '''
12551         Tags is a map of key, value pairs.
12552        '''
12553        self.username = username if username is not None else ''
12554        '''
12555         The username to authenticate with.
12556        '''
12557
12558    def __repr__(self):
12559        return '<sdm.DocumentDBHost ' + \
12560            'auth_database: ' + repr(self.auth_database) + ' ' +\
12561            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12562            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12563            'healthy: ' + repr(self.healthy) + ' ' +\
12564            'hostname: ' + repr(self.hostname) + ' ' +\
12565            'id: ' + repr(self.id) + ' ' +\
12566            'name: ' + repr(self.name) + ' ' +\
12567            'password: ' + repr(self.password) + ' ' +\
12568            'port: ' + repr(self.port) + ' ' +\
12569            'port_override: ' + repr(self.port_override) + ' ' +\
12570            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12571            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12572            'subdomain: ' + repr(self.subdomain) + ' ' +\
12573            'tags: ' + repr(self.tags) + ' ' +\
12574            'username: ' + repr(self.username) + ' ' +\
12575            '>'
12576
12577    def to_dict(self):
12578        return {
12579            'auth_database': self.auth_database,
12580            'bind_interface': self.bind_interface,
12581            'egress_filter': self.egress_filter,
12582            'healthy': self.healthy,
12583            'hostname': self.hostname,
12584            'id': self.id,
12585            'name': self.name,
12586            'password': self.password,
12587            'port': self.port,
12588            'port_override': self.port_override,
12589            'proxy_cluster_id': self.proxy_cluster_id,
12590            'secret_store_id': self.secret_store_id,
12591            'subdomain': self.subdomain,
12592            'tags': self.tags,
12593            'username': self.username,
12594        }
12595
12596    @classmethod
12597    def from_dict(cls, d):
12598        return cls(
12599            auth_database=d.get('auth_database'),
12600            bind_interface=d.get('bind_interface'),
12601            egress_filter=d.get('egress_filter'),
12602            healthy=d.get('healthy'),
12603            hostname=d.get('hostname'),
12604            id=d.get('id'),
12605            name=d.get('name'),
12606            password=d.get('password'),
12607            port=d.get('port'),
12608            port_override=d.get('port_override'),
12609            proxy_cluster_id=d.get('proxy_cluster_id'),
12610            secret_store_id=d.get('secret_store_id'),
12611            subdomain=d.get('subdomain'),
12612            tags=d.get('tags'),
12613            username=d.get('username'),
12614        )
DocumentDBHost( auth_database=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
12479    def __init__(
12480        self,
12481        auth_database=None,
12482        bind_interface=None,
12483        egress_filter=None,
12484        healthy=None,
12485        hostname=None,
12486        id=None,
12487        name=None,
12488        password=None,
12489        port=None,
12490        port_override=None,
12491        proxy_cluster_id=None,
12492        secret_store_id=None,
12493        subdomain=None,
12494        tags=None,
12495        username=None,
12496    ):
12497        self.auth_database = auth_database if auth_database is not None else ''
12498        '''
12499         The authentication database to use.
12500        '''
12501        self.bind_interface = bind_interface if bind_interface is not None else ''
12502        '''
12503         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12504        '''
12505        self.egress_filter = egress_filter if egress_filter is not None else ''
12506        '''
12507         A filter applied to the routing logic to pin datasource to nodes.
12508        '''
12509        self.healthy = healthy if healthy is not None else False
12510        '''
12511         True if the datasource is reachable and the credentials are valid.
12512        '''
12513        self.hostname = hostname if hostname is not None else ''
12514        '''
12515         The host to dial to initiate a connection from the egress node to this resource.
12516        '''
12517        self.id = id if id is not None else ''
12518        '''
12519         Unique identifier of the Resource.
12520        '''
12521        self.name = name if name is not None else ''
12522        '''
12523         Unique human-readable name of the Resource.
12524        '''
12525        self.password = password if password is not None else ''
12526        '''
12527         The password to authenticate with.
12528        '''
12529        self.port = port if port is not None else 0
12530        '''
12531         The port to dial to initiate a connection from the egress node to this resource.
12532        '''
12533        self.port_override = port_override if port_override is not None else 0
12534        '''
12535         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12536        '''
12537        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12538        '''
12539         ID of the proxy cluster for this resource, if any.
12540        '''
12541        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12542        '''
12543         ID of the secret store containing credentials for this resource, if any.
12544        '''
12545        self.subdomain = subdomain if subdomain is not None else ''
12546        '''
12547         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12548        '''
12549        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12550        '''
12551         Tags is a map of key, value pairs.
12552        '''
12553        self.username = username if username is not None else ''
12554        '''
12555         The username to authenticate with.
12556        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
12577    def to_dict(self):
12578        return {
12579            'auth_database': self.auth_database,
12580            'bind_interface': self.bind_interface,
12581            'egress_filter': self.egress_filter,
12582            'healthy': self.healthy,
12583            'hostname': self.hostname,
12584            'id': self.id,
12585            'name': self.name,
12586            'password': self.password,
12587            'port': self.port,
12588            'port_override': self.port_override,
12589            'proxy_cluster_id': self.proxy_cluster_id,
12590            'secret_store_id': self.secret_store_id,
12591            'subdomain': self.subdomain,
12592            'tags': self.tags,
12593            'username': self.username,
12594        }
@classmethod
def from_dict(cls, d)
12596    @classmethod
12597    def from_dict(cls, d):
12598        return cls(
12599            auth_database=d.get('auth_database'),
12600            bind_interface=d.get('bind_interface'),
12601            egress_filter=d.get('egress_filter'),
12602            healthy=d.get('healthy'),
12603            hostname=d.get('hostname'),
12604            id=d.get('id'),
12605            name=d.get('name'),
12606            password=d.get('password'),
12607            port=d.get('port'),
12608            port_override=d.get('port_override'),
12609            proxy_cluster_id=d.get('proxy_cluster_id'),
12610            secret_store_id=d.get('secret_store_id'),
12611            subdomain=d.get('subdomain'),
12612            tags=d.get('tags'),
12613            username=d.get('username'),
12614        )
class DocumentDBHostIAM:
12617class DocumentDBHostIAM:
12618    __slots__ = [
12619        'bind_interface',
12620        'egress_filter',
12621        'healthy',
12622        'hostname',
12623        'id',
12624        'name',
12625        'port',
12626        'port_override',
12627        'proxy_cluster_id',
12628        'region',
12629        'secret_store_id',
12630        'subdomain',
12631        'tags',
12632    ]
12633
12634    def __init__(
12635        self,
12636        bind_interface=None,
12637        egress_filter=None,
12638        healthy=None,
12639        hostname=None,
12640        id=None,
12641        name=None,
12642        port=None,
12643        port_override=None,
12644        proxy_cluster_id=None,
12645        region=None,
12646        secret_store_id=None,
12647        subdomain=None,
12648        tags=None,
12649    ):
12650        self.bind_interface = bind_interface if bind_interface is not None else ''
12651        '''
12652         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12653        '''
12654        self.egress_filter = egress_filter if egress_filter is not None else ''
12655        '''
12656         A filter applied to the routing logic to pin datasource to nodes.
12657        '''
12658        self.healthy = healthy if healthy is not None else False
12659        '''
12660         True if the datasource is reachable and the credentials are valid.
12661        '''
12662        self.hostname = hostname if hostname is not None else ''
12663        '''
12664         The host to dial to initiate a connection from the egress node to this resource.
12665        '''
12666        self.id = id if id is not None else ''
12667        '''
12668         Unique identifier of the Resource.
12669        '''
12670        self.name = name if name is not None else ''
12671        '''
12672         Unique human-readable name of the Resource.
12673        '''
12674        self.port = port if port is not None else 0
12675        '''
12676         The port to dial to initiate a connection from the egress node to this resource.
12677        '''
12678        self.port_override = port_override if port_override is not None else 0
12679        '''
12680         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12681        '''
12682        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12683        '''
12684         ID of the proxy cluster for this resource, if any.
12685        '''
12686        self.region = region if region is not None else ''
12687        '''
12688         The AWS region to connect to.
12689        '''
12690        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12691        '''
12692         ID of the secret store containing credentials for this resource, if any.
12693        '''
12694        self.subdomain = subdomain if subdomain is not None else ''
12695        '''
12696         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12697        '''
12698        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12699        '''
12700         Tags is a map of key, value pairs.
12701        '''
12702
12703    def __repr__(self):
12704        return '<sdm.DocumentDBHostIAM ' + \
12705            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12706            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12707            'healthy: ' + repr(self.healthy) + ' ' +\
12708            'hostname: ' + repr(self.hostname) + ' ' +\
12709            'id: ' + repr(self.id) + ' ' +\
12710            'name: ' + repr(self.name) + ' ' +\
12711            'port: ' + repr(self.port) + ' ' +\
12712            'port_override: ' + repr(self.port_override) + ' ' +\
12713            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12714            'region: ' + repr(self.region) + ' ' +\
12715            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12716            'subdomain: ' + repr(self.subdomain) + ' ' +\
12717            'tags: ' + repr(self.tags) + ' ' +\
12718            '>'
12719
12720    def to_dict(self):
12721        return {
12722            'bind_interface': self.bind_interface,
12723            'egress_filter': self.egress_filter,
12724            'healthy': self.healthy,
12725            'hostname': self.hostname,
12726            'id': self.id,
12727            'name': self.name,
12728            'port': self.port,
12729            'port_override': self.port_override,
12730            'proxy_cluster_id': self.proxy_cluster_id,
12731            'region': self.region,
12732            'secret_store_id': self.secret_store_id,
12733            'subdomain': self.subdomain,
12734            'tags': self.tags,
12735        }
12736
12737    @classmethod
12738    def from_dict(cls, d):
12739        return cls(
12740            bind_interface=d.get('bind_interface'),
12741            egress_filter=d.get('egress_filter'),
12742            healthy=d.get('healthy'),
12743            hostname=d.get('hostname'),
12744            id=d.get('id'),
12745            name=d.get('name'),
12746            port=d.get('port'),
12747            port_override=d.get('port_override'),
12748            proxy_cluster_id=d.get('proxy_cluster_id'),
12749            region=d.get('region'),
12750            secret_store_id=d.get('secret_store_id'),
12751            subdomain=d.get('subdomain'),
12752            tags=d.get('tags'),
12753        )
DocumentDBHostIAM( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, region=None, secret_store_id=None, subdomain=None, tags=None)
12634    def __init__(
12635        self,
12636        bind_interface=None,
12637        egress_filter=None,
12638        healthy=None,
12639        hostname=None,
12640        id=None,
12641        name=None,
12642        port=None,
12643        port_override=None,
12644        proxy_cluster_id=None,
12645        region=None,
12646        secret_store_id=None,
12647        subdomain=None,
12648        tags=None,
12649    ):
12650        self.bind_interface = bind_interface if bind_interface is not None else ''
12651        '''
12652         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12653        '''
12654        self.egress_filter = egress_filter if egress_filter is not None else ''
12655        '''
12656         A filter applied to the routing logic to pin datasource to nodes.
12657        '''
12658        self.healthy = healthy if healthy is not None else False
12659        '''
12660         True if the datasource is reachable and the credentials are valid.
12661        '''
12662        self.hostname = hostname if hostname is not None else ''
12663        '''
12664         The host to dial to initiate a connection from the egress node to this resource.
12665        '''
12666        self.id = id if id is not None else ''
12667        '''
12668         Unique identifier of the Resource.
12669        '''
12670        self.name = name if name is not None else ''
12671        '''
12672         Unique human-readable name of the Resource.
12673        '''
12674        self.port = port if port is not None else 0
12675        '''
12676         The port to dial to initiate a connection from the egress node to this resource.
12677        '''
12678        self.port_override = port_override if port_override is not None else 0
12679        '''
12680         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12681        '''
12682        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12683        '''
12684         ID of the proxy cluster for this resource, if any.
12685        '''
12686        self.region = region if region is not None else ''
12687        '''
12688         The AWS region to connect to.
12689        '''
12690        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12691        '''
12692         ID of the secret store containing credentials for this resource, if any.
12693        '''
12694        self.subdomain = subdomain if subdomain is not None else ''
12695        '''
12696         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12697        '''
12698        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12699        '''
12700         Tags is a map of key, value pairs.
12701        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
12720    def to_dict(self):
12721        return {
12722            'bind_interface': self.bind_interface,
12723            'egress_filter': self.egress_filter,
12724            'healthy': self.healthy,
12725            'hostname': self.hostname,
12726            'id': self.id,
12727            'name': self.name,
12728            'port': self.port,
12729            'port_override': self.port_override,
12730            'proxy_cluster_id': self.proxy_cluster_id,
12731            'region': self.region,
12732            'secret_store_id': self.secret_store_id,
12733            'subdomain': self.subdomain,
12734            'tags': self.tags,
12735        }
@classmethod
def from_dict(cls, d)
12737    @classmethod
12738    def from_dict(cls, d):
12739        return cls(
12740            bind_interface=d.get('bind_interface'),
12741            egress_filter=d.get('egress_filter'),
12742            healthy=d.get('healthy'),
12743            hostname=d.get('hostname'),
12744            id=d.get('id'),
12745            name=d.get('name'),
12746            port=d.get('port'),
12747            port_override=d.get('port_override'),
12748            proxy_cluster_id=d.get('proxy_cluster_id'),
12749            region=d.get('region'),
12750            secret_store_id=d.get('secret_store_id'),
12751            subdomain=d.get('subdomain'),
12752            tags=d.get('tags'),
12753        )
class DocumentDBReplicaSet:
12756class DocumentDBReplicaSet:
12757    __slots__ = [
12758        'auth_database',
12759        'bind_interface',
12760        'connect_to_replica',
12761        'egress_filter',
12762        'healthy',
12763        'hostname',
12764        'id',
12765        'name',
12766        'password',
12767        'port_override',
12768        'proxy_cluster_id',
12769        'secret_store_id',
12770        'subdomain',
12771        'tags',
12772        'username',
12773    ]
12774
12775    def __init__(
12776        self,
12777        auth_database=None,
12778        bind_interface=None,
12779        connect_to_replica=None,
12780        egress_filter=None,
12781        healthy=None,
12782        hostname=None,
12783        id=None,
12784        name=None,
12785        password=None,
12786        port_override=None,
12787        proxy_cluster_id=None,
12788        secret_store_id=None,
12789        subdomain=None,
12790        tags=None,
12791        username=None,
12792    ):
12793        self.auth_database = auth_database if auth_database is not None else ''
12794        '''
12795         The authentication database to use.
12796        '''
12797        self.bind_interface = bind_interface if bind_interface is not None else ''
12798        '''
12799         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12800        '''
12801        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
12802        '''
12803         Set to connect to a replica instead of the primary node.
12804        '''
12805        self.egress_filter = egress_filter if egress_filter is not None else ''
12806        '''
12807         A filter applied to the routing logic to pin datasource to nodes.
12808        '''
12809        self.healthy = healthy if healthy is not None else False
12810        '''
12811         True if the datasource is reachable and the credentials are valid.
12812        '''
12813        self.hostname = hostname if hostname is not None else ''
12814        '''
12815         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
12816        '''
12817        self.id = id if id is not None else ''
12818        '''
12819         Unique identifier of the Resource.
12820        '''
12821        self.name = name if name is not None else ''
12822        '''
12823         Unique human-readable name of the Resource.
12824        '''
12825        self.password = password if password is not None else ''
12826        '''
12827         The password to authenticate with.
12828        '''
12829        self.port_override = port_override if port_override is not None else 0
12830        '''
12831         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12832        '''
12833        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12834        '''
12835         ID of the proxy cluster for this resource, if any.
12836        '''
12837        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12838        '''
12839         ID of the secret store containing credentials for this resource, if any.
12840        '''
12841        self.subdomain = subdomain if subdomain is not None else ''
12842        '''
12843         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12844        '''
12845        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12846        '''
12847         Tags is a map of key, value pairs.
12848        '''
12849        self.username = username if username is not None else ''
12850        '''
12851         The username to authenticate with.
12852        '''
12853
12854    def __repr__(self):
12855        return '<sdm.DocumentDBReplicaSet ' + \
12856            'auth_database: ' + repr(self.auth_database) + ' ' +\
12857            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12858            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
12859            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12860            'healthy: ' + repr(self.healthy) + ' ' +\
12861            'hostname: ' + repr(self.hostname) + ' ' +\
12862            'id: ' + repr(self.id) + ' ' +\
12863            'name: ' + repr(self.name) + ' ' +\
12864            'password: ' + repr(self.password) + ' ' +\
12865            'port_override: ' + repr(self.port_override) + ' ' +\
12866            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12867            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12868            'subdomain: ' + repr(self.subdomain) + ' ' +\
12869            'tags: ' + repr(self.tags) + ' ' +\
12870            'username: ' + repr(self.username) + ' ' +\
12871            '>'
12872
12873    def to_dict(self):
12874        return {
12875            'auth_database': self.auth_database,
12876            'bind_interface': self.bind_interface,
12877            'connect_to_replica': self.connect_to_replica,
12878            'egress_filter': self.egress_filter,
12879            'healthy': self.healthy,
12880            'hostname': self.hostname,
12881            'id': self.id,
12882            'name': self.name,
12883            'password': self.password,
12884            'port_override': self.port_override,
12885            'proxy_cluster_id': self.proxy_cluster_id,
12886            'secret_store_id': self.secret_store_id,
12887            'subdomain': self.subdomain,
12888            'tags': self.tags,
12889            'username': self.username,
12890        }
12891
12892    @classmethod
12893    def from_dict(cls, d):
12894        return cls(
12895            auth_database=d.get('auth_database'),
12896            bind_interface=d.get('bind_interface'),
12897            connect_to_replica=d.get('connect_to_replica'),
12898            egress_filter=d.get('egress_filter'),
12899            healthy=d.get('healthy'),
12900            hostname=d.get('hostname'),
12901            id=d.get('id'),
12902            name=d.get('name'),
12903            password=d.get('password'),
12904            port_override=d.get('port_override'),
12905            proxy_cluster_id=d.get('proxy_cluster_id'),
12906            secret_store_id=d.get('secret_store_id'),
12907            subdomain=d.get('subdomain'),
12908            tags=d.get('tags'),
12909            username=d.get('username'),
12910        )
DocumentDBReplicaSet( auth_database=None, bind_interface=None, connect_to_replica=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
12775    def __init__(
12776        self,
12777        auth_database=None,
12778        bind_interface=None,
12779        connect_to_replica=None,
12780        egress_filter=None,
12781        healthy=None,
12782        hostname=None,
12783        id=None,
12784        name=None,
12785        password=None,
12786        port_override=None,
12787        proxy_cluster_id=None,
12788        secret_store_id=None,
12789        subdomain=None,
12790        tags=None,
12791        username=None,
12792    ):
12793        self.auth_database = auth_database if auth_database is not None else ''
12794        '''
12795         The authentication database to use.
12796        '''
12797        self.bind_interface = bind_interface if bind_interface is not None else ''
12798        '''
12799         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12800        '''
12801        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
12802        '''
12803         Set to connect to a replica instead of the primary node.
12804        '''
12805        self.egress_filter = egress_filter if egress_filter is not None else ''
12806        '''
12807         A filter applied to the routing logic to pin datasource to nodes.
12808        '''
12809        self.healthy = healthy if healthy is not None else False
12810        '''
12811         True if the datasource is reachable and the credentials are valid.
12812        '''
12813        self.hostname = hostname if hostname is not None else ''
12814        '''
12815         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
12816        '''
12817        self.id = id if id is not None else ''
12818        '''
12819         Unique identifier of the Resource.
12820        '''
12821        self.name = name if name is not None else ''
12822        '''
12823         Unique human-readable name of the Resource.
12824        '''
12825        self.password = password if password is not None else ''
12826        '''
12827         The password to authenticate with.
12828        '''
12829        self.port_override = port_override if port_override is not None else 0
12830        '''
12831         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12832        '''
12833        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12834        '''
12835         ID of the proxy cluster for this resource, if any.
12836        '''
12837        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12838        '''
12839         ID of the secret store containing credentials for this resource, if any.
12840        '''
12841        self.subdomain = subdomain if subdomain is not None else ''
12842        '''
12843         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12844        '''
12845        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12846        '''
12847         Tags is a map of key, value pairs.
12848        '''
12849        self.username = username if username is not None else ''
12850        '''
12851         The username to authenticate with.
12852        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

connect_to_replica

Set to connect to a replica instead of the primary node.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
12873    def to_dict(self):
12874        return {
12875            'auth_database': self.auth_database,
12876            'bind_interface': self.bind_interface,
12877            'connect_to_replica': self.connect_to_replica,
12878            'egress_filter': self.egress_filter,
12879            'healthy': self.healthy,
12880            'hostname': self.hostname,
12881            'id': self.id,
12882            'name': self.name,
12883            'password': self.password,
12884            'port_override': self.port_override,
12885            'proxy_cluster_id': self.proxy_cluster_id,
12886            'secret_store_id': self.secret_store_id,
12887            'subdomain': self.subdomain,
12888            'tags': self.tags,
12889            'username': self.username,
12890        }
@classmethod
def from_dict(cls, d)
12892    @classmethod
12893    def from_dict(cls, d):
12894        return cls(
12895            auth_database=d.get('auth_database'),
12896            bind_interface=d.get('bind_interface'),
12897            connect_to_replica=d.get('connect_to_replica'),
12898            egress_filter=d.get('egress_filter'),
12899            healthy=d.get('healthy'),
12900            hostname=d.get('hostname'),
12901            id=d.get('id'),
12902            name=d.get('name'),
12903            password=d.get('password'),
12904            port_override=d.get('port_override'),
12905            proxy_cluster_id=d.get('proxy_cluster_id'),
12906            secret_store_id=d.get('secret_store_id'),
12907            subdomain=d.get('subdomain'),
12908            tags=d.get('tags'),
12909            username=d.get('username'),
12910        )
class DocumentDBReplicaSetIAM:
12913class DocumentDBReplicaSetIAM:
12914    '''
12915    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
12916    without a major version bump.
12917    '''
12918    __slots__ = [
12919        'bind_interface',
12920        'connect_to_replica',
12921        'egress_filter',
12922        'healthy',
12923        'hostname',
12924        'id',
12925        'name',
12926        'port_override',
12927        'proxy_cluster_id',
12928        'region',
12929        'secret_store_id',
12930        'subdomain',
12931        'tags',
12932    ]
12933
12934    def __init__(
12935        self,
12936        bind_interface=None,
12937        connect_to_replica=None,
12938        egress_filter=None,
12939        healthy=None,
12940        hostname=None,
12941        id=None,
12942        name=None,
12943        port_override=None,
12944        proxy_cluster_id=None,
12945        region=None,
12946        secret_store_id=None,
12947        subdomain=None,
12948        tags=None,
12949    ):
12950        self.bind_interface = bind_interface if bind_interface is not None else ''
12951        '''
12952         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12953        '''
12954        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
12955        '''
12956         Set to connect to a replica instead of the primary node.
12957        '''
12958        self.egress_filter = egress_filter if egress_filter is not None else ''
12959        '''
12960         A filter applied to the routing logic to pin datasource to nodes.
12961        '''
12962        self.healthy = healthy if healthy is not None else False
12963        '''
12964         True if the datasource is reachable and the credentials are valid.
12965        '''
12966        self.hostname = hostname if hostname is not None else ''
12967        '''
12968         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
12969        '''
12970        self.id = id if id is not None else ''
12971        '''
12972         Unique identifier of the Resource.
12973        '''
12974        self.name = name if name is not None else ''
12975        '''
12976         Unique human-readable name of the Resource.
12977        '''
12978        self.port_override = port_override if port_override is not None else 0
12979        '''
12980         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12981        '''
12982        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12983        '''
12984         ID of the proxy cluster for this resource, if any.
12985        '''
12986        self.region = region if region is not None else ''
12987        '''
12988         The region of the document db cluster
12989        '''
12990        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12991        '''
12992         ID of the secret store containing credentials for this resource, if any.
12993        '''
12994        self.subdomain = subdomain if subdomain is not None else ''
12995        '''
12996         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12997        '''
12998        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12999        '''
13000         Tags is a map of key, value pairs.
13001        '''
13002
13003    def __repr__(self):
13004        return '<sdm.DocumentDBReplicaSetIAM ' + \
13005            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13006            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
13007            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13008            'healthy: ' + repr(self.healthy) + ' ' +\
13009            'hostname: ' + repr(self.hostname) + ' ' +\
13010            'id: ' + repr(self.id) + ' ' +\
13011            'name: ' + repr(self.name) + ' ' +\
13012            'port_override: ' + repr(self.port_override) + ' ' +\
13013            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13014            'region: ' + repr(self.region) + ' ' +\
13015            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13016            'subdomain: ' + repr(self.subdomain) + ' ' +\
13017            'tags: ' + repr(self.tags) + ' ' +\
13018            '>'
13019
13020    def to_dict(self):
13021        return {
13022            'bind_interface': self.bind_interface,
13023            'connect_to_replica': self.connect_to_replica,
13024            'egress_filter': self.egress_filter,
13025            'healthy': self.healthy,
13026            'hostname': self.hostname,
13027            'id': self.id,
13028            'name': self.name,
13029            'port_override': self.port_override,
13030            'proxy_cluster_id': self.proxy_cluster_id,
13031            'region': self.region,
13032            'secret_store_id': self.secret_store_id,
13033            'subdomain': self.subdomain,
13034            'tags': self.tags,
13035        }
13036
13037    @classmethod
13038    def from_dict(cls, d):
13039        return cls(
13040            bind_interface=d.get('bind_interface'),
13041            connect_to_replica=d.get('connect_to_replica'),
13042            egress_filter=d.get('egress_filter'),
13043            healthy=d.get('healthy'),
13044            hostname=d.get('hostname'),
13045            id=d.get('id'),
13046            name=d.get('name'),
13047            port_override=d.get('port_override'),
13048            proxy_cluster_id=d.get('proxy_cluster_id'),
13049            region=d.get('region'),
13050            secret_store_id=d.get('secret_store_id'),
13051            subdomain=d.get('subdomain'),
13052            tags=d.get('tags'),
13053        )

DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed, without a major version bump.

DocumentDBReplicaSetIAM( bind_interface=None, connect_to_replica=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, secret_store_id=None, subdomain=None, tags=None)
12934    def __init__(
12935        self,
12936        bind_interface=None,
12937        connect_to_replica=None,
12938        egress_filter=None,
12939        healthy=None,
12940        hostname=None,
12941        id=None,
12942        name=None,
12943        port_override=None,
12944        proxy_cluster_id=None,
12945        region=None,
12946        secret_store_id=None,
12947        subdomain=None,
12948        tags=None,
12949    ):
12950        self.bind_interface = bind_interface if bind_interface is not None else ''
12951        '''
12952         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12953        '''
12954        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
12955        '''
12956         Set to connect to a replica instead of the primary node.
12957        '''
12958        self.egress_filter = egress_filter if egress_filter is not None else ''
12959        '''
12960         A filter applied to the routing logic to pin datasource to nodes.
12961        '''
12962        self.healthy = healthy if healthy is not None else False
12963        '''
12964         True if the datasource is reachable and the credentials are valid.
12965        '''
12966        self.hostname = hostname if hostname is not None else ''
12967        '''
12968         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
12969        '''
12970        self.id = id if id is not None else ''
12971        '''
12972         Unique identifier of the Resource.
12973        '''
12974        self.name = name if name is not None else ''
12975        '''
12976         Unique human-readable name of the Resource.
12977        '''
12978        self.port_override = port_override if port_override is not None else 0
12979        '''
12980         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12981        '''
12982        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12983        '''
12984         ID of the proxy cluster for this resource, if any.
12985        '''
12986        self.region = region if region is not None else ''
12987        '''
12988         The region of the document db cluster
12989        '''
12990        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12991        '''
12992         ID of the secret store containing credentials for this resource, if any.
12993        '''
12994        self.subdomain = subdomain if subdomain is not None else ''
12995        '''
12996         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12997        '''
12998        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12999        '''
13000         Tags is a map of key, value pairs.
13001        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

connect_to_replica

Set to connect to a replica instead of the primary node.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The region of the document db cluster

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
13020    def to_dict(self):
13021        return {
13022            'bind_interface': self.bind_interface,
13023            'connect_to_replica': self.connect_to_replica,
13024            'egress_filter': self.egress_filter,
13025            'healthy': self.healthy,
13026            'hostname': self.hostname,
13027            'id': self.id,
13028            'name': self.name,
13029            'port_override': self.port_override,
13030            'proxy_cluster_id': self.proxy_cluster_id,
13031            'region': self.region,
13032            'secret_store_id': self.secret_store_id,
13033            'subdomain': self.subdomain,
13034            'tags': self.tags,
13035        }
@classmethod
def from_dict(cls, d)
13037    @classmethod
13038    def from_dict(cls, d):
13039        return cls(
13040            bind_interface=d.get('bind_interface'),
13041            connect_to_replica=d.get('connect_to_replica'),
13042            egress_filter=d.get('egress_filter'),
13043            healthy=d.get('healthy'),
13044            hostname=d.get('hostname'),
13045            id=d.get('id'),
13046            name=d.get('name'),
13047            port_override=d.get('port_override'),
13048            proxy_cluster_id=d.get('proxy_cluster_id'),
13049            region=d.get('region'),
13050            secret_store_id=d.get('secret_store_id'),
13051            subdomain=d.get('subdomain'),
13052            tags=d.get('tags'),
13053        )
class Druid:
13056class Druid:
13057    __slots__ = [
13058        'bind_interface',
13059        'egress_filter',
13060        'healthy',
13061        'hostname',
13062        'id',
13063        'name',
13064        'password',
13065        'port',
13066        'port_override',
13067        'proxy_cluster_id',
13068        'secret_store_id',
13069        'subdomain',
13070        'tags',
13071        'username',
13072    ]
13073
13074    def __init__(
13075        self,
13076        bind_interface=None,
13077        egress_filter=None,
13078        healthy=None,
13079        hostname=None,
13080        id=None,
13081        name=None,
13082        password=None,
13083        port=None,
13084        port_override=None,
13085        proxy_cluster_id=None,
13086        secret_store_id=None,
13087        subdomain=None,
13088        tags=None,
13089        username=None,
13090    ):
13091        self.bind_interface = bind_interface if bind_interface is not None else ''
13092        '''
13093         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13094        '''
13095        self.egress_filter = egress_filter if egress_filter is not None else ''
13096        '''
13097         A filter applied to the routing logic to pin datasource to nodes.
13098        '''
13099        self.healthy = healthy if healthy is not None else False
13100        '''
13101         True if the datasource is reachable and the credentials are valid.
13102        '''
13103        self.hostname = hostname if hostname is not None else ''
13104        '''
13105         The host to dial to initiate a connection from the egress node to this resource.
13106        '''
13107        self.id = id if id is not None else ''
13108        '''
13109         Unique identifier of the Resource.
13110        '''
13111        self.name = name if name is not None else ''
13112        '''
13113         Unique human-readable name of the Resource.
13114        '''
13115        self.password = password if password is not None else ''
13116        '''
13117         The password to authenticate with.
13118        '''
13119        self.port = port if port is not None else 0
13120        '''
13121         The port to dial to initiate a connection from the egress node to this resource.
13122        '''
13123        self.port_override = port_override if port_override is not None else 0
13124        '''
13125         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13126        '''
13127        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13128        '''
13129         ID of the proxy cluster for this resource, if any.
13130        '''
13131        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13132        '''
13133         ID of the secret store containing credentials for this resource, if any.
13134        '''
13135        self.subdomain = subdomain if subdomain is not None else ''
13136        '''
13137         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13138        '''
13139        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13140        '''
13141         Tags is a map of key, value pairs.
13142        '''
13143        self.username = username if username is not None else ''
13144        '''
13145         The username to authenticate with.
13146        '''
13147
13148    def __repr__(self):
13149        return '<sdm.Druid ' + \
13150            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13151            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13152            'healthy: ' + repr(self.healthy) + ' ' +\
13153            'hostname: ' + repr(self.hostname) + ' ' +\
13154            'id: ' + repr(self.id) + ' ' +\
13155            'name: ' + repr(self.name) + ' ' +\
13156            'password: ' + repr(self.password) + ' ' +\
13157            'port: ' + repr(self.port) + ' ' +\
13158            'port_override: ' + repr(self.port_override) + ' ' +\
13159            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13160            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13161            'subdomain: ' + repr(self.subdomain) + ' ' +\
13162            'tags: ' + repr(self.tags) + ' ' +\
13163            'username: ' + repr(self.username) + ' ' +\
13164            '>'
13165
13166    def to_dict(self):
13167        return {
13168            'bind_interface': self.bind_interface,
13169            'egress_filter': self.egress_filter,
13170            'healthy': self.healthy,
13171            'hostname': self.hostname,
13172            'id': self.id,
13173            'name': self.name,
13174            'password': self.password,
13175            'port': self.port,
13176            'port_override': self.port_override,
13177            'proxy_cluster_id': self.proxy_cluster_id,
13178            'secret_store_id': self.secret_store_id,
13179            'subdomain': self.subdomain,
13180            'tags': self.tags,
13181            'username': self.username,
13182        }
13183
13184    @classmethod
13185    def from_dict(cls, d):
13186        return cls(
13187            bind_interface=d.get('bind_interface'),
13188            egress_filter=d.get('egress_filter'),
13189            healthy=d.get('healthy'),
13190            hostname=d.get('hostname'),
13191            id=d.get('id'),
13192            name=d.get('name'),
13193            password=d.get('password'),
13194            port=d.get('port'),
13195            port_override=d.get('port_override'),
13196            proxy_cluster_id=d.get('proxy_cluster_id'),
13197            secret_store_id=d.get('secret_store_id'),
13198            subdomain=d.get('subdomain'),
13199            tags=d.get('tags'),
13200            username=d.get('username'),
13201        )
Druid( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
13074    def __init__(
13075        self,
13076        bind_interface=None,
13077        egress_filter=None,
13078        healthy=None,
13079        hostname=None,
13080        id=None,
13081        name=None,
13082        password=None,
13083        port=None,
13084        port_override=None,
13085        proxy_cluster_id=None,
13086        secret_store_id=None,
13087        subdomain=None,
13088        tags=None,
13089        username=None,
13090    ):
13091        self.bind_interface = bind_interface if bind_interface is not None else ''
13092        '''
13093         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13094        '''
13095        self.egress_filter = egress_filter if egress_filter is not None else ''
13096        '''
13097         A filter applied to the routing logic to pin datasource to nodes.
13098        '''
13099        self.healthy = healthy if healthy is not None else False
13100        '''
13101         True if the datasource is reachable and the credentials are valid.
13102        '''
13103        self.hostname = hostname if hostname is not None else ''
13104        '''
13105         The host to dial to initiate a connection from the egress node to this resource.
13106        '''
13107        self.id = id if id is not None else ''
13108        '''
13109         Unique identifier of the Resource.
13110        '''
13111        self.name = name if name is not None else ''
13112        '''
13113         Unique human-readable name of the Resource.
13114        '''
13115        self.password = password if password is not None else ''
13116        '''
13117         The password to authenticate with.
13118        '''
13119        self.port = port if port is not None else 0
13120        '''
13121         The port to dial to initiate a connection from the egress node to this resource.
13122        '''
13123        self.port_override = port_override if port_override is not None else 0
13124        '''
13125         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13126        '''
13127        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13128        '''
13129         ID of the proxy cluster for this resource, if any.
13130        '''
13131        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13132        '''
13133         ID of the secret store containing credentials for this resource, if any.
13134        '''
13135        self.subdomain = subdomain if subdomain is not None else ''
13136        '''
13137         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13138        '''
13139        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13140        '''
13141         Tags is a map of key, value pairs.
13142        '''
13143        self.username = username if username is not None else ''
13144        '''
13145         The username to authenticate with.
13146        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
13166    def to_dict(self):
13167        return {
13168            'bind_interface': self.bind_interface,
13169            'egress_filter': self.egress_filter,
13170            'healthy': self.healthy,
13171            'hostname': self.hostname,
13172            'id': self.id,
13173            'name': self.name,
13174            'password': self.password,
13175            'port': self.port,
13176            'port_override': self.port_override,
13177            'proxy_cluster_id': self.proxy_cluster_id,
13178            'secret_store_id': self.secret_store_id,
13179            'subdomain': self.subdomain,
13180            'tags': self.tags,
13181            'username': self.username,
13182        }
@classmethod
def from_dict(cls, d)
13184    @classmethod
13185    def from_dict(cls, d):
13186        return cls(
13187            bind_interface=d.get('bind_interface'),
13188            egress_filter=d.get('egress_filter'),
13189            healthy=d.get('healthy'),
13190            hostname=d.get('hostname'),
13191            id=d.get('id'),
13192            name=d.get('name'),
13193            password=d.get('password'),
13194            port=d.get('port'),
13195            port_override=d.get('port_override'),
13196            proxy_cluster_id=d.get('proxy_cluster_id'),
13197            secret_store_id=d.get('secret_store_id'),
13198            subdomain=d.get('subdomain'),
13199            tags=d.get('tags'),
13200            username=d.get('username'),
13201        )
class DynamoDB:
13204class DynamoDB:
13205    __slots__ = [
13206        'access_key',
13207        'bind_interface',
13208        'egress_filter',
13209        'endpoint',
13210        'healthy',
13211        'id',
13212        'name',
13213        'port_override',
13214        'proxy_cluster_id',
13215        'region',
13216        'role_arn',
13217        'role_external_id',
13218        'secret_access_key',
13219        'secret_store_id',
13220        'subdomain',
13221        'tags',
13222    ]
13223
13224    def __init__(
13225        self,
13226        access_key=None,
13227        bind_interface=None,
13228        egress_filter=None,
13229        endpoint=None,
13230        healthy=None,
13231        id=None,
13232        name=None,
13233        port_override=None,
13234        proxy_cluster_id=None,
13235        region=None,
13236        role_arn=None,
13237        role_external_id=None,
13238        secret_access_key=None,
13239        secret_store_id=None,
13240        subdomain=None,
13241        tags=None,
13242    ):
13243        self.access_key = access_key if access_key is not None else ''
13244        '''
13245         The Access Key ID to use to authenticate.
13246        '''
13247        self.bind_interface = bind_interface if bind_interface is not None else ''
13248        '''
13249         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13250        '''
13251        self.egress_filter = egress_filter if egress_filter is not None else ''
13252        '''
13253         A filter applied to the routing logic to pin datasource to nodes.
13254        '''
13255        self.endpoint = endpoint if endpoint is not None else ''
13256        '''
13257         The endpoint to dial e.g. dynamodb.region.amazonaws.com
13258        '''
13259        self.healthy = healthy if healthy is not None else False
13260        '''
13261         True if the datasource is reachable and the credentials are valid.
13262        '''
13263        self.id = id if id is not None else ''
13264        '''
13265         Unique identifier of the Resource.
13266        '''
13267        self.name = name if name is not None else ''
13268        '''
13269         Unique human-readable name of the Resource.
13270        '''
13271        self.port_override = port_override if port_override is not None else 0
13272        '''
13273         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13274        '''
13275        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13276        '''
13277         ID of the proxy cluster for this resource, if any.
13278        '''
13279        self.region = region if region is not None else ''
13280        '''
13281         The region to authenticate requests against e.g. us-east-1
13282        '''
13283        self.role_arn = role_arn if role_arn is not None else ''
13284        '''
13285         The role to assume after logging in.
13286        '''
13287        self.role_external_id = role_external_id if role_external_id is not None else ''
13288        '''
13289         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13290        '''
13291        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
13292        '''
13293         The Secret Access Key to use to authenticate.
13294        '''
13295        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13296        '''
13297         ID of the secret store containing credentials for this resource, if any.
13298        '''
13299        self.subdomain = subdomain if subdomain is not None else ''
13300        '''
13301         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13302        '''
13303        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13304        '''
13305         Tags is a map of key, value pairs.
13306        '''
13307
13308    def __repr__(self):
13309        return '<sdm.DynamoDB ' + \
13310            'access_key: ' + repr(self.access_key) + ' ' +\
13311            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13312            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13313            'endpoint: ' + repr(self.endpoint) + ' ' +\
13314            'healthy: ' + repr(self.healthy) + ' ' +\
13315            'id: ' + repr(self.id) + ' ' +\
13316            'name: ' + repr(self.name) + ' ' +\
13317            'port_override: ' + repr(self.port_override) + ' ' +\
13318            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13319            'region: ' + repr(self.region) + ' ' +\
13320            'role_arn: ' + repr(self.role_arn) + ' ' +\
13321            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
13322            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
13323            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13324            'subdomain: ' + repr(self.subdomain) + ' ' +\
13325            'tags: ' + repr(self.tags) + ' ' +\
13326            '>'
13327
13328    def to_dict(self):
13329        return {
13330            'access_key': self.access_key,
13331            'bind_interface': self.bind_interface,
13332            'egress_filter': self.egress_filter,
13333            'endpoint': self.endpoint,
13334            'healthy': self.healthy,
13335            'id': self.id,
13336            'name': self.name,
13337            'port_override': self.port_override,
13338            'proxy_cluster_id': self.proxy_cluster_id,
13339            'region': self.region,
13340            'role_arn': self.role_arn,
13341            'role_external_id': self.role_external_id,
13342            'secret_access_key': self.secret_access_key,
13343            'secret_store_id': self.secret_store_id,
13344            'subdomain': self.subdomain,
13345            'tags': self.tags,
13346        }
13347
13348    @classmethod
13349    def from_dict(cls, d):
13350        return cls(
13351            access_key=d.get('access_key'),
13352            bind_interface=d.get('bind_interface'),
13353            egress_filter=d.get('egress_filter'),
13354            endpoint=d.get('endpoint'),
13355            healthy=d.get('healthy'),
13356            id=d.get('id'),
13357            name=d.get('name'),
13358            port_override=d.get('port_override'),
13359            proxy_cluster_id=d.get('proxy_cluster_id'),
13360            region=d.get('region'),
13361            role_arn=d.get('role_arn'),
13362            role_external_id=d.get('role_external_id'),
13363            secret_access_key=d.get('secret_access_key'),
13364            secret_store_id=d.get('secret_store_id'),
13365            subdomain=d.get('subdomain'),
13366            tags=d.get('tags'),
13367        )
DynamoDB( access_key=None, bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
13224    def __init__(
13225        self,
13226        access_key=None,
13227        bind_interface=None,
13228        egress_filter=None,
13229        endpoint=None,
13230        healthy=None,
13231        id=None,
13232        name=None,
13233        port_override=None,
13234        proxy_cluster_id=None,
13235        region=None,
13236        role_arn=None,
13237        role_external_id=None,
13238        secret_access_key=None,
13239        secret_store_id=None,
13240        subdomain=None,
13241        tags=None,
13242    ):
13243        self.access_key = access_key if access_key is not None else ''
13244        '''
13245         The Access Key ID to use to authenticate.
13246        '''
13247        self.bind_interface = bind_interface if bind_interface is not None else ''
13248        '''
13249         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13250        '''
13251        self.egress_filter = egress_filter if egress_filter is not None else ''
13252        '''
13253         A filter applied to the routing logic to pin datasource to nodes.
13254        '''
13255        self.endpoint = endpoint if endpoint is not None else ''
13256        '''
13257         The endpoint to dial e.g. dynamodb.region.amazonaws.com
13258        '''
13259        self.healthy = healthy if healthy is not None else False
13260        '''
13261         True if the datasource is reachable and the credentials are valid.
13262        '''
13263        self.id = id if id is not None else ''
13264        '''
13265         Unique identifier of the Resource.
13266        '''
13267        self.name = name if name is not None else ''
13268        '''
13269         Unique human-readable name of the Resource.
13270        '''
13271        self.port_override = port_override if port_override is not None else 0
13272        '''
13273         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13274        '''
13275        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13276        '''
13277         ID of the proxy cluster for this resource, if any.
13278        '''
13279        self.region = region if region is not None else ''
13280        '''
13281         The region to authenticate requests against e.g. us-east-1
13282        '''
13283        self.role_arn = role_arn if role_arn is not None else ''
13284        '''
13285         The role to assume after logging in.
13286        '''
13287        self.role_external_id = role_external_id if role_external_id is not None else ''
13288        '''
13289         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13290        '''
13291        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
13292        '''
13293         The Secret Access Key to use to authenticate.
13294        '''
13295        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13296        '''
13297         ID of the secret store containing credentials for this resource, if any.
13298        '''
13299        self.subdomain = subdomain if subdomain is not None else ''
13300        '''
13301         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13302        '''
13303        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13304        '''
13305         Tags is a map of key, value pairs.
13306        '''
access_key

The Access Key ID to use to authenticate.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial e.g. dynamodb.region.amazonaws.com

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The region to authenticate requests against e.g. us-east-1

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
13328    def to_dict(self):
13329        return {
13330            'access_key': self.access_key,
13331            'bind_interface': self.bind_interface,
13332            'egress_filter': self.egress_filter,
13333            'endpoint': self.endpoint,
13334            'healthy': self.healthy,
13335            'id': self.id,
13336            'name': self.name,
13337            'port_override': self.port_override,
13338            'proxy_cluster_id': self.proxy_cluster_id,
13339            'region': self.region,
13340            'role_arn': self.role_arn,
13341            'role_external_id': self.role_external_id,
13342            'secret_access_key': self.secret_access_key,
13343            'secret_store_id': self.secret_store_id,
13344            'subdomain': self.subdomain,
13345            'tags': self.tags,
13346        }
@classmethod
def from_dict(cls, d)
13348    @classmethod
13349    def from_dict(cls, d):
13350        return cls(
13351            access_key=d.get('access_key'),
13352            bind_interface=d.get('bind_interface'),
13353            egress_filter=d.get('egress_filter'),
13354            endpoint=d.get('endpoint'),
13355            healthy=d.get('healthy'),
13356            id=d.get('id'),
13357            name=d.get('name'),
13358            port_override=d.get('port_override'),
13359            proxy_cluster_id=d.get('proxy_cluster_id'),
13360            region=d.get('region'),
13361            role_arn=d.get('role_arn'),
13362            role_external_id=d.get('role_external_id'),
13363            secret_access_key=d.get('secret_access_key'),
13364            secret_store_id=d.get('secret_store_id'),
13365            subdomain=d.get('subdomain'),
13366            tags=d.get('tags'),
13367        )
class DynamoDBIAM:
13370class DynamoDBIAM:
13371    __slots__ = [
13372        'bind_interface',
13373        'egress_filter',
13374        'endpoint',
13375        'healthy',
13376        'id',
13377        'name',
13378        'port_override',
13379        'proxy_cluster_id',
13380        'region',
13381        'role_arn',
13382        'role_external_id',
13383        'secret_store_id',
13384        'subdomain',
13385        'tags',
13386    ]
13387
13388    def __init__(
13389        self,
13390        bind_interface=None,
13391        egress_filter=None,
13392        endpoint=None,
13393        healthy=None,
13394        id=None,
13395        name=None,
13396        port_override=None,
13397        proxy_cluster_id=None,
13398        region=None,
13399        role_arn=None,
13400        role_external_id=None,
13401        secret_store_id=None,
13402        subdomain=None,
13403        tags=None,
13404    ):
13405        self.bind_interface = bind_interface if bind_interface is not None else ''
13406        '''
13407         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13408        '''
13409        self.egress_filter = egress_filter if egress_filter is not None else ''
13410        '''
13411         A filter applied to the routing logic to pin datasource to nodes.
13412        '''
13413        self.endpoint = endpoint if endpoint is not None else ''
13414        '''
13415         The endpoint to dial e.g. dynamodb.region.amazonaws.com
13416        '''
13417        self.healthy = healthy if healthy is not None else False
13418        '''
13419         True if the datasource is reachable and the credentials are valid.
13420        '''
13421        self.id = id if id is not None else ''
13422        '''
13423         Unique identifier of the Resource.
13424        '''
13425        self.name = name if name is not None else ''
13426        '''
13427         Unique human-readable name of the Resource.
13428        '''
13429        self.port_override = port_override if port_override is not None else 0
13430        '''
13431         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13432        '''
13433        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13434        '''
13435         ID of the proxy cluster for this resource, if any.
13436        '''
13437        self.region = region if region is not None else ''
13438        '''
13439         The region to authenticate requests against e.g. us-east-1
13440        '''
13441        self.role_arn = role_arn if role_arn is not None else ''
13442        '''
13443         The role to assume after logging in.
13444        '''
13445        self.role_external_id = role_external_id if role_external_id is not None else ''
13446        '''
13447         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13448        '''
13449        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13450        '''
13451         ID of the secret store containing credentials for this resource, if any.
13452        '''
13453        self.subdomain = subdomain if subdomain is not None else ''
13454        '''
13455         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13456        '''
13457        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13458        '''
13459         Tags is a map of key, value pairs.
13460        '''
13461
13462    def __repr__(self):
13463        return '<sdm.DynamoDBIAM ' + \
13464            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13465            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13466            'endpoint: ' + repr(self.endpoint) + ' ' +\
13467            'healthy: ' + repr(self.healthy) + ' ' +\
13468            'id: ' + repr(self.id) + ' ' +\
13469            'name: ' + repr(self.name) + ' ' +\
13470            'port_override: ' + repr(self.port_override) + ' ' +\
13471            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13472            'region: ' + repr(self.region) + ' ' +\
13473            'role_arn: ' + repr(self.role_arn) + ' ' +\
13474            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
13475            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13476            'subdomain: ' + repr(self.subdomain) + ' ' +\
13477            'tags: ' + repr(self.tags) + ' ' +\
13478            '>'
13479
13480    def to_dict(self):
13481        return {
13482            'bind_interface': self.bind_interface,
13483            'egress_filter': self.egress_filter,
13484            'endpoint': self.endpoint,
13485            'healthy': self.healthy,
13486            'id': self.id,
13487            'name': self.name,
13488            'port_override': self.port_override,
13489            'proxy_cluster_id': self.proxy_cluster_id,
13490            'region': self.region,
13491            'role_arn': self.role_arn,
13492            'role_external_id': self.role_external_id,
13493            'secret_store_id': self.secret_store_id,
13494            'subdomain': self.subdomain,
13495            'tags': self.tags,
13496        }
13497
13498    @classmethod
13499    def from_dict(cls, d):
13500        return cls(
13501            bind_interface=d.get('bind_interface'),
13502            egress_filter=d.get('egress_filter'),
13503            endpoint=d.get('endpoint'),
13504            healthy=d.get('healthy'),
13505            id=d.get('id'),
13506            name=d.get('name'),
13507            port_override=d.get('port_override'),
13508            proxy_cluster_id=d.get('proxy_cluster_id'),
13509            region=d.get('region'),
13510            role_arn=d.get('role_arn'),
13511            role_external_id=d.get('role_external_id'),
13512            secret_store_id=d.get('secret_store_id'),
13513            subdomain=d.get('subdomain'),
13514            tags=d.get('tags'),
13515        )
DynamoDBIAM( bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
13388    def __init__(
13389        self,
13390        bind_interface=None,
13391        egress_filter=None,
13392        endpoint=None,
13393        healthy=None,
13394        id=None,
13395        name=None,
13396        port_override=None,
13397        proxy_cluster_id=None,
13398        region=None,
13399        role_arn=None,
13400        role_external_id=None,
13401        secret_store_id=None,
13402        subdomain=None,
13403        tags=None,
13404    ):
13405        self.bind_interface = bind_interface if bind_interface is not None else ''
13406        '''
13407         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13408        '''
13409        self.egress_filter = egress_filter if egress_filter is not None else ''
13410        '''
13411         A filter applied to the routing logic to pin datasource to nodes.
13412        '''
13413        self.endpoint = endpoint if endpoint is not None else ''
13414        '''
13415         The endpoint to dial e.g. dynamodb.region.amazonaws.com
13416        '''
13417        self.healthy = healthy if healthy is not None else False
13418        '''
13419         True if the datasource is reachable and the credentials are valid.
13420        '''
13421        self.id = id if id is not None else ''
13422        '''
13423         Unique identifier of the Resource.
13424        '''
13425        self.name = name if name is not None else ''
13426        '''
13427         Unique human-readable name of the Resource.
13428        '''
13429        self.port_override = port_override if port_override is not None else 0
13430        '''
13431         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13432        '''
13433        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13434        '''
13435         ID of the proxy cluster for this resource, if any.
13436        '''
13437        self.region = region if region is not None else ''
13438        '''
13439         The region to authenticate requests against e.g. us-east-1
13440        '''
13441        self.role_arn = role_arn if role_arn is not None else ''
13442        '''
13443         The role to assume after logging in.
13444        '''
13445        self.role_external_id = role_external_id if role_external_id is not None else ''
13446        '''
13447         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13448        '''
13449        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13450        '''
13451         ID of the secret store containing credentials for this resource, if any.
13452        '''
13453        self.subdomain = subdomain if subdomain is not None else ''
13454        '''
13455         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13456        '''
13457        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13458        '''
13459         Tags is a map of key, value pairs.
13460        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial e.g. dynamodb.region.amazonaws.com

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The region to authenticate requests against e.g. us-east-1

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
13480    def to_dict(self):
13481        return {
13482            'bind_interface': self.bind_interface,
13483            'egress_filter': self.egress_filter,
13484            'endpoint': self.endpoint,
13485            'healthy': self.healthy,
13486            'id': self.id,
13487            'name': self.name,
13488            'port_override': self.port_override,
13489            'proxy_cluster_id': self.proxy_cluster_id,
13490            'region': self.region,
13491            'role_arn': self.role_arn,
13492            'role_external_id': self.role_external_id,
13493            'secret_store_id': self.secret_store_id,
13494            'subdomain': self.subdomain,
13495            'tags': self.tags,
13496        }
@classmethod
def from_dict(cls, d)
13498    @classmethod
13499    def from_dict(cls, d):
13500        return cls(
13501            bind_interface=d.get('bind_interface'),
13502            egress_filter=d.get('egress_filter'),
13503            endpoint=d.get('endpoint'),
13504            healthy=d.get('healthy'),
13505            id=d.get('id'),
13506            name=d.get('name'),
13507            port_override=d.get('port_override'),
13508            proxy_cluster_id=d.get('proxy_cluster_id'),
13509            region=d.get('region'),
13510            role_arn=d.get('role_arn'),
13511            role_external_id=d.get('role_external_id'),
13512            secret_store_id=d.get('secret_store_id'),
13513            subdomain=d.get('subdomain'),
13514            tags=d.get('tags'),
13515        )
class Elastic:
13518class Elastic:
13519    __slots__ = [
13520        'bind_interface',
13521        'egress_filter',
13522        'healthy',
13523        'hostname',
13524        'id',
13525        'name',
13526        'password',
13527        'port',
13528        'port_override',
13529        'proxy_cluster_id',
13530        'secret_store_id',
13531        'subdomain',
13532        'tags',
13533        'tls_required',
13534        'username',
13535    ]
13536
13537    def __init__(
13538        self,
13539        bind_interface=None,
13540        egress_filter=None,
13541        healthy=None,
13542        hostname=None,
13543        id=None,
13544        name=None,
13545        password=None,
13546        port=None,
13547        port_override=None,
13548        proxy_cluster_id=None,
13549        secret_store_id=None,
13550        subdomain=None,
13551        tags=None,
13552        tls_required=None,
13553        username=None,
13554    ):
13555        self.bind_interface = bind_interface if bind_interface is not None else ''
13556        '''
13557         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13558        '''
13559        self.egress_filter = egress_filter if egress_filter is not None else ''
13560        '''
13561         A filter applied to the routing logic to pin datasource to nodes.
13562        '''
13563        self.healthy = healthy if healthy is not None else False
13564        '''
13565         True if the datasource is reachable and the credentials are valid.
13566        '''
13567        self.hostname = hostname if hostname is not None else ''
13568        '''
13569         The host to dial to initiate a connection from the egress node to this resource.
13570        '''
13571        self.id = id if id is not None else ''
13572        '''
13573         Unique identifier of the Resource.
13574        '''
13575        self.name = name if name is not None else ''
13576        '''
13577         Unique human-readable name of the Resource.
13578        '''
13579        self.password = password if password is not None else ''
13580        '''
13581         The password to authenticate with.
13582        '''
13583        self.port = port if port is not None else 0
13584        '''
13585         The port to dial to initiate a connection from the egress node to this resource.
13586        '''
13587        self.port_override = port_override if port_override is not None else 0
13588        '''
13589         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13590        '''
13591        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13592        '''
13593         ID of the proxy cluster for this resource, if any.
13594        '''
13595        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13596        '''
13597         ID of the secret store containing credentials for this resource, if any.
13598        '''
13599        self.subdomain = subdomain if subdomain is not None else ''
13600        '''
13601         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13602        '''
13603        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13604        '''
13605         Tags is a map of key, value pairs.
13606        '''
13607        self.tls_required = tls_required if tls_required is not None else False
13608        '''
13609         If set, TLS must be used to connect to this resource.
13610        '''
13611        self.username = username if username is not None else ''
13612        '''
13613         The username to authenticate with.
13614        '''
13615
13616    def __repr__(self):
13617        return '<sdm.Elastic ' + \
13618            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13619            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13620            'healthy: ' + repr(self.healthy) + ' ' +\
13621            'hostname: ' + repr(self.hostname) + ' ' +\
13622            'id: ' + repr(self.id) + ' ' +\
13623            'name: ' + repr(self.name) + ' ' +\
13624            'password: ' + repr(self.password) + ' ' +\
13625            'port: ' + repr(self.port) + ' ' +\
13626            'port_override: ' + repr(self.port_override) + ' ' +\
13627            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13628            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13629            'subdomain: ' + repr(self.subdomain) + ' ' +\
13630            'tags: ' + repr(self.tags) + ' ' +\
13631            'tls_required: ' + repr(self.tls_required) + ' ' +\
13632            'username: ' + repr(self.username) + ' ' +\
13633            '>'
13634
13635    def to_dict(self):
13636        return {
13637            'bind_interface': self.bind_interface,
13638            'egress_filter': self.egress_filter,
13639            'healthy': self.healthy,
13640            'hostname': self.hostname,
13641            'id': self.id,
13642            'name': self.name,
13643            'password': self.password,
13644            'port': self.port,
13645            'port_override': self.port_override,
13646            'proxy_cluster_id': self.proxy_cluster_id,
13647            'secret_store_id': self.secret_store_id,
13648            'subdomain': self.subdomain,
13649            'tags': self.tags,
13650            'tls_required': self.tls_required,
13651            'username': self.username,
13652        }
13653
13654    @classmethod
13655    def from_dict(cls, d):
13656        return cls(
13657            bind_interface=d.get('bind_interface'),
13658            egress_filter=d.get('egress_filter'),
13659            healthy=d.get('healthy'),
13660            hostname=d.get('hostname'),
13661            id=d.get('id'),
13662            name=d.get('name'),
13663            password=d.get('password'),
13664            port=d.get('port'),
13665            port_override=d.get('port_override'),
13666            proxy_cluster_id=d.get('proxy_cluster_id'),
13667            secret_store_id=d.get('secret_store_id'),
13668            subdomain=d.get('subdomain'),
13669            tags=d.get('tags'),
13670            tls_required=d.get('tls_required'),
13671            username=d.get('username'),
13672        )
Elastic( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
13537    def __init__(
13538        self,
13539        bind_interface=None,
13540        egress_filter=None,
13541        healthy=None,
13542        hostname=None,
13543        id=None,
13544        name=None,
13545        password=None,
13546        port=None,
13547        port_override=None,
13548        proxy_cluster_id=None,
13549        secret_store_id=None,
13550        subdomain=None,
13551        tags=None,
13552        tls_required=None,
13553        username=None,
13554    ):
13555        self.bind_interface = bind_interface if bind_interface is not None else ''
13556        '''
13557         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13558        '''
13559        self.egress_filter = egress_filter if egress_filter is not None else ''
13560        '''
13561         A filter applied to the routing logic to pin datasource to nodes.
13562        '''
13563        self.healthy = healthy if healthy is not None else False
13564        '''
13565         True if the datasource is reachable and the credentials are valid.
13566        '''
13567        self.hostname = hostname if hostname is not None else ''
13568        '''
13569         The host to dial to initiate a connection from the egress node to this resource.
13570        '''
13571        self.id = id if id is not None else ''
13572        '''
13573         Unique identifier of the Resource.
13574        '''
13575        self.name = name if name is not None else ''
13576        '''
13577         Unique human-readable name of the Resource.
13578        '''
13579        self.password = password if password is not None else ''
13580        '''
13581         The password to authenticate with.
13582        '''
13583        self.port = port if port is not None else 0
13584        '''
13585         The port to dial to initiate a connection from the egress node to this resource.
13586        '''
13587        self.port_override = port_override if port_override is not None else 0
13588        '''
13589         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13590        '''
13591        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13592        '''
13593         ID of the proxy cluster for this resource, if any.
13594        '''
13595        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13596        '''
13597         ID of the secret store containing credentials for this resource, if any.
13598        '''
13599        self.subdomain = subdomain if subdomain is not None else ''
13600        '''
13601         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13602        '''
13603        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13604        '''
13605         Tags is a map of key, value pairs.
13606        '''
13607        self.tls_required = tls_required if tls_required is not None else False
13608        '''
13609         If set, TLS must be used to connect to this resource.
13610        '''
13611        self.username = username if username is not None else ''
13612        '''
13613         The username to authenticate with.
13614        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
13635    def to_dict(self):
13636        return {
13637            'bind_interface': self.bind_interface,
13638            'egress_filter': self.egress_filter,
13639            'healthy': self.healthy,
13640            'hostname': self.hostname,
13641            'id': self.id,
13642            'name': self.name,
13643            'password': self.password,
13644            'port': self.port,
13645            'port_override': self.port_override,
13646            'proxy_cluster_id': self.proxy_cluster_id,
13647            'secret_store_id': self.secret_store_id,
13648            'subdomain': self.subdomain,
13649            'tags': self.tags,
13650            'tls_required': self.tls_required,
13651            'username': self.username,
13652        }
@classmethod
def from_dict(cls, d)
13654    @classmethod
13655    def from_dict(cls, d):
13656        return cls(
13657            bind_interface=d.get('bind_interface'),
13658            egress_filter=d.get('egress_filter'),
13659            healthy=d.get('healthy'),
13660            hostname=d.get('hostname'),
13661            id=d.get('id'),
13662            name=d.get('name'),
13663            password=d.get('password'),
13664            port=d.get('port'),
13665            port_override=d.get('port_override'),
13666            proxy_cluster_id=d.get('proxy_cluster_id'),
13667            secret_store_id=d.get('secret_store_id'),
13668            subdomain=d.get('subdomain'),
13669            tags=d.get('tags'),
13670            tls_required=d.get('tls_required'),
13671            username=d.get('username'),
13672        )
class ElasticacheRedis:
13675class ElasticacheRedis:
13676    __slots__ = [
13677        'bind_interface',
13678        'egress_filter',
13679        'healthy',
13680        'hostname',
13681        'id',
13682        'name',
13683        'password',
13684        'port',
13685        'port_override',
13686        'proxy_cluster_id',
13687        'secret_store_id',
13688        'subdomain',
13689        'tags',
13690        'tls_required',
13691        'username',
13692    ]
13693
13694    def __init__(
13695        self,
13696        bind_interface=None,
13697        egress_filter=None,
13698        healthy=None,
13699        hostname=None,
13700        id=None,
13701        name=None,
13702        password=None,
13703        port=None,
13704        port_override=None,
13705        proxy_cluster_id=None,
13706        secret_store_id=None,
13707        subdomain=None,
13708        tags=None,
13709        tls_required=None,
13710        username=None,
13711    ):
13712        self.bind_interface = bind_interface if bind_interface is not None else ''
13713        '''
13714         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13715        '''
13716        self.egress_filter = egress_filter if egress_filter is not None else ''
13717        '''
13718         A filter applied to the routing logic to pin datasource to nodes.
13719        '''
13720        self.healthy = healthy if healthy is not None else False
13721        '''
13722         True if the datasource is reachable and the credentials are valid.
13723        '''
13724        self.hostname = hostname if hostname is not None else ''
13725        '''
13726         The host to dial to initiate a connection from the egress node to this resource.
13727        '''
13728        self.id = id if id is not None else ''
13729        '''
13730         Unique identifier of the Resource.
13731        '''
13732        self.name = name if name is not None else ''
13733        '''
13734         Unique human-readable name of the Resource.
13735        '''
13736        self.password = password if password is not None else ''
13737        '''
13738         The password to authenticate with.
13739        '''
13740        self.port = port if port is not None else 0
13741        '''
13742         The port to dial to initiate a connection from the egress node to this resource.
13743        '''
13744        self.port_override = port_override if port_override is not None else 0
13745        '''
13746         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13747        '''
13748        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13749        '''
13750         ID of the proxy cluster for this resource, if any.
13751        '''
13752        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13753        '''
13754         ID of the secret store containing credentials for this resource, if any.
13755        '''
13756        self.subdomain = subdomain if subdomain is not None else ''
13757        '''
13758         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13759        '''
13760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13761        '''
13762         Tags is a map of key, value pairs.
13763        '''
13764        self.tls_required = tls_required if tls_required is not None else False
13765        '''
13766         If set, TLS must be used to connect to this resource.
13767        '''
13768        self.username = username if username is not None else ''
13769        '''
13770         The username to authenticate with.
13771        '''
13772
13773    def __repr__(self):
13774        return '<sdm.ElasticacheRedis ' + \
13775            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13777            'healthy: ' + repr(self.healthy) + ' ' +\
13778            'hostname: ' + repr(self.hostname) + ' ' +\
13779            'id: ' + repr(self.id) + ' ' +\
13780            'name: ' + repr(self.name) + ' ' +\
13781            'password: ' + repr(self.password) + ' ' +\
13782            'port: ' + repr(self.port) + ' ' +\
13783            'port_override: ' + repr(self.port_override) + ' ' +\
13784            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13785            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13786            'subdomain: ' + repr(self.subdomain) + ' ' +\
13787            'tags: ' + repr(self.tags) + ' ' +\
13788            'tls_required: ' + repr(self.tls_required) + ' ' +\
13789            'username: ' + repr(self.username) + ' ' +\
13790            '>'
13791
13792    def to_dict(self):
13793        return {
13794            'bind_interface': self.bind_interface,
13795            'egress_filter': self.egress_filter,
13796            'healthy': self.healthy,
13797            'hostname': self.hostname,
13798            'id': self.id,
13799            'name': self.name,
13800            'password': self.password,
13801            'port': self.port,
13802            'port_override': self.port_override,
13803            'proxy_cluster_id': self.proxy_cluster_id,
13804            'secret_store_id': self.secret_store_id,
13805            'subdomain': self.subdomain,
13806            'tags': self.tags,
13807            'tls_required': self.tls_required,
13808            'username': self.username,
13809        }
13810
13811    @classmethod
13812    def from_dict(cls, d):
13813        return cls(
13814            bind_interface=d.get('bind_interface'),
13815            egress_filter=d.get('egress_filter'),
13816            healthy=d.get('healthy'),
13817            hostname=d.get('hostname'),
13818            id=d.get('id'),
13819            name=d.get('name'),
13820            password=d.get('password'),
13821            port=d.get('port'),
13822            port_override=d.get('port_override'),
13823            proxy_cluster_id=d.get('proxy_cluster_id'),
13824            secret_store_id=d.get('secret_store_id'),
13825            subdomain=d.get('subdomain'),
13826            tags=d.get('tags'),
13827            tls_required=d.get('tls_required'),
13828            username=d.get('username'),
13829        )
ElasticacheRedis( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
13694    def __init__(
13695        self,
13696        bind_interface=None,
13697        egress_filter=None,
13698        healthy=None,
13699        hostname=None,
13700        id=None,
13701        name=None,
13702        password=None,
13703        port=None,
13704        port_override=None,
13705        proxy_cluster_id=None,
13706        secret_store_id=None,
13707        subdomain=None,
13708        tags=None,
13709        tls_required=None,
13710        username=None,
13711    ):
13712        self.bind_interface = bind_interface if bind_interface is not None else ''
13713        '''
13714         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13715        '''
13716        self.egress_filter = egress_filter if egress_filter is not None else ''
13717        '''
13718         A filter applied to the routing logic to pin datasource to nodes.
13719        '''
13720        self.healthy = healthy if healthy is not None else False
13721        '''
13722         True if the datasource is reachable and the credentials are valid.
13723        '''
13724        self.hostname = hostname if hostname is not None else ''
13725        '''
13726         The host to dial to initiate a connection from the egress node to this resource.
13727        '''
13728        self.id = id if id is not None else ''
13729        '''
13730         Unique identifier of the Resource.
13731        '''
13732        self.name = name if name is not None else ''
13733        '''
13734         Unique human-readable name of the Resource.
13735        '''
13736        self.password = password if password is not None else ''
13737        '''
13738         The password to authenticate with.
13739        '''
13740        self.port = port if port is not None else 0
13741        '''
13742         The port to dial to initiate a connection from the egress node to this resource.
13743        '''
13744        self.port_override = port_override if port_override is not None else 0
13745        '''
13746         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13747        '''
13748        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13749        '''
13750         ID of the proxy cluster for this resource, if any.
13751        '''
13752        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13753        '''
13754         ID of the secret store containing credentials for this resource, if any.
13755        '''
13756        self.subdomain = subdomain if subdomain is not None else ''
13757        '''
13758         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13759        '''
13760        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13761        '''
13762         Tags is a map of key, value pairs.
13763        '''
13764        self.tls_required = tls_required if tls_required is not None else False
13765        '''
13766         If set, TLS must be used to connect to this resource.
13767        '''
13768        self.username = username if username is not None else ''
13769        '''
13770         The username to authenticate with.
13771        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
13792    def to_dict(self):
13793        return {
13794            'bind_interface': self.bind_interface,
13795            'egress_filter': self.egress_filter,
13796            'healthy': self.healthy,
13797            'hostname': self.hostname,
13798            'id': self.id,
13799            'name': self.name,
13800            'password': self.password,
13801            'port': self.port,
13802            'port_override': self.port_override,
13803            'proxy_cluster_id': self.proxy_cluster_id,
13804            'secret_store_id': self.secret_store_id,
13805            'subdomain': self.subdomain,
13806            'tags': self.tags,
13807            'tls_required': self.tls_required,
13808            'username': self.username,
13809        }
@classmethod
def from_dict(cls, d)
13811    @classmethod
13812    def from_dict(cls, d):
13813        return cls(
13814            bind_interface=d.get('bind_interface'),
13815            egress_filter=d.get('egress_filter'),
13816            healthy=d.get('healthy'),
13817            hostname=d.get('hostname'),
13818            id=d.get('id'),
13819            name=d.get('name'),
13820            password=d.get('password'),
13821            port=d.get('port'),
13822            port_override=d.get('port_override'),
13823            proxy_cluster_id=d.get('proxy_cluster_id'),
13824            secret_store_id=d.get('secret_store_id'),
13825            subdomain=d.get('subdomain'),
13826            tags=d.get('tags'),
13827            tls_required=d.get('tls_required'),
13828            username=d.get('username'),
13829        )
class ElasticacheRedisIAM:
13832class ElasticacheRedisIAM:
13833    '''
13834    ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed,
13835    without a major version bump.
13836    '''
13837    __slots__ = [
13838        'bind_interface',
13839        'egress_filter',
13840        'healthy',
13841        'hostname',
13842        'id',
13843        'name',
13844        'port',
13845        'port_override',
13846        'proxy_cluster_id',
13847        'region',
13848        'role_assumption_arn',
13849        'role_external_id',
13850        'secret_store_id',
13851        'subdomain',
13852        'tags',
13853        'tls_required',
13854        'username',
13855    ]
13856
13857    def __init__(
13858        self,
13859        bind_interface=None,
13860        egress_filter=None,
13861        healthy=None,
13862        hostname=None,
13863        id=None,
13864        name=None,
13865        port=None,
13866        port_override=None,
13867        proxy_cluster_id=None,
13868        region=None,
13869        role_assumption_arn=None,
13870        role_external_id=None,
13871        secret_store_id=None,
13872        subdomain=None,
13873        tags=None,
13874        tls_required=None,
13875        username=None,
13876    ):
13877        self.bind_interface = bind_interface if bind_interface is not None else ''
13878        '''
13879         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13880        '''
13881        self.egress_filter = egress_filter if egress_filter is not None else ''
13882        '''
13883         A filter applied to the routing logic to pin datasource to nodes.
13884        '''
13885        self.healthy = healthy if healthy is not None else False
13886        '''
13887         True if the datasource is reachable and the credentials are valid.
13888        '''
13889        self.hostname = hostname if hostname is not None else ''
13890        '''
13891         The host to dial to initiate a connection from the egress node to this resource.
13892        '''
13893        self.id = id if id is not None else ''
13894        '''
13895         Unique identifier of the Resource.
13896        '''
13897        self.name = name if name is not None else ''
13898        '''
13899         Unique human-readable name of the Resource.
13900        '''
13901        self.port = port if port is not None else 0
13902        '''
13903         The port to dial to initiate a connection from the egress node to this resource.
13904        '''
13905        self.port_override = port_override if port_override is not None else 0
13906        '''
13907         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13908        '''
13909        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13910        '''
13911         ID of the proxy cluster for this resource, if any.
13912        '''
13913        self.region = region if region is not None else ''
13914        '''
13915         AWS region is needed in addition to hostname to generate the IAM signature
13916        '''
13917        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
13918        '''
13919         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
13920        '''
13921        self.role_external_id = role_external_id if role_external_id is not None else ''
13922        '''
13923         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13924        '''
13925        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13926        '''
13927         ID of the secret store containing credentials for this resource, if any.
13928        '''
13929        self.subdomain = subdomain if subdomain is not None else ''
13930        '''
13931         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13932        '''
13933        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13934        '''
13935         Tags is a map of key, value pairs.
13936        '''
13937        self.tls_required = tls_required if tls_required is not None else False
13938        '''
13939         If set, TLS must be used to connect to this resource.
13940        '''
13941        self.username = username if username is not None else ''
13942        '''
13943         The username to authenticate with.
13944        '''
13945
13946    def __repr__(self):
13947        return '<sdm.ElasticacheRedisIAM ' + \
13948            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13949            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13950            'healthy: ' + repr(self.healthy) + ' ' +\
13951            'hostname: ' + repr(self.hostname) + ' ' +\
13952            'id: ' + repr(self.id) + ' ' +\
13953            'name: ' + repr(self.name) + ' ' +\
13954            'port: ' + repr(self.port) + ' ' +\
13955            'port_override: ' + repr(self.port_override) + ' ' +\
13956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13957            'region: ' + repr(self.region) + ' ' +\
13958            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
13959            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
13960            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13961            'subdomain: ' + repr(self.subdomain) + ' ' +\
13962            'tags: ' + repr(self.tags) + ' ' +\
13963            'tls_required: ' + repr(self.tls_required) + ' ' +\
13964            'username: ' + repr(self.username) + ' ' +\
13965            '>'
13966
13967    def to_dict(self):
13968        return {
13969            'bind_interface': self.bind_interface,
13970            'egress_filter': self.egress_filter,
13971            'healthy': self.healthy,
13972            'hostname': self.hostname,
13973            'id': self.id,
13974            'name': self.name,
13975            'port': self.port,
13976            'port_override': self.port_override,
13977            'proxy_cluster_id': self.proxy_cluster_id,
13978            'region': self.region,
13979            'role_assumption_arn': self.role_assumption_arn,
13980            'role_external_id': self.role_external_id,
13981            'secret_store_id': self.secret_store_id,
13982            'subdomain': self.subdomain,
13983            'tags': self.tags,
13984            'tls_required': self.tls_required,
13985            'username': self.username,
13986        }
13987
13988    @classmethod
13989    def from_dict(cls, d):
13990        return cls(
13991            bind_interface=d.get('bind_interface'),
13992            egress_filter=d.get('egress_filter'),
13993            healthy=d.get('healthy'),
13994            hostname=d.get('hostname'),
13995            id=d.get('id'),
13996            name=d.get('name'),
13997            port=d.get('port'),
13998            port_override=d.get('port_override'),
13999            proxy_cluster_id=d.get('proxy_cluster_id'),
14000            region=d.get('region'),
14001            role_assumption_arn=d.get('role_assumption_arn'),
14002            role_external_id=d.get('role_external_id'),
14003            secret_store_id=d.get('secret_store_id'),
14004            subdomain=d.get('subdomain'),
14005            tags=d.get('tags'),
14006            tls_required=d.get('tls_required'),
14007            username=d.get('username'),
14008        )

ElasticacheRedisIAM is currently unstable, and its API may change, or it may be removed, without a major version bump.

ElasticacheRedisIAM( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_assumption_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
13857    def __init__(
13858        self,
13859        bind_interface=None,
13860        egress_filter=None,
13861        healthy=None,
13862        hostname=None,
13863        id=None,
13864        name=None,
13865        port=None,
13866        port_override=None,
13867        proxy_cluster_id=None,
13868        region=None,
13869        role_assumption_arn=None,
13870        role_external_id=None,
13871        secret_store_id=None,
13872        subdomain=None,
13873        tags=None,
13874        tls_required=None,
13875        username=None,
13876    ):
13877        self.bind_interface = bind_interface if bind_interface is not None else ''
13878        '''
13879         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13880        '''
13881        self.egress_filter = egress_filter if egress_filter is not None else ''
13882        '''
13883         A filter applied to the routing logic to pin datasource to nodes.
13884        '''
13885        self.healthy = healthy if healthy is not None else False
13886        '''
13887         True if the datasource is reachable and the credentials are valid.
13888        '''
13889        self.hostname = hostname if hostname is not None else ''
13890        '''
13891         The host to dial to initiate a connection from the egress node to this resource.
13892        '''
13893        self.id = id if id is not None else ''
13894        '''
13895         Unique identifier of the Resource.
13896        '''
13897        self.name = name if name is not None else ''
13898        '''
13899         Unique human-readable name of the Resource.
13900        '''
13901        self.port = port if port is not None else 0
13902        '''
13903         The port to dial to initiate a connection from the egress node to this resource.
13904        '''
13905        self.port_override = port_override if port_override is not None else 0
13906        '''
13907         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13908        '''
13909        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13910        '''
13911         ID of the proxy cluster for this resource, if any.
13912        '''
13913        self.region = region if region is not None else ''
13914        '''
13915         AWS region is needed in addition to hostname to generate the IAM signature
13916        '''
13917        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
13918        '''
13919         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
13920        '''
13921        self.role_external_id = role_external_id if role_external_id is not None else ''
13922        '''
13923         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
13924        '''
13925        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13926        '''
13927         ID of the secret store containing credentials for this resource, if any.
13928        '''
13929        self.subdomain = subdomain if subdomain is not None else ''
13930        '''
13931         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13932        '''
13933        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13934        '''
13935         Tags is a map of key, value pairs.
13936        '''
13937        self.tls_required = tls_required if tls_required is not None else False
13938        '''
13939         If set, TLS must be used to connect to this resource.
13940        '''
13941        self.username = username if username is not None else ''
13942        '''
13943         The username to authenticate with.
13944        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

AWS region is needed in addition to hostname to generate the IAM signature

role_assumption_arn

If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
13967    def to_dict(self):
13968        return {
13969            'bind_interface': self.bind_interface,
13970            'egress_filter': self.egress_filter,
13971            'healthy': self.healthy,
13972            'hostname': self.hostname,
13973            'id': self.id,
13974            'name': self.name,
13975            'port': self.port,
13976            'port_override': self.port_override,
13977            'proxy_cluster_id': self.proxy_cluster_id,
13978            'region': self.region,
13979            'role_assumption_arn': self.role_assumption_arn,
13980            'role_external_id': self.role_external_id,
13981            'secret_store_id': self.secret_store_id,
13982            'subdomain': self.subdomain,
13983            'tags': self.tags,
13984            'tls_required': self.tls_required,
13985            'username': self.username,
13986        }
@classmethod
def from_dict(cls, d)
13988    @classmethod
13989    def from_dict(cls, d):
13990        return cls(
13991            bind_interface=d.get('bind_interface'),
13992            egress_filter=d.get('egress_filter'),
13993            healthy=d.get('healthy'),
13994            hostname=d.get('hostname'),
13995            id=d.get('id'),
13996            name=d.get('name'),
13997            port=d.get('port'),
13998            port_override=d.get('port_override'),
13999            proxy_cluster_id=d.get('proxy_cluster_id'),
14000            region=d.get('region'),
14001            role_assumption_arn=d.get('role_assumption_arn'),
14002            role_external_id=d.get('role_external_id'),
14003            secret_store_id=d.get('secret_store_id'),
14004            subdomain=d.get('subdomain'),
14005            tags=d.get('tags'),
14006            tls_required=d.get('tls_required'),
14007            username=d.get('username'),
14008        )
class EntraID:
14011class EntraID:
14012    __slots__ = [
14013        'bind_interface',
14014        'discovery_enabled',
14015        'egress_filter',
14016        'group_names',
14017        'healthy',
14018        'id',
14019        'identity_set_id',
14020        'management_group_id',
14021        'name',
14022        'privilege_levels',
14023        'proxy_cluster_id',
14024        'resource_group_id',
14025        'secret_store_id',
14026        'subdomain',
14027        'subscription_id',
14028        'tags',
14029        'tenant_id',
14030    ]
14031
14032    def __init__(
14033        self,
14034        bind_interface=None,
14035        discovery_enabled=None,
14036        egress_filter=None,
14037        group_names=None,
14038        healthy=None,
14039        id=None,
14040        identity_set_id=None,
14041        management_group_id=None,
14042        name=None,
14043        privilege_levels=None,
14044        proxy_cluster_id=None,
14045        resource_group_id=None,
14046        secret_store_id=None,
14047        subdomain=None,
14048        subscription_id=None,
14049        tags=None,
14050        tenant_id=None,
14051    ):
14052        self.bind_interface = bind_interface if bind_interface is not None else ''
14053        '''
14054         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14055        '''
14056        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14057        '''
14058         If true, configures discovery of the tenant to be run from a node.
14059        '''
14060        self.egress_filter = egress_filter if egress_filter is not None else ''
14061        '''
14062         A filter applied to the routing logic to pin datasource to nodes.
14063        '''
14064        self.group_names = group_names if group_names is not None else ''
14065        '''
14066         comma separated list of group names to filter by. Supports wildcards (*)
14067        '''
14068        self.healthy = healthy if healthy is not None else False
14069        '''
14070         True if the datasource is reachable and the credentials are valid.
14071        '''
14072        self.id = id if id is not None else ''
14073        '''
14074         Unique identifier of the Resource.
14075        '''
14076        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14077        '''
14078         The ID of the identity set to use for identity connections.
14079        '''
14080        self.management_group_id = management_group_id if management_group_id is not None else ''
14081        '''
14082         The management group ID to authenticate scope Privileges to.
14083        '''
14084        self.name = name if name is not None else ''
14085        '''
14086         Unique human-readable name of the Resource.
14087        '''
14088        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
14089        '''
14090         The privilege levels specify which Groups are managed externally
14091        '''
14092        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14093        '''
14094         ID of the proxy cluster for this resource, if any.
14095        '''
14096        self.resource_group_id = resource_group_id if resource_group_id is not None else ''
14097        '''
14098         filters discovered groups to the specified Resource Group
14099        '''
14100        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14101        '''
14102         ID of the secret store containing credentials for this resource, if any.
14103        '''
14104        self.subdomain = subdomain if subdomain is not None else ''
14105        '''
14106         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14107        '''
14108        self.subscription_id = subscription_id if subscription_id is not None else ''
14109        '''
14110         The subscription ID to authenticate scope Privileges to.
14111        '''
14112        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14113        '''
14114         Tags is a map of key, value pairs.
14115        '''
14116        self.tenant_id = tenant_id if tenant_id is not None else ''
14117        '''
14118         The connector ID to authenticate through.
14119        '''
14120
14121    def __repr__(self):
14122        return '<sdm.EntraID ' + \
14123            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14124            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
14125            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14126            'group_names: ' + repr(self.group_names) + ' ' +\
14127            'healthy: ' + repr(self.healthy) + ' ' +\
14128            'id: ' + repr(self.id) + ' ' +\
14129            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14130            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
14131            'name: ' + repr(self.name) + ' ' +\
14132            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
14133            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14134            'resource_group_id: ' + repr(self.resource_group_id) + ' ' +\
14135            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14136            'subdomain: ' + repr(self.subdomain) + ' ' +\
14137            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
14138            'tags: ' + repr(self.tags) + ' ' +\
14139            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
14140            '>'
14141
14142    def to_dict(self):
14143        return {
14144            'bind_interface': self.bind_interface,
14145            'discovery_enabled': self.discovery_enabled,
14146            'egress_filter': self.egress_filter,
14147            'group_names': self.group_names,
14148            'healthy': self.healthy,
14149            'id': self.id,
14150            'identity_set_id': self.identity_set_id,
14151            'management_group_id': self.management_group_id,
14152            'name': self.name,
14153            'privilege_levels': self.privilege_levels,
14154            'proxy_cluster_id': self.proxy_cluster_id,
14155            'resource_group_id': self.resource_group_id,
14156            'secret_store_id': self.secret_store_id,
14157            'subdomain': self.subdomain,
14158            'subscription_id': self.subscription_id,
14159            'tags': self.tags,
14160            'tenant_id': self.tenant_id,
14161        }
14162
14163    @classmethod
14164    def from_dict(cls, d):
14165        return cls(
14166            bind_interface=d.get('bind_interface'),
14167            discovery_enabled=d.get('discovery_enabled'),
14168            egress_filter=d.get('egress_filter'),
14169            group_names=d.get('group_names'),
14170            healthy=d.get('healthy'),
14171            id=d.get('id'),
14172            identity_set_id=d.get('identity_set_id'),
14173            management_group_id=d.get('management_group_id'),
14174            name=d.get('name'),
14175            privilege_levels=d.get('privilege_levels'),
14176            proxy_cluster_id=d.get('proxy_cluster_id'),
14177            resource_group_id=d.get('resource_group_id'),
14178            secret_store_id=d.get('secret_store_id'),
14179            subdomain=d.get('subdomain'),
14180            subscription_id=d.get('subscription_id'),
14181            tags=d.get('tags'),
14182            tenant_id=d.get('tenant_id'),
14183        )
EntraID( bind_interface=None, discovery_enabled=None, egress_filter=None, group_names=None, healthy=None, id=None, identity_set_id=None, management_group_id=None, name=None, privilege_levels=None, proxy_cluster_id=None, resource_group_id=None, secret_store_id=None, subdomain=None, subscription_id=None, tags=None, tenant_id=None)
14032    def __init__(
14033        self,
14034        bind_interface=None,
14035        discovery_enabled=None,
14036        egress_filter=None,
14037        group_names=None,
14038        healthy=None,
14039        id=None,
14040        identity_set_id=None,
14041        management_group_id=None,
14042        name=None,
14043        privilege_levels=None,
14044        proxy_cluster_id=None,
14045        resource_group_id=None,
14046        secret_store_id=None,
14047        subdomain=None,
14048        subscription_id=None,
14049        tags=None,
14050        tenant_id=None,
14051    ):
14052        self.bind_interface = bind_interface if bind_interface is not None else ''
14053        '''
14054         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14055        '''
14056        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
14057        '''
14058         If true, configures discovery of the tenant to be run from a node.
14059        '''
14060        self.egress_filter = egress_filter if egress_filter is not None else ''
14061        '''
14062         A filter applied to the routing logic to pin datasource to nodes.
14063        '''
14064        self.group_names = group_names if group_names is not None else ''
14065        '''
14066         comma separated list of group names to filter by. Supports wildcards (*)
14067        '''
14068        self.healthy = healthy if healthy is not None else False
14069        '''
14070         True if the datasource is reachable and the credentials are valid.
14071        '''
14072        self.id = id if id is not None else ''
14073        '''
14074         Unique identifier of the Resource.
14075        '''
14076        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14077        '''
14078         The ID of the identity set to use for identity connections.
14079        '''
14080        self.management_group_id = management_group_id if management_group_id is not None else ''
14081        '''
14082         The management group ID to authenticate scope Privileges to.
14083        '''
14084        self.name = name if name is not None else ''
14085        '''
14086         Unique human-readable name of the Resource.
14087        '''
14088        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
14089        '''
14090         The privilege levels specify which Groups are managed externally
14091        '''
14092        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14093        '''
14094         ID of the proxy cluster for this resource, if any.
14095        '''
14096        self.resource_group_id = resource_group_id if resource_group_id is not None else ''
14097        '''
14098         filters discovered groups to the specified Resource Group
14099        '''
14100        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14101        '''
14102         ID of the secret store containing credentials for this resource, if any.
14103        '''
14104        self.subdomain = subdomain if subdomain is not None else ''
14105        '''
14106         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14107        '''
14108        self.subscription_id = subscription_id if subscription_id is not None else ''
14109        '''
14110         The subscription ID to authenticate scope Privileges to.
14111        '''
14112        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14113        '''
14114         Tags is a map of key, value pairs.
14115        '''
14116        self.tenant_id = tenant_id if tenant_id is not None else ''
14117        '''
14118         The connector ID to authenticate through.
14119        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

discovery_enabled

If true, configures discovery of the tenant to be run from a node.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

group_names

comma separated list of group names to filter by. Supports wildcards (*)

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_set_id

The ID of the identity set to use for identity connections.

management_group_id

The management group ID to authenticate scope Privileges to.

name

Unique human-readable name of the Resource.

privilege_levels

The privilege levels specify which Groups are managed externally

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

resource_group_id

filters discovered groups to the specified Resource Group

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

subscription_id

The subscription ID to authenticate scope Privileges to.

tags

Tags is a map of key, value pairs.

tenant_id

The connector ID to authenticate through.

def to_dict(self)
14142    def to_dict(self):
14143        return {
14144            'bind_interface': self.bind_interface,
14145            'discovery_enabled': self.discovery_enabled,
14146            'egress_filter': self.egress_filter,
14147            'group_names': self.group_names,
14148            'healthy': self.healthy,
14149            'id': self.id,
14150            'identity_set_id': self.identity_set_id,
14151            'management_group_id': self.management_group_id,
14152            'name': self.name,
14153            'privilege_levels': self.privilege_levels,
14154            'proxy_cluster_id': self.proxy_cluster_id,
14155            'resource_group_id': self.resource_group_id,
14156            'secret_store_id': self.secret_store_id,
14157            'subdomain': self.subdomain,
14158            'subscription_id': self.subscription_id,
14159            'tags': self.tags,
14160            'tenant_id': self.tenant_id,
14161        }
@classmethod
def from_dict(cls, d)
14163    @classmethod
14164    def from_dict(cls, d):
14165        return cls(
14166            bind_interface=d.get('bind_interface'),
14167            discovery_enabled=d.get('discovery_enabled'),
14168            egress_filter=d.get('egress_filter'),
14169            group_names=d.get('group_names'),
14170            healthy=d.get('healthy'),
14171            id=d.get('id'),
14172            identity_set_id=d.get('identity_set_id'),
14173            management_group_id=d.get('management_group_id'),
14174            name=d.get('name'),
14175            privilege_levels=d.get('privilege_levels'),
14176            proxy_cluster_id=d.get('proxy_cluster_id'),
14177            resource_group_id=d.get('resource_group_id'),
14178            secret_store_id=d.get('secret_store_id'),
14179            subdomain=d.get('subdomain'),
14180            subscription_id=d.get('subscription_id'),
14181            tags=d.get('tags'),
14182            tenant_id=d.get('tenant_id'),
14183        )
class GCP:
14186class GCP:
14187    __slots__ = [
14188        'bind_interface',
14189        'egress_filter',
14190        'healthy',
14191        'id',
14192        'keyfile',
14193        'name',
14194        'port_override',
14195        'proxy_cluster_id',
14196        'scopes',
14197        'secret_store_id',
14198        'subdomain',
14199        'tags',
14200    ]
14201
14202    def __init__(
14203        self,
14204        bind_interface=None,
14205        egress_filter=None,
14206        healthy=None,
14207        id=None,
14208        keyfile=None,
14209        name=None,
14210        port_override=None,
14211        proxy_cluster_id=None,
14212        scopes=None,
14213        secret_store_id=None,
14214        subdomain=None,
14215        tags=None,
14216    ):
14217        self.bind_interface = bind_interface if bind_interface is not None else ''
14218        '''
14219         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14220        '''
14221        self.egress_filter = egress_filter if egress_filter is not None else ''
14222        '''
14223         A filter applied to the routing logic to pin datasource to nodes.
14224        '''
14225        self.healthy = healthy if healthy is not None else False
14226        '''
14227         True if the datasource is reachable and the credentials are valid.
14228        '''
14229        self.id = id if id is not None else ''
14230        '''
14231         Unique identifier of the Resource.
14232        '''
14233        self.keyfile = keyfile if keyfile is not None else ''
14234        '''
14235         The service account keyfile to authenticate with.
14236        '''
14237        self.name = name if name is not None else ''
14238        '''
14239         Unique human-readable name of the Resource.
14240        '''
14241        self.port_override = port_override if port_override is not None else 0
14242        '''
14243         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14244        '''
14245        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14246        '''
14247         ID of the proxy cluster for this resource, if any.
14248        '''
14249        self.scopes = scopes if scopes is not None else ''
14250        '''
14251         Space separated scopes that this login should assume into when authenticating.
14252        '''
14253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14254        '''
14255         ID of the secret store containing credentials for this resource, if any.
14256        '''
14257        self.subdomain = subdomain if subdomain is not None else ''
14258        '''
14259         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14260        '''
14261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14262        '''
14263         Tags is a map of key, value pairs.
14264        '''
14265
14266    def __repr__(self):
14267        return '<sdm.GCP ' + \
14268            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14269            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14270            'healthy: ' + repr(self.healthy) + ' ' +\
14271            'id: ' + repr(self.id) + ' ' +\
14272            'keyfile: ' + repr(self.keyfile) + ' ' +\
14273            'name: ' + repr(self.name) + ' ' +\
14274            'port_override: ' + repr(self.port_override) + ' ' +\
14275            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14276            'scopes: ' + repr(self.scopes) + ' ' +\
14277            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14278            'subdomain: ' + repr(self.subdomain) + ' ' +\
14279            'tags: ' + repr(self.tags) + ' ' +\
14280            '>'
14281
14282    def to_dict(self):
14283        return {
14284            'bind_interface': self.bind_interface,
14285            'egress_filter': self.egress_filter,
14286            'healthy': self.healthy,
14287            'id': self.id,
14288            'keyfile': self.keyfile,
14289            'name': self.name,
14290            'port_override': self.port_override,
14291            'proxy_cluster_id': self.proxy_cluster_id,
14292            'scopes': self.scopes,
14293            'secret_store_id': self.secret_store_id,
14294            'subdomain': self.subdomain,
14295            'tags': self.tags,
14296        }
14297
14298    @classmethod
14299    def from_dict(cls, d):
14300        return cls(
14301            bind_interface=d.get('bind_interface'),
14302            egress_filter=d.get('egress_filter'),
14303            healthy=d.get('healthy'),
14304            id=d.get('id'),
14305            keyfile=d.get('keyfile'),
14306            name=d.get('name'),
14307            port_override=d.get('port_override'),
14308            proxy_cluster_id=d.get('proxy_cluster_id'),
14309            scopes=d.get('scopes'),
14310            secret_store_id=d.get('secret_store_id'),
14311            subdomain=d.get('subdomain'),
14312            tags=d.get('tags'),
14313        )
GCP( bind_interface=None, egress_filter=None, healthy=None, id=None, keyfile=None, name=None, port_override=None, proxy_cluster_id=None, scopes=None, secret_store_id=None, subdomain=None, tags=None)
14202    def __init__(
14203        self,
14204        bind_interface=None,
14205        egress_filter=None,
14206        healthy=None,
14207        id=None,
14208        keyfile=None,
14209        name=None,
14210        port_override=None,
14211        proxy_cluster_id=None,
14212        scopes=None,
14213        secret_store_id=None,
14214        subdomain=None,
14215        tags=None,
14216    ):
14217        self.bind_interface = bind_interface if bind_interface is not None else ''
14218        '''
14219         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14220        '''
14221        self.egress_filter = egress_filter if egress_filter is not None else ''
14222        '''
14223         A filter applied to the routing logic to pin datasource to nodes.
14224        '''
14225        self.healthy = healthy if healthy is not None else False
14226        '''
14227         True if the datasource is reachable and the credentials are valid.
14228        '''
14229        self.id = id if id is not None else ''
14230        '''
14231         Unique identifier of the Resource.
14232        '''
14233        self.keyfile = keyfile if keyfile is not None else ''
14234        '''
14235         The service account keyfile to authenticate with.
14236        '''
14237        self.name = name if name is not None else ''
14238        '''
14239         Unique human-readable name of the Resource.
14240        '''
14241        self.port_override = port_override if port_override is not None else 0
14242        '''
14243         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14244        '''
14245        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14246        '''
14247         ID of the proxy cluster for this resource, if any.
14248        '''
14249        self.scopes = scopes if scopes is not None else ''
14250        '''
14251         Space separated scopes that this login should assume into when authenticating.
14252        '''
14253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14254        '''
14255         ID of the secret store containing credentials for this resource, if any.
14256        '''
14257        self.subdomain = subdomain if subdomain is not None else ''
14258        '''
14259         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14260        '''
14261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14262        '''
14263         Tags is a map of key, value pairs.
14264        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

keyfile

The service account keyfile to authenticate with.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

scopes

Space separated scopes that this login should assume into when authenticating.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
14282    def to_dict(self):
14283        return {
14284            'bind_interface': self.bind_interface,
14285            'egress_filter': self.egress_filter,
14286            'healthy': self.healthy,
14287            'id': self.id,
14288            'keyfile': self.keyfile,
14289            'name': self.name,
14290            'port_override': self.port_override,
14291            'proxy_cluster_id': self.proxy_cluster_id,
14292            'scopes': self.scopes,
14293            'secret_store_id': self.secret_store_id,
14294            'subdomain': self.subdomain,
14295            'tags': self.tags,
14296        }
@classmethod
def from_dict(cls, d)
14298    @classmethod
14299    def from_dict(cls, d):
14300        return cls(
14301            bind_interface=d.get('bind_interface'),
14302            egress_filter=d.get('egress_filter'),
14303            healthy=d.get('healthy'),
14304            id=d.get('id'),
14305            keyfile=d.get('keyfile'),
14306            name=d.get('name'),
14307            port_override=d.get('port_override'),
14308            proxy_cluster_id=d.get('proxy_cluster_id'),
14309            scopes=d.get('scopes'),
14310            secret_store_id=d.get('secret_store_id'),
14311            subdomain=d.get('subdomain'),
14312            tags=d.get('tags'),
14313        )
class GCPCertX509Store:
14316class GCPCertX509Store:
14317    __slots__ = [
14318        'caid',
14319        'capoolid',
14320        'id',
14321        'issuedcertttlminutes',
14322        'location',
14323        'name',
14324        'projectid',
14325        'tags',
14326    ]
14327
14328    def __init__(
14329        self,
14330        caid=None,
14331        capoolid=None,
14332        id=None,
14333        issuedcertttlminutes=None,
14334        location=None,
14335        name=None,
14336        projectid=None,
14337        tags=None,
14338    ):
14339        self.caid = caid if caid is not None else ''
14340        '''
14341         The ID of the target CA
14342        '''
14343        self.capoolid = capoolid if capoolid is not None else ''
14344        '''
14345         The ID of the target CA pool
14346        '''
14347        self.id = id if id is not None else ''
14348        '''
14349         Unique identifier of the SecretStore.
14350        '''
14351        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
14352        '''
14353         The lifetime of certificates issued by this CA represented in minutes.
14354        '''
14355        self.location = location if location is not None else ''
14356        '''
14357         The Region for the CA in GCP format e.g. us-west1
14358        '''
14359        self.name = name if name is not None else ''
14360        '''
14361         Unique human-readable name of the SecretStore.
14362        '''
14363        self.projectid = projectid if projectid is not None else ''
14364        '''
14365         The GCP project ID to target.
14366        '''
14367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14368        '''
14369         Tags is a map of key, value pairs.
14370        '''
14371
14372    def __repr__(self):
14373        return '<sdm.GCPCertX509Store ' + \
14374            'caid: ' + repr(self.caid) + ' ' +\
14375            'capoolid: ' + repr(self.capoolid) + ' ' +\
14376            'id: ' + repr(self.id) + ' ' +\
14377            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
14378            'location: ' + repr(self.location) + ' ' +\
14379            'name: ' + repr(self.name) + ' ' +\
14380            'projectid: ' + repr(self.projectid) + ' ' +\
14381            'tags: ' + repr(self.tags) + ' ' +\
14382            '>'
14383
14384    def to_dict(self):
14385        return {
14386            'caid': self.caid,
14387            'capoolid': self.capoolid,
14388            'id': self.id,
14389            'issuedcertttlminutes': self.issuedcertttlminutes,
14390            'location': self.location,
14391            'name': self.name,
14392            'projectid': self.projectid,
14393            'tags': self.tags,
14394        }
14395
14396    @classmethod
14397    def from_dict(cls, d):
14398        return cls(
14399            caid=d.get('caid'),
14400            capoolid=d.get('capoolid'),
14401            id=d.get('id'),
14402            issuedcertttlminutes=d.get('issuedcertttlminutes'),
14403            location=d.get('location'),
14404            name=d.get('name'),
14405            projectid=d.get('projectid'),
14406            tags=d.get('tags'),
14407        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
14328    def __init__(
14329        self,
14330        caid=None,
14331        capoolid=None,
14332        id=None,
14333        issuedcertttlminutes=None,
14334        location=None,
14335        name=None,
14336        projectid=None,
14337        tags=None,
14338    ):
14339        self.caid = caid if caid is not None else ''
14340        '''
14341         The ID of the target CA
14342        '''
14343        self.capoolid = capoolid if capoolid is not None else ''
14344        '''
14345         The ID of the target CA pool
14346        '''
14347        self.id = id if id is not None else ''
14348        '''
14349         Unique identifier of the SecretStore.
14350        '''
14351        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
14352        '''
14353         The lifetime of certificates issued by this CA represented in minutes.
14354        '''
14355        self.location = location if location is not None else ''
14356        '''
14357         The Region for the CA in GCP format e.g. us-west1
14358        '''
14359        self.name = name if name is not None else ''
14360        '''
14361         Unique human-readable name of the SecretStore.
14362        '''
14363        self.projectid = projectid if projectid is not None else ''
14364        '''
14365         The GCP project ID to target.
14366        '''
14367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14368        '''
14369         Tags is a map of key, value pairs.
14370        '''
caid

The ID of the target CA

capoolid

The ID of the target CA pool

id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

location

The Region for the CA in GCP format e.g. us-west1

name

Unique human-readable name of the SecretStore.

projectid

The GCP project ID to target.

tags

Tags is a map of key, value pairs.

def to_dict(self)
14384    def to_dict(self):
14385        return {
14386            'caid': self.caid,
14387            'capoolid': self.capoolid,
14388            'id': self.id,
14389            'issuedcertttlminutes': self.issuedcertttlminutes,
14390            'location': self.location,
14391            'name': self.name,
14392            'projectid': self.projectid,
14393            'tags': self.tags,
14394        }
@classmethod
def from_dict(cls, d)
14396    @classmethod
14397    def from_dict(cls, d):
14398        return cls(
14399            caid=d.get('caid'),
14400            capoolid=d.get('capoolid'),
14401            id=d.get('id'),
14402            issuedcertttlminutes=d.get('issuedcertttlminutes'),
14403            location=d.get('location'),
14404            name=d.get('name'),
14405            projectid=d.get('projectid'),
14406            tags=d.get('tags'),
14407        )
class GCPConnector:
14410class GCPConnector:
14411    __slots__ = [
14412        'description',
14413        'exclude_tags',
14414        'id',
14415        'include_tags',
14416        'name',
14417        'project_ids',
14418        'scan_period',
14419        'services',
14420        'workload_pool_id',
14421        'workload_project_id',
14422        'workload_project_number',
14423        'workload_provider_id',
14424    ]
14425
14426    def __init__(
14427        self,
14428        description=None,
14429        exclude_tags=None,
14430        id=None,
14431        include_tags=None,
14432        name=None,
14433        project_ids=None,
14434        scan_period=None,
14435        services=None,
14436        workload_pool_id=None,
14437        workload_project_id=None,
14438        workload_project_number=None,
14439        workload_provider_id=None,
14440    ):
14441        self.description = description if description is not None else ''
14442        '''
14443         Description of the Connector.
14444        '''
14445        self.exclude_tags = exclude_tags if exclude_tags is not None else []
14446        '''
14447         ExcludeTags filters out discovered resources that have the tag and value.
14448         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
14449        '''
14450        self.id = id if id is not None else ''
14451        '''
14452         Unique identifier of the Connector.
14453        '''
14454        self.include_tags = include_tags if include_tags is not None else []
14455        '''
14456         IncludeTags only discovers cloud resources that have one of the included tags.
14457         We do not allow duplicate tag names for IncludeTags
14458        '''
14459        self.name = name if name is not None else ''
14460        '''
14461         Unique human-readable name of the Connector.
14462        '''
14463        self.project_ids = project_ids if project_ids is not None else []
14464        '''
14465         ProjectIds is the list of GCP Projects the connector will scan
14466        '''
14467        self.scan_period = scan_period if scan_period is not None else ''
14468        '''
14469         ScanPeriod identifies which remote system this Connector discovers
14470        '''
14471        self.services = services if services is not None else []
14472        '''
14473         Services is a list of services this connector should scan.
14474        '''
14475        self.workload_pool_id = workload_pool_id if workload_pool_id is not None else ''
14476        '''
14477         WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT
14478        '''
14479        self.workload_project_id = workload_project_id if workload_project_id is not None else ''
14480        '''
14481         WorkloadProjectId is the GCP Project ID where the Workload Pool is defined
14482        '''
14483        self.workload_project_number = workload_project_number if workload_project_number is not None else ''
14484        '''
14485         WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined
14486        '''
14487        self.workload_provider_id = workload_provider_id if workload_provider_id is not None else ''
14488        '''
14489         WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT
14490        '''
14491
14492    def __repr__(self):
14493        return '<sdm.GCPConnector ' + \
14494            'description: ' + repr(self.description) + ' ' +\
14495            'exclude_tags: ' + repr(self.exclude_tags) + ' ' +\
14496            'id: ' + repr(self.id) + ' ' +\
14497            'include_tags: ' + repr(self.include_tags) + ' ' +\
14498            'name: ' + repr(self.name) + ' ' +\
14499            'project_ids: ' + repr(self.project_ids) + ' ' +\
14500            'scan_period: ' + repr(self.scan_period) + ' ' +\
14501            'services: ' + repr(self.services) + ' ' +\
14502            'workload_pool_id: ' + repr(self.workload_pool_id) + ' ' +\
14503            'workload_project_id: ' + repr(self.workload_project_id) + ' ' +\
14504            'workload_project_number: ' + repr(self.workload_project_number) + ' ' +\
14505            'workload_provider_id: ' + repr(self.workload_provider_id) + ' ' +\
14506            '>'
14507
14508    def to_dict(self):
14509        return {
14510            'description': self.description,
14511            'exclude_tags': self.exclude_tags,
14512            'id': self.id,
14513            'include_tags': self.include_tags,
14514            'name': self.name,
14515            'project_ids': self.project_ids,
14516            'scan_period': self.scan_period,
14517            'services': self.services,
14518            'workload_pool_id': self.workload_pool_id,
14519            'workload_project_id': self.workload_project_id,
14520            'workload_project_number': self.workload_project_number,
14521            'workload_provider_id': self.workload_provider_id,
14522        }
14523
14524    @classmethod
14525    def from_dict(cls, d):
14526        return cls(
14527            description=d.get('description'),
14528            exclude_tags=d.get('exclude_tags'),
14529            id=d.get('id'),
14530            include_tags=d.get('include_tags'),
14531            name=d.get('name'),
14532            project_ids=d.get('project_ids'),
14533            scan_period=d.get('scan_period'),
14534            services=d.get('services'),
14535            workload_pool_id=d.get('workload_pool_id'),
14536            workload_project_id=d.get('workload_project_id'),
14537            workload_project_number=d.get('workload_project_number'),
14538            workload_provider_id=d.get('workload_provider_id'),
14539        )
GCPConnector( description=None, exclude_tags=None, id=None, include_tags=None, name=None, project_ids=None, scan_period=None, services=None, workload_pool_id=None, workload_project_id=None, workload_project_number=None, workload_provider_id=None)
14426    def __init__(
14427        self,
14428        description=None,
14429        exclude_tags=None,
14430        id=None,
14431        include_tags=None,
14432        name=None,
14433        project_ids=None,
14434        scan_period=None,
14435        services=None,
14436        workload_pool_id=None,
14437        workload_project_id=None,
14438        workload_project_number=None,
14439        workload_provider_id=None,
14440    ):
14441        self.description = description if description is not None else ''
14442        '''
14443         Description of the Connector.
14444        '''
14445        self.exclude_tags = exclude_tags if exclude_tags is not None else []
14446        '''
14447         ExcludeTags filters out discovered resources that have the tag and value.
14448         We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.
14449        '''
14450        self.id = id if id is not None else ''
14451        '''
14452         Unique identifier of the Connector.
14453        '''
14454        self.include_tags = include_tags if include_tags is not None else []
14455        '''
14456         IncludeTags only discovers cloud resources that have one of the included tags.
14457         We do not allow duplicate tag names for IncludeTags
14458        '''
14459        self.name = name if name is not None else ''
14460        '''
14461         Unique human-readable name of the Connector.
14462        '''
14463        self.project_ids = project_ids if project_ids is not None else []
14464        '''
14465         ProjectIds is the list of GCP Projects the connector will scan
14466        '''
14467        self.scan_period = scan_period if scan_period is not None else ''
14468        '''
14469         ScanPeriod identifies which remote system this Connector discovers
14470        '''
14471        self.services = services if services is not None else []
14472        '''
14473         Services is a list of services this connector should scan.
14474        '''
14475        self.workload_pool_id = workload_pool_id if workload_pool_id is not None else ''
14476        '''
14477         WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT
14478        '''
14479        self.workload_project_id = workload_project_id if workload_project_id is not None else ''
14480        '''
14481         WorkloadProjectId is the GCP Project ID where the Workload Pool is defined
14482        '''
14483        self.workload_project_number = workload_project_number if workload_project_number is not None else ''
14484        '''
14485         WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined
14486        '''
14487        self.workload_provider_id = workload_provider_id if workload_provider_id is not None else ''
14488        '''
14489         WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT
14490        '''
description

Description of the Connector.

exclude_tags

ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.

id

Unique identifier of the Connector.

include_tags

IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags

name

Unique human-readable name of the Connector.

project_ids

ProjectIds is the list of GCP Projects the connector will scan

scan_period

ScanPeriod identifies which remote system this Connector discovers

services

Services is a list of services this connector should scan.

workload_pool_id

WorkloadPoolId is the GCP Workload Pool Identifier used to authenticate our JWT

workload_project_id

WorkloadProjectId is the GCP Project ID where the Workload Pool is defined

workload_project_number

WorkloadProjectNumber is the GCP Project Number where the Workload Pool is defined

workload_provider_id

WorkloadProviderId is the GCP Workload Provider Identifier used to authenticate our JWT

def to_dict(self)
14508    def to_dict(self):
14509        return {
14510            'description': self.description,
14511            'exclude_tags': self.exclude_tags,
14512            'id': self.id,
14513            'include_tags': self.include_tags,
14514            'name': self.name,
14515            'project_ids': self.project_ids,
14516            'scan_period': self.scan_period,
14517            'services': self.services,
14518            'workload_pool_id': self.workload_pool_id,
14519            'workload_project_id': self.workload_project_id,
14520            'workload_project_number': self.workload_project_number,
14521            'workload_provider_id': self.workload_provider_id,
14522        }
@classmethod
def from_dict(cls, d)
14524    @classmethod
14525    def from_dict(cls, d):
14526        return cls(
14527            description=d.get('description'),
14528            exclude_tags=d.get('exclude_tags'),
14529            id=d.get('id'),
14530            include_tags=d.get('include_tags'),
14531            name=d.get('name'),
14532            project_ids=d.get('project_ids'),
14533            scan_period=d.get('scan_period'),
14534            services=d.get('services'),
14535            workload_pool_id=d.get('workload_pool_id'),
14536            workload_project_id=d.get('workload_project_id'),
14537            workload_project_number=d.get('workload_project_number'),
14538            workload_provider_id=d.get('workload_provider_id'),
14539        )
class GCPConsole:
14542class GCPConsole:
14543    __slots__ = [
14544        'bind_interface',
14545        'egress_filter',
14546        'healthy',
14547        'id',
14548        'identity_alias_healthcheck_username',
14549        'identity_set_id',
14550        'name',
14551        'port_override',
14552        'proxy_cluster_id',
14553        'secret_store_id',
14554        'session_expiry',
14555        'subdomain',
14556        'tags',
14557        'workforce_pool_id',
14558        'workforce_provider_id',
14559    ]
14560
14561    def __init__(
14562        self,
14563        bind_interface=None,
14564        egress_filter=None,
14565        healthy=None,
14566        id=None,
14567        identity_alias_healthcheck_username=None,
14568        identity_set_id=None,
14569        name=None,
14570        port_override=None,
14571        proxy_cluster_id=None,
14572        secret_store_id=None,
14573        session_expiry=None,
14574        subdomain=None,
14575        tags=None,
14576        workforce_pool_id=None,
14577        workforce_provider_id=None,
14578    ):
14579        self.bind_interface = bind_interface if bind_interface is not None else ''
14580        '''
14581         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14582        '''
14583        self.egress_filter = egress_filter if egress_filter is not None else ''
14584        '''
14585         A filter applied to the routing logic to pin datasource to nodes.
14586        '''
14587        self.healthy = healthy if healthy is not None else False
14588        '''
14589         True if the datasource is reachable and the credentials are valid.
14590        '''
14591        self.id = id if id is not None else ''
14592        '''
14593         Unique identifier of the Resource.
14594        '''
14595        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14596        '''
14597         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14598        '''
14599        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14600        '''
14601         The ID of the identity set to use for identity connections.
14602        '''
14603        self.name = name if name is not None else ''
14604        '''
14605         Unique human-readable name of the Resource.
14606        '''
14607        self.port_override = port_override if port_override is not None else 0
14608        '''
14609         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14610        '''
14611        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14612        '''
14613         ID of the proxy cluster for this resource, if any.
14614        '''
14615        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14616        '''
14617         ID of the secret store containing credentials for this resource, if any.
14618        '''
14619        self.session_expiry = session_expiry if session_expiry is not None else 0
14620        '''
14621         The length of time in seconds console sessions will live before needing to reauthenticate.
14622        '''
14623        self.subdomain = subdomain if subdomain is not None else ''
14624        '''
14625         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14626        '''
14627        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14628        '''
14629         Tags is a map of key, value pairs.
14630        '''
14631        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
14632        '''
14633         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
14634        '''
14635        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
14636        '''
14637         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
14638        '''
14639
14640    def __repr__(self):
14641        return '<sdm.GCPConsole ' + \
14642            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14643            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14644            'healthy: ' + repr(self.healthy) + ' ' +\
14645            'id: ' + repr(self.id) + ' ' +\
14646            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14647            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14648            'name: ' + repr(self.name) + ' ' +\
14649            'port_override: ' + repr(self.port_override) + ' ' +\
14650            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14651            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14652            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
14653            'subdomain: ' + repr(self.subdomain) + ' ' +\
14654            'tags: ' + repr(self.tags) + ' ' +\
14655            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
14656            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
14657            '>'
14658
14659    def to_dict(self):
14660        return {
14661            'bind_interface': self.bind_interface,
14662            'egress_filter': self.egress_filter,
14663            'healthy': self.healthy,
14664            'id': self.id,
14665            'identity_alias_healthcheck_username':
14666            self.identity_alias_healthcheck_username,
14667            'identity_set_id': self.identity_set_id,
14668            'name': self.name,
14669            'port_override': self.port_override,
14670            'proxy_cluster_id': self.proxy_cluster_id,
14671            'secret_store_id': self.secret_store_id,
14672            'session_expiry': self.session_expiry,
14673            'subdomain': self.subdomain,
14674            'tags': self.tags,
14675            'workforce_pool_id': self.workforce_pool_id,
14676            'workforce_provider_id': self.workforce_provider_id,
14677        }
14678
14679    @classmethod
14680    def from_dict(cls, d):
14681        return cls(
14682            bind_interface=d.get('bind_interface'),
14683            egress_filter=d.get('egress_filter'),
14684            healthy=d.get('healthy'),
14685            id=d.get('id'),
14686            identity_alias_healthcheck_username=d.get(
14687                'identity_alias_healthcheck_username'),
14688            identity_set_id=d.get('identity_set_id'),
14689            name=d.get('name'),
14690            port_override=d.get('port_override'),
14691            proxy_cluster_id=d.get('proxy_cluster_id'),
14692            secret_store_id=d.get('secret_store_id'),
14693            session_expiry=d.get('session_expiry'),
14694            subdomain=d.get('subdomain'),
14695            tags=d.get('tags'),
14696            workforce_pool_id=d.get('workforce_pool_id'),
14697            workforce_provider_id=d.get('workforce_provider_id'),
14698        )
GCPConsole( bind_interface=None, egress_filter=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, session_expiry=None, subdomain=None, tags=None, workforce_pool_id=None, workforce_provider_id=None)
14561    def __init__(
14562        self,
14563        bind_interface=None,
14564        egress_filter=None,
14565        healthy=None,
14566        id=None,
14567        identity_alias_healthcheck_username=None,
14568        identity_set_id=None,
14569        name=None,
14570        port_override=None,
14571        proxy_cluster_id=None,
14572        secret_store_id=None,
14573        session_expiry=None,
14574        subdomain=None,
14575        tags=None,
14576        workforce_pool_id=None,
14577        workforce_provider_id=None,
14578    ):
14579        self.bind_interface = bind_interface if bind_interface is not None else ''
14580        '''
14581         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14582        '''
14583        self.egress_filter = egress_filter if egress_filter is not None else ''
14584        '''
14585         A filter applied to the routing logic to pin datasource to nodes.
14586        '''
14587        self.healthy = healthy if healthy is not None else False
14588        '''
14589         True if the datasource is reachable and the credentials are valid.
14590        '''
14591        self.id = id if id is not None else ''
14592        '''
14593         Unique identifier of the Resource.
14594        '''
14595        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14596        '''
14597         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14598        '''
14599        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14600        '''
14601         The ID of the identity set to use for identity connections.
14602        '''
14603        self.name = name if name is not None else ''
14604        '''
14605         Unique human-readable name of the Resource.
14606        '''
14607        self.port_override = port_override if port_override is not None else 0
14608        '''
14609         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14610        '''
14611        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14612        '''
14613         ID of the proxy cluster for this resource, if any.
14614        '''
14615        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14616        '''
14617         ID of the secret store containing credentials for this resource, if any.
14618        '''
14619        self.session_expiry = session_expiry if session_expiry is not None else 0
14620        '''
14621         The length of time in seconds console sessions will live before needing to reauthenticate.
14622        '''
14623        self.subdomain = subdomain if subdomain is not None else ''
14624        '''
14625         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14626        '''
14627        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14628        '''
14629         Tags is a map of key, value pairs.
14630        '''
14631        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
14632        '''
14633         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
14634        '''
14635        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
14636        '''
14637         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
14638        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

session_expiry

The length of time in seconds console sessions will live before needing to reauthenticate.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

workforce_pool_id

The ID of the Workforce Identity Pool in GCP to use for federated authentication.

workforce_provider_id

The ID of the Workforce Identity Provider in GCP to use for federated authentication.

def to_dict(self)
14659    def to_dict(self):
14660        return {
14661            'bind_interface': self.bind_interface,
14662            'egress_filter': self.egress_filter,
14663            'healthy': self.healthy,
14664            'id': self.id,
14665            'identity_alias_healthcheck_username':
14666            self.identity_alias_healthcheck_username,
14667            'identity_set_id': self.identity_set_id,
14668            'name': self.name,
14669            'port_override': self.port_override,
14670            'proxy_cluster_id': self.proxy_cluster_id,
14671            'secret_store_id': self.secret_store_id,
14672            'session_expiry': self.session_expiry,
14673            'subdomain': self.subdomain,
14674            'tags': self.tags,
14675            'workforce_pool_id': self.workforce_pool_id,
14676            'workforce_provider_id': self.workforce_provider_id,
14677        }
@classmethod
def from_dict(cls, d)
14679    @classmethod
14680    def from_dict(cls, d):
14681        return cls(
14682            bind_interface=d.get('bind_interface'),
14683            egress_filter=d.get('egress_filter'),
14684            healthy=d.get('healthy'),
14685            id=d.get('id'),
14686            identity_alias_healthcheck_username=d.get(
14687                'identity_alias_healthcheck_username'),
14688            identity_set_id=d.get('identity_set_id'),
14689            name=d.get('name'),
14690            port_override=d.get('port_override'),
14691            proxy_cluster_id=d.get('proxy_cluster_id'),
14692            secret_store_id=d.get('secret_store_id'),
14693            session_expiry=d.get('session_expiry'),
14694            subdomain=d.get('subdomain'),
14695            tags=d.get('tags'),
14696            workforce_pool_id=d.get('workforce_pool_id'),
14697            workforce_provider_id=d.get('workforce_provider_id'),
14698        )
class GCPStore:
14701class GCPStore:
14702    __slots__ = [
14703        'id',
14704        'name',
14705        'projectid',
14706        'tags',
14707    ]
14708
14709    def __init__(
14710        self,
14711        id=None,
14712        name=None,
14713        projectid=None,
14714        tags=None,
14715    ):
14716        self.id = id if id is not None else ''
14717        '''
14718         Unique identifier of the SecretStore.
14719        '''
14720        self.name = name if name is not None else ''
14721        '''
14722         Unique human-readable name of the SecretStore.
14723        '''
14724        self.projectid = projectid if projectid is not None else ''
14725        '''
14726         The GCP project ID to target.
14727        '''
14728        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14729        '''
14730         Tags is a map of key, value pairs.
14731        '''
14732
14733    def __repr__(self):
14734        return '<sdm.GCPStore ' + \
14735            'id: ' + repr(self.id) + ' ' +\
14736            'name: ' + repr(self.name) + ' ' +\
14737            'projectid: ' + repr(self.projectid) + ' ' +\
14738            'tags: ' + repr(self.tags) + ' ' +\
14739            '>'
14740
14741    def to_dict(self):
14742        return {
14743            'id': self.id,
14744            'name': self.name,
14745            'projectid': self.projectid,
14746            'tags': self.tags,
14747        }
14748
14749    @classmethod
14750    def from_dict(cls, d):
14751        return cls(
14752            id=d.get('id'),
14753            name=d.get('name'),
14754            projectid=d.get('projectid'),
14755            tags=d.get('tags'),
14756        )
GCPStore(id=None, name=None, projectid=None, tags=None)
14709    def __init__(
14710        self,
14711        id=None,
14712        name=None,
14713        projectid=None,
14714        tags=None,
14715    ):
14716        self.id = id if id is not None else ''
14717        '''
14718         Unique identifier of the SecretStore.
14719        '''
14720        self.name = name if name is not None else ''
14721        '''
14722         Unique human-readable name of the SecretStore.
14723        '''
14724        self.projectid = projectid if projectid is not None else ''
14725        '''
14726         The GCP project ID to target.
14727        '''
14728        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14729        '''
14730         Tags is a map of key, value pairs.
14731        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

projectid

The GCP project ID to target.

tags

Tags is a map of key, value pairs.

def to_dict(self)
14741    def to_dict(self):
14742        return {
14743            'id': self.id,
14744            'name': self.name,
14745            'projectid': self.projectid,
14746            'tags': self.tags,
14747        }
@classmethod
def from_dict(cls, d)
14749    @classmethod
14750    def from_dict(cls, d):
14751        return cls(
14752            id=d.get('id'),
14753            name=d.get('name'),
14754            projectid=d.get('projectid'),
14755            tags=d.get('tags'),
14756        )
class GCPWIF:
14759class GCPWIF:
14760    __slots__ = [
14761        'bind_interface',
14762        'egress_filter',
14763        'healthy',
14764        'id',
14765        'identity_alias_healthcheck_username',
14766        'identity_set_id',
14767        'name',
14768        'port_override',
14769        'project_id',
14770        'proxy_cluster_id',
14771        'scopes',
14772        'secret_store_id',
14773        'session_expiry',
14774        'subdomain',
14775        'tags',
14776        'workforce_pool_id',
14777        'workforce_provider_id',
14778    ]
14779
14780    def __init__(
14781        self,
14782        bind_interface=None,
14783        egress_filter=None,
14784        healthy=None,
14785        id=None,
14786        identity_alias_healthcheck_username=None,
14787        identity_set_id=None,
14788        name=None,
14789        port_override=None,
14790        project_id=None,
14791        proxy_cluster_id=None,
14792        scopes=None,
14793        secret_store_id=None,
14794        session_expiry=None,
14795        subdomain=None,
14796        tags=None,
14797        workforce_pool_id=None,
14798        workforce_provider_id=None,
14799    ):
14800        self.bind_interface = bind_interface if bind_interface is not None else ''
14801        '''
14802         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14803        '''
14804        self.egress_filter = egress_filter if egress_filter is not None else ''
14805        '''
14806         A filter applied to the routing logic to pin datasource to nodes.
14807        '''
14808        self.healthy = healthy if healthy is not None else False
14809        '''
14810         True if the datasource is reachable and the credentials are valid.
14811        '''
14812        self.id = id if id is not None else ''
14813        '''
14814         Unique identifier of the Resource.
14815        '''
14816        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14817        '''
14818         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14819        '''
14820        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14821        '''
14822         The ID of the identity set to use for identity connections.
14823        '''
14824        self.name = name if name is not None else ''
14825        '''
14826         Unique human-readable name of the Resource.
14827        '''
14828        self.port_override = port_override if port_override is not None else 0
14829        '''
14830         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14831        '''
14832        self.project_id = project_id if project_id is not None else ''
14833        '''
14834         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
14835        '''
14836        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14837        '''
14838         ID of the proxy cluster for this resource, if any.
14839        '''
14840        self.scopes = scopes if scopes is not None else ''
14841        '''
14842         Space separated scopes that this login should assume into when authenticating.
14843        '''
14844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14845        '''
14846         ID of the secret store containing credentials for this resource, if any.
14847        '''
14848        self.session_expiry = session_expiry if session_expiry is not None else 0
14849        '''
14850         The length of time in seconds console sessions will live before needing to reauthenticate.
14851        '''
14852        self.subdomain = subdomain if subdomain is not None else ''
14853        '''
14854         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14855        '''
14856        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14857        '''
14858         Tags is a map of key, value pairs.
14859        '''
14860        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
14861        '''
14862         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
14863        '''
14864        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
14865        '''
14866         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
14867        '''
14868
14869    def __repr__(self):
14870        return '<sdm.GCPWIF ' + \
14871            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14872            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14873            'healthy: ' + repr(self.healthy) + ' ' +\
14874            'id: ' + repr(self.id) + ' ' +\
14875            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
14876            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14877            'name: ' + repr(self.name) + ' ' +\
14878            'port_override: ' + repr(self.port_override) + ' ' +\
14879            'project_id: ' + repr(self.project_id) + ' ' +\
14880            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14881            'scopes: ' + repr(self.scopes) + ' ' +\
14882            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14883            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
14884            'subdomain: ' + repr(self.subdomain) + ' ' +\
14885            'tags: ' + repr(self.tags) + ' ' +\
14886            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
14887            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
14888            '>'
14889
14890    def to_dict(self):
14891        return {
14892            'bind_interface': self.bind_interface,
14893            'egress_filter': self.egress_filter,
14894            'healthy': self.healthy,
14895            'id': self.id,
14896            'identity_alias_healthcheck_username':
14897            self.identity_alias_healthcheck_username,
14898            'identity_set_id': self.identity_set_id,
14899            'name': self.name,
14900            'port_override': self.port_override,
14901            'project_id': self.project_id,
14902            'proxy_cluster_id': self.proxy_cluster_id,
14903            'scopes': self.scopes,
14904            'secret_store_id': self.secret_store_id,
14905            'session_expiry': self.session_expiry,
14906            'subdomain': self.subdomain,
14907            'tags': self.tags,
14908            'workforce_pool_id': self.workforce_pool_id,
14909            'workforce_provider_id': self.workforce_provider_id,
14910        }
14911
14912    @classmethod
14913    def from_dict(cls, d):
14914        return cls(
14915            bind_interface=d.get('bind_interface'),
14916            egress_filter=d.get('egress_filter'),
14917            healthy=d.get('healthy'),
14918            id=d.get('id'),
14919            identity_alias_healthcheck_username=d.get(
14920                'identity_alias_healthcheck_username'),
14921            identity_set_id=d.get('identity_set_id'),
14922            name=d.get('name'),
14923            port_override=d.get('port_override'),
14924            project_id=d.get('project_id'),
14925            proxy_cluster_id=d.get('proxy_cluster_id'),
14926            scopes=d.get('scopes'),
14927            secret_store_id=d.get('secret_store_id'),
14928            session_expiry=d.get('session_expiry'),
14929            subdomain=d.get('subdomain'),
14930            tags=d.get('tags'),
14931            workforce_pool_id=d.get('workforce_pool_id'),
14932            workforce_provider_id=d.get('workforce_provider_id'),
14933        )
GCPWIF( bind_interface=None, egress_filter=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, project_id=None, proxy_cluster_id=None, scopes=None, secret_store_id=None, session_expiry=None, subdomain=None, tags=None, workforce_pool_id=None, workforce_provider_id=None)
14780    def __init__(
14781        self,
14782        bind_interface=None,
14783        egress_filter=None,
14784        healthy=None,
14785        id=None,
14786        identity_alias_healthcheck_username=None,
14787        identity_set_id=None,
14788        name=None,
14789        port_override=None,
14790        project_id=None,
14791        proxy_cluster_id=None,
14792        scopes=None,
14793        secret_store_id=None,
14794        session_expiry=None,
14795        subdomain=None,
14796        tags=None,
14797        workforce_pool_id=None,
14798        workforce_provider_id=None,
14799    ):
14800        self.bind_interface = bind_interface if bind_interface is not None else ''
14801        '''
14802         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14803        '''
14804        self.egress_filter = egress_filter if egress_filter is not None else ''
14805        '''
14806         A filter applied to the routing logic to pin datasource to nodes.
14807        '''
14808        self.healthy = healthy if healthy is not None else False
14809        '''
14810         True if the datasource is reachable and the credentials are valid.
14811        '''
14812        self.id = id if id is not None else ''
14813        '''
14814         Unique identifier of the Resource.
14815        '''
14816        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
14817        '''
14818         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
14819        '''
14820        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14821        '''
14822         The ID of the identity set to use for identity connections.
14823        '''
14824        self.name = name if name is not None else ''
14825        '''
14826         Unique human-readable name of the Resource.
14827        '''
14828        self.port_override = port_override if port_override is not None else 0
14829        '''
14830         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14831        '''
14832        self.project_id = project_id if project_id is not None else ''
14833        '''
14834         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
14835        '''
14836        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14837        '''
14838         ID of the proxy cluster for this resource, if any.
14839        '''
14840        self.scopes = scopes if scopes is not None else ''
14841        '''
14842         Space separated scopes that this login should assume into when authenticating.
14843        '''
14844        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14845        '''
14846         ID of the secret store containing credentials for this resource, if any.
14847        '''
14848        self.session_expiry = session_expiry if session_expiry is not None else 0
14849        '''
14850         The length of time in seconds console sessions will live before needing to reauthenticate.
14851        '''
14852        self.subdomain = subdomain if subdomain is not None else ''
14853        '''
14854         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14855        '''
14856        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14857        '''
14858         Tags is a map of key, value pairs.
14859        '''
14860        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
14861        '''
14862         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
14863        '''
14864        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
14865        '''
14866         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
14867        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

project_id

When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

scopes

Space separated scopes that this login should assume into when authenticating.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

session_expiry

The length of time in seconds console sessions will live before needing to reauthenticate.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

workforce_pool_id

The ID of the Workforce Identity Pool in GCP to use for federated authentication.

workforce_provider_id

The ID of the Workforce Identity Provider in GCP to use for federated authentication.

def to_dict(self)
14890    def to_dict(self):
14891        return {
14892            'bind_interface': self.bind_interface,
14893            'egress_filter': self.egress_filter,
14894            'healthy': self.healthy,
14895            'id': self.id,
14896            'identity_alias_healthcheck_username':
14897            self.identity_alias_healthcheck_username,
14898            'identity_set_id': self.identity_set_id,
14899            'name': self.name,
14900            'port_override': self.port_override,
14901            'project_id': self.project_id,
14902            'proxy_cluster_id': self.proxy_cluster_id,
14903            'scopes': self.scopes,
14904            'secret_store_id': self.secret_store_id,
14905            'session_expiry': self.session_expiry,
14906            'subdomain': self.subdomain,
14907            'tags': self.tags,
14908            'workforce_pool_id': self.workforce_pool_id,
14909            'workforce_provider_id': self.workforce_provider_id,
14910        }
@classmethod
def from_dict(cls, d)
14912    @classmethod
14913    def from_dict(cls, d):
14914        return cls(
14915            bind_interface=d.get('bind_interface'),
14916            egress_filter=d.get('egress_filter'),
14917            healthy=d.get('healthy'),
14918            id=d.get('id'),
14919            identity_alias_healthcheck_username=d.get(
14920                'identity_alias_healthcheck_username'),
14921            identity_set_id=d.get('identity_set_id'),
14922            name=d.get('name'),
14923            port_override=d.get('port_override'),
14924            project_id=d.get('project_id'),
14925            proxy_cluster_id=d.get('proxy_cluster_id'),
14926            scopes=d.get('scopes'),
14927            secret_store_id=d.get('secret_store_id'),
14928            session_expiry=d.get('session_expiry'),
14929            subdomain=d.get('subdomain'),
14930            tags=d.get('tags'),
14931            workforce_pool_id=d.get('workforce_pool_id'),
14932            workforce_provider_id=d.get('workforce_provider_id'),
14933        )
class Gateway:
14936class Gateway:
14937    '''
14938         Gateway represents a StrongDM CLI installation running in gateway mode.
14939    '''
14940    __slots__ = [
14941        'bind_address',
14942        'device',
14943        'gateway_filter',
14944        'id',
14945        'listen_address',
14946        'location',
14947        'maintenance_windows',
14948        'name',
14949        'state',
14950        'tags',
14951        'version',
14952    ]
14953
14954    def __init__(
14955        self,
14956        bind_address=None,
14957        device=None,
14958        gateway_filter=None,
14959        id=None,
14960        listen_address=None,
14961        location=None,
14962        maintenance_windows=None,
14963        name=None,
14964        state=None,
14965        tags=None,
14966        version=None,
14967    ):
14968        self.bind_address = bind_address if bind_address is not None else ''
14969        '''
14970         The hostname/port tuple which the gateway daemon will bind to.
14971         If not provided on create, set to "0.0.0.0:listen_address_port".
14972        '''
14973        self.device = device if device is not None else ''
14974        '''
14975         Device is a read only device name uploaded by the gateway process when
14976         it comes online.
14977        '''
14978        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
14979        '''
14980         GatewayFilter can be used to restrict the peering between relays and
14981         gateways. Deprecated.
14982        '''
14983        self.id = id if id is not None else ''
14984        '''
14985         Unique identifier of the Gateway.
14986        '''
14987        self.listen_address = listen_address if listen_address is not None else ''
14988        '''
14989         The public hostname/port tuple at which the gateway will be accessible to clients.
14990        '''
14991        self.location = location if location is not None else ''
14992        '''
14993         Location is a read only network location uploaded by the gateway process
14994         when it comes online.
14995        '''
14996        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
14997        '''
14998         Maintenance Windows define when this node is allowed to restart. If a node
14999         is requested to restart, it will check each window to determine if any of
15000         them permit it to restart, and if any do, it will. This check is repeated
15001         per window until the restart is successfully completed.
15002         
15003         If not set here, may be set on the command line or via an environment variable
15004         on the process itself; any server setting will take precedence over local
15005         settings. This setting is ineffective for nodes below version 38.44.0.
15006         
15007         If this setting is not applied via this remote configuration or via local
15008         configuration, the default setting is used: always allow restarts if serving
15009         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
15010        '''
15011        self.name = name if name is not None else ''
15012        '''
15013         Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
15014        '''
15015        self.state = state if state is not None else ''
15016        '''
15017         The current state of the gateway. One of: "new", "verifying_restart",
15018         "restarting", "started", "stopped", "dead", "unknown"
15019        '''
15020        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15021        '''
15022         Tags is a map of key, value pairs.
15023        '''
15024        self.version = version if version is not None else ''
15025        '''
15026         Version is a read only sdm binary version uploaded by the gateway process
15027         when it comes online.
15028        '''
15029
15030    def __repr__(self):
15031        return '<sdm.Gateway ' + \
15032            'bind_address: ' + repr(self.bind_address) + ' ' +\
15033            'device: ' + repr(self.device) + ' ' +\
15034            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
15035            'id: ' + repr(self.id) + ' ' +\
15036            'listen_address: ' + repr(self.listen_address) + ' ' +\
15037            'location: ' + repr(self.location) + ' ' +\
15038            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
15039            'name: ' + repr(self.name) + ' ' +\
15040            'state: ' + repr(self.state) + ' ' +\
15041            'tags: ' + repr(self.tags) + ' ' +\
15042            'version: ' + repr(self.version) + ' ' +\
15043            '>'
15044
15045    def to_dict(self):
15046        return {
15047            'bind_address': self.bind_address,
15048            'device': self.device,
15049            'gateway_filter': self.gateway_filter,
15050            'id': self.id,
15051            'listen_address': self.listen_address,
15052            'location': self.location,
15053            'maintenance_windows': self.maintenance_windows,
15054            'name': self.name,
15055            'state': self.state,
15056            'tags': self.tags,
15057            'version': self.version,
15058        }
15059
15060    @classmethod
15061    def from_dict(cls, d):
15062        return cls(
15063            bind_address=d.get('bind_address'),
15064            device=d.get('device'),
15065            gateway_filter=d.get('gateway_filter'),
15066            id=d.get('id'),
15067            listen_address=d.get('listen_address'),
15068            location=d.get('location'),
15069            maintenance_windows=d.get('maintenance_windows'),
15070            name=d.get('name'),
15071            state=d.get('state'),
15072            tags=d.get('tags'),
15073            version=d.get('version'),
15074        )

Gateway represents a StrongDM CLI installation running in gateway mode.

Gateway( bind_address=None, device=None, gateway_filter=None, id=None, listen_address=None, location=None, maintenance_windows=None, name=None, state=None, tags=None, version=None)
14954    def __init__(
14955        self,
14956        bind_address=None,
14957        device=None,
14958        gateway_filter=None,
14959        id=None,
14960        listen_address=None,
14961        location=None,
14962        maintenance_windows=None,
14963        name=None,
14964        state=None,
14965        tags=None,
14966        version=None,
14967    ):
14968        self.bind_address = bind_address if bind_address is not None else ''
14969        '''
14970         The hostname/port tuple which the gateway daemon will bind to.
14971         If not provided on create, set to "0.0.0.0:listen_address_port".
14972        '''
14973        self.device = device if device is not None else ''
14974        '''
14975         Device is a read only device name uploaded by the gateway process when
14976         it comes online.
14977        '''
14978        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
14979        '''
14980         GatewayFilter can be used to restrict the peering between relays and
14981         gateways. Deprecated.
14982        '''
14983        self.id = id if id is not None else ''
14984        '''
14985         Unique identifier of the Gateway.
14986        '''
14987        self.listen_address = listen_address if listen_address is not None else ''
14988        '''
14989         The public hostname/port tuple at which the gateway will be accessible to clients.
14990        '''
14991        self.location = location if location is not None else ''
14992        '''
14993         Location is a read only network location uploaded by the gateway process
14994         when it comes online.
14995        '''
14996        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
14997        '''
14998         Maintenance Windows define when this node is allowed to restart. If a node
14999         is requested to restart, it will check each window to determine if any of
15000         them permit it to restart, and if any do, it will. This check is repeated
15001         per window until the restart is successfully completed.
15002         
15003         If not set here, may be set on the command line or via an environment variable
15004         on the process itself; any server setting will take precedence over local
15005         settings. This setting is ineffective for nodes below version 38.44.0.
15006         
15007         If this setting is not applied via this remote configuration or via local
15008         configuration, the default setting is used: always allow restarts if serving
15009         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
15010        '''
15011        self.name = name if name is not None else ''
15012        '''
15013         Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
15014        '''
15015        self.state = state if state is not None else ''
15016        '''
15017         The current state of the gateway. One of: "new", "verifying_restart",
15018         "restarting", "started", "stopped", "dead", "unknown"
15019        '''
15020        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15021        '''
15022         Tags is a map of key, value pairs.
15023        '''
15024        self.version = version if version is not None else ''
15025        '''
15026         Version is a read only sdm binary version uploaded by the gateway process
15027         when it comes online.
15028        '''
bind_address

The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".

device

Device is a read only device name uploaded by the gateway process when it comes online.

gateway_filter

GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.

id

Unique identifier of the Gateway.

listen_address

The public hostname/port tuple at which the gateway will be accessible to clients.

location

Location is a read only network location uploaded by the gateway process when it comes online.

maintenance_windows

Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.

If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.

If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.

name

Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.

state

The current state of the gateway. One of: "new", "verifying_restart", "restarting", "started", "stopped", "dead", "unknown"

tags

Tags is a map of key, value pairs.

version

Version is a read only sdm binary version uploaded by the gateway process when it comes online.

def to_dict(self)
15045    def to_dict(self):
15046        return {
15047            'bind_address': self.bind_address,
15048            'device': self.device,
15049            'gateway_filter': self.gateway_filter,
15050            'id': self.id,
15051            'listen_address': self.listen_address,
15052            'location': self.location,
15053            'maintenance_windows': self.maintenance_windows,
15054            'name': self.name,
15055            'state': self.state,
15056            'tags': self.tags,
15057            'version': self.version,
15058        }
@classmethod
def from_dict(cls, d)
15060    @classmethod
15061    def from_dict(cls, d):
15062        return cls(
15063            bind_address=d.get('bind_address'),
15064            device=d.get('device'),
15065            gateway_filter=d.get('gateway_filter'),
15066            id=d.get('id'),
15067            listen_address=d.get('listen_address'),
15068            location=d.get('location'),
15069            maintenance_windows=d.get('maintenance_windows'),
15070            name=d.get('name'),
15071            state=d.get('state'),
15072            tags=d.get('tags'),
15073            version=d.get('version'),
15074        )
class GenerateKeysRequest:
15077class GenerateKeysRequest:
15078    __slots__ = [
15079        'secret_engine_id',
15080    ]
15081
15082    def __init__(
15083        self,
15084        secret_engine_id=None,
15085    ):
15086        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
15087        '''
15088         required
15089        '''
15090
15091    def __repr__(self):
15092        return '<sdm.GenerateKeysRequest ' + \
15093            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
15094            '>'
15095
15096    def to_dict(self):
15097        return {
15098            'secret_engine_id': self.secret_engine_id,
15099        }
15100
15101    @classmethod
15102    def from_dict(cls, d):
15103        return cls(secret_engine_id=d.get('secret_engine_id'), )
GenerateKeysRequest(secret_engine_id=None)
15082    def __init__(
15083        self,
15084        secret_engine_id=None,
15085    ):
15086        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
15087        '''
15088         required
15089        '''
secret_engine_id

required

def to_dict(self)
15096    def to_dict(self):
15097        return {
15098            'secret_engine_id': self.secret_engine_id,
15099        }
@classmethod
def from_dict(cls, d)
15101    @classmethod
15102    def from_dict(cls, d):
15103        return cls(secret_engine_id=d.get('secret_engine_id'), )
class GenerateKeysResponse:
15106class GenerateKeysResponse:
15107    __slots__ = [
15108        'rate_limit',
15109    ]
15110
15111    def __init__(
15112        self,
15113        rate_limit=None,
15114    ):
15115        self.rate_limit = rate_limit if rate_limit is not None else None
15116        '''
15117         Rate limit information.
15118        '''
15119
15120    def __repr__(self):
15121        return '<sdm.GenerateKeysResponse ' + \
15122            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15123            '>'
15124
15125    def to_dict(self):
15126        return {
15127            'rate_limit': self.rate_limit,
15128        }
15129
15130    @classmethod
15131    def from_dict(cls, d):
15132        return cls(rate_limit=d.get('rate_limit'), )
GenerateKeysResponse(rate_limit=None)
15111    def __init__(
15112        self,
15113        rate_limit=None,
15114    ):
15115        self.rate_limit = rate_limit if rate_limit is not None else None
15116        '''
15117         Rate limit information.
15118        '''
rate_limit

Rate limit information.

def to_dict(self)
15125    def to_dict(self):
15126        return {
15127            'rate_limit': self.rate_limit,
15128        }
@classmethod
def from_dict(cls, d)
15130    @classmethod
15131    def from_dict(cls, d):
15132        return cls(rate_limit=d.get('rate_limit'), )
class GenericResponseMetadata:
15135class GenericResponseMetadata:
15136    '''
15137         GenericResponseMetadata contains common headers for generic request
15138     responses.
15139    '''
15140    __slots__ = []
15141
15142    def __init__(self, ):
15143        pass
15144
15145    def __repr__(self):
15146        return '<sdm.GenericResponseMetadata ' + \
15147            '>'
15148
15149    def to_dict(self):
15150        return {}
15151
15152    @classmethod
15153    def from_dict(cls, d):
15154        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
15142    def __init__(self, ):
15143        pass
def to_dict(self)
15149    def to_dict(self):
15150        return {}
@classmethod
def from_dict(cls, d)
15152    @classmethod
15153    def from_dict(cls, d):
15154        return cls()
class GetResponseMetadata:
15157class GetResponseMetadata:
15158    '''
15159         GetResponseMetadata is reserved for future use.
15160    '''
15161    __slots__ = []
15162
15163    def __init__(self, ):
15164        pass
15165
15166    def __repr__(self):
15167        return '<sdm.GetResponseMetadata ' + \
15168            '>'
15169
15170    def to_dict(self):
15171        return {}
15172
15173    @classmethod
15174    def from_dict(cls, d):
15175        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
15163    def __init__(self, ):
15164        pass
def to_dict(self)
15170    def to_dict(self):
15171        return {}
@classmethod
def from_dict(cls, d)
15173    @classmethod
15174    def from_dict(cls, d):
15175        return cls()
class GoogleGKE:
15178class GoogleGKE:
15179    __slots__ = [
15180        'allow_resource_role_bypass',
15181        'bind_interface',
15182        'certificate_authority',
15183        'discovery_enabled',
15184        'discovery_username',
15185        'egress_filter',
15186        'endpoint',
15187        'healthcheck_namespace',
15188        'healthy',
15189        'id',
15190        'identity_alias_healthcheck_username',
15191        'identity_set_id',
15192        'name',
15193        'port_override',
15194        'proxy_cluster_id',
15195        'secret_store_id',
15196        'service_account_key',
15197        'subdomain',
15198        'tags',
15199    ]
15200
15201    def __init__(
15202        self,
15203        allow_resource_role_bypass=None,
15204        bind_interface=None,
15205        certificate_authority=None,
15206        discovery_enabled=None,
15207        discovery_username=None,
15208        egress_filter=None,
15209        endpoint=None,
15210        healthcheck_namespace=None,
15211        healthy=None,
15212        id=None,
15213        identity_alias_healthcheck_username=None,
15214        identity_set_id=None,
15215        name=None,
15216        port_override=None,
15217        proxy_cluster_id=None,
15218        secret_store_id=None,
15219        service_account_key=None,
15220        subdomain=None,
15221        tags=None,
15222    ):
15223        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15224        '''
15225         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15226         when a resource role is not provided.
15227        '''
15228        self.bind_interface = bind_interface if bind_interface is not None else ''
15229        '''
15230         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15231        '''
15232        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15233        '''
15234         The CA to authenticate TLS connections with.
15235        '''
15236        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15237        '''
15238         If true, configures discovery of a cluster to be run from a node.
15239        '''
15240        self.discovery_username = discovery_username if discovery_username is not None else ''
15241        '''
15242         If a cluster is configured for user impersonation, this is the user to impersonate when
15243         running discovery.
15244        '''
15245        self.egress_filter = egress_filter if egress_filter is not None else ''
15246        '''
15247         A filter applied to the routing logic to pin datasource to nodes.
15248        '''
15249        self.endpoint = endpoint if endpoint is not None else ''
15250        '''
15251         The endpoint to dial.
15252        '''
15253        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15254        '''
15255         The path used to check the health of your connection.  Defaults to `default`.
15256        '''
15257        self.healthy = healthy if healthy is not None else False
15258        '''
15259         True if the datasource is reachable and the credentials are valid.
15260        '''
15261        self.id = id if id is not None else ''
15262        '''
15263         Unique identifier of the Resource.
15264        '''
15265        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15266        '''
15267         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15268        '''
15269        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15270        '''
15271         The ID of the identity set to use for identity connections.
15272        '''
15273        self.name = name if name is not None else ''
15274        '''
15275         Unique human-readable name of the Resource.
15276        '''
15277        self.port_override = port_override if port_override is not None else 0
15278        '''
15279         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15280        '''
15281        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15282        '''
15283         ID of the proxy cluster for this resource, if any.
15284        '''
15285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15286        '''
15287         ID of the secret store containing credentials for this resource, if any.
15288        '''
15289        self.service_account_key = service_account_key if service_account_key is not None else ''
15290        '''
15291         The service account key to authenticate with.
15292        '''
15293        self.subdomain = subdomain if subdomain is not None else ''
15294        '''
15295         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15296        '''
15297        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15298        '''
15299         Tags is a map of key, value pairs.
15300        '''
15301
15302    def __repr__(self):
15303        return '<sdm.GoogleGKE ' + \
15304            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15305            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15306            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15307            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15308            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15309            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15310            'endpoint: ' + repr(self.endpoint) + ' ' +\
15311            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15312            'healthy: ' + repr(self.healthy) + ' ' +\
15313            'id: ' + repr(self.id) + ' ' +\
15314            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15315            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15316            'name: ' + repr(self.name) + ' ' +\
15317            'port_override: ' + repr(self.port_override) + ' ' +\
15318            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15319            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15320            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
15321            'subdomain: ' + repr(self.subdomain) + ' ' +\
15322            'tags: ' + repr(self.tags) + ' ' +\
15323            '>'
15324
15325    def to_dict(self):
15326        return {
15327            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15328            'bind_interface': self.bind_interface,
15329            'certificate_authority': self.certificate_authority,
15330            'discovery_enabled': self.discovery_enabled,
15331            'discovery_username': self.discovery_username,
15332            'egress_filter': self.egress_filter,
15333            'endpoint': self.endpoint,
15334            'healthcheck_namespace': self.healthcheck_namespace,
15335            'healthy': self.healthy,
15336            'id': self.id,
15337            'identity_alias_healthcheck_username':
15338            self.identity_alias_healthcheck_username,
15339            'identity_set_id': self.identity_set_id,
15340            'name': self.name,
15341            'port_override': self.port_override,
15342            'proxy_cluster_id': self.proxy_cluster_id,
15343            'secret_store_id': self.secret_store_id,
15344            'service_account_key': self.service_account_key,
15345            'subdomain': self.subdomain,
15346            'tags': self.tags,
15347        }
15348
15349    @classmethod
15350    def from_dict(cls, d):
15351        return cls(
15352            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15353            bind_interface=d.get('bind_interface'),
15354            certificate_authority=d.get('certificate_authority'),
15355            discovery_enabled=d.get('discovery_enabled'),
15356            discovery_username=d.get('discovery_username'),
15357            egress_filter=d.get('egress_filter'),
15358            endpoint=d.get('endpoint'),
15359            healthcheck_namespace=d.get('healthcheck_namespace'),
15360            healthy=d.get('healthy'),
15361            id=d.get('id'),
15362            identity_alias_healthcheck_username=d.get(
15363                'identity_alias_healthcheck_username'),
15364            identity_set_id=d.get('identity_set_id'),
15365            name=d.get('name'),
15366            port_override=d.get('port_override'),
15367            proxy_cluster_id=d.get('proxy_cluster_id'),
15368            secret_store_id=d.get('secret_store_id'),
15369            service_account_key=d.get('service_account_key'),
15370            subdomain=d.get('subdomain'),
15371            tags=d.get('tags'),
15372        )
GoogleGKE( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, discovery_enabled=None, discovery_username=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, service_account_key=None, subdomain=None, tags=None)
15201    def __init__(
15202        self,
15203        allow_resource_role_bypass=None,
15204        bind_interface=None,
15205        certificate_authority=None,
15206        discovery_enabled=None,
15207        discovery_username=None,
15208        egress_filter=None,
15209        endpoint=None,
15210        healthcheck_namespace=None,
15211        healthy=None,
15212        id=None,
15213        identity_alias_healthcheck_username=None,
15214        identity_set_id=None,
15215        name=None,
15216        port_override=None,
15217        proxy_cluster_id=None,
15218        secret_store_id=None,
15219        service_account_key=None,
15220        subdomain=None,
15221        tags=None,
15222    ):
15223        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15224        '''
15225         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15226         when a resource role is not provided.
15227        '''
15228        self.bind_interface = bind_interface if bind_interface is not None else ''
15229        '''
15230         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15231        '''
15232        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15233        '''
15234         The CA to authenticate TLS connections with.
15235        '''
15236        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15237        '''
15238         If true, configures discovery of a cluster to be run from a node.
15239        '''
15240        self.discovery_username = discovery_username if discovery_username is not None else ''
15241        '''
15242         If a cluster is configured for user impersonation, this is the user to impersonate when
15243         running discovery.
15244        '''
15245        self.egress_filter = egress_filter if egress_filter is not None else ''
15246        '''
15247         A filter applied to the routing logic to pin datasource to nodes.
15248        '''
15249        self.endpoint = endpoint if endpoint is not None else ''
15250        '''
15251         The endpoint to dial.
15252        '''
15253        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15254        '''
15255         The path used to check the health of your connection.  Defaults to `default`.
15256        '''
15257        self.healthy = healthy if healthy is not None else False
15258        '''
15259         True if the datasource is reachable and the credentials are valid.
15260        '''
15261        self.id = id if id is not None else ''
15262        '''
15263         Unique identifier of the Resource.
15264        '''
15265        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15266        '''
15267         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15268        '''
15269        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15270        '''
15271         The ID of the identity set to use for identity connections.
15272        '''
15273        self.name = name if name is not None else ''
15274        '''
15275         Unique human-readable name of the Resource.
15276        '''
15277        self.port_override = port_override if port_override is not None else 0
15278        '''
15279         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15280        '''
15281        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15282        '''
15283         ID of the proxy cluster for this resource, if any.
15284        '''
15285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15286        '''
15287         ID of the secret store containing credentials for this resource, if any.
15288        '''
15289        self.service_account_key = service_account_key if service_account_key is not None else ''
15290        '''
15291         The service account key to authenticate with.
15292        '''
15293        self.subdomain = subdomain if subdomain is not None else ''
15294        '''
15295         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15296        '''
15297        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15298        '''
15299         Tags is a map of key, value pairs.
15300        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

service_account_key

The service account key to authenticate with.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
15325    def to_dict(self):
15326        return {
15327            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15328            'bind_interface': self.bind_interface,
15329            'certificate_authority': self.certificate_authority,
15330            'discovery_enabled': self.discovery_enabled,
15331            'discovery_username': self.discovery_username,
15332            'egress_filter': self.egress_filter,
15333            'endpoint': self.endpoint,
15334            'healthcheck_namespace': self.healthcheck_namespace,
15335            'healthy': self.healthy,
15336            'id': self.id,
15337            'identity_alias_healthcheck_username':
15338            self.identity_alias_healthcheck_username,
15339            'identity_set_id': self.identity_set_id,
15340            'name': self.name,
15341            'port_override': self.port_override,
15342            'proxy_cluster_id': self.proxy_cluster_id,
15343            'secret_store_id': self.secret_store_id,
15344            'service_account_key': self.service_account_key,
15345            'subdomain': self.subdomain,
15346            'tags': self.tags,
15347        }
@classmethod
def from_dict(cls, d)
15349    @classmethod
15350    def from_dict(cls, d):
15351        return cls(
15352            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15353            bind_interface=d.get('bind_interface'),
15354            certificate_authority=d.get('certificate_authority'),
15355            discovery_enabled=d.get('discovery_enabled'),
15356            discovery_username=d.get('discovery_username'),
15357            egress_filter=d.get('egress_filter'),
15358            endpoint=d.get('endpoint'),
15359            healthcheck_namespace=d.get('healthcheck_namespace'),
15360            healthy=d.get('healthy'),
15361            id=d.get('id'),
15362            identity_alias_healthcheck_username=d.get(
15363                'identity_alias_healthcheck_username'),
15364            identity_set_id=d.get('identity_set_id'),
15365            name=d.get('name'),
15366            port_override=d.get('port_override'),
15367            proxy_cluster_id=d.get('proxy_cluster_id'),
15368            secret_store_id=d.get('secret_store_id'),
15369            service_account_key=d.get('service_account_key'),
15370            subdomain=d.get('subdomain'),
15371            tags=d.get('tags'),
15372        )
class GoogleGKEUserImpersonation:
15375class GoogleGKEUserImpersonation:
15376    '''
15377    GoogleGKEUserImpersonation is deprecated, see docs for more info.
15378    '''
15379    __slots__ = [
15380        'bind_interface',
15381        'certificate_authority',
15382        'egress_filter',
15383        'endpoint',
15384        'healthcheck_namespace',
15385        'healthy',
15386        'id',
15387        'name',
15388        'port_override',
15389        'proxy_cluster_id',
15390        'secret_store_id',
15391        'service_account_key',
15392        'subdomain',
15393        'tags',
15394    ]
15395
15396    def __init__(
15397        self,
15398        bind_interface=None,
15399        certificate_authority=None,
15400        egress_filter=None,
15401        endpoint=None,
15402        healthcheck_namespace=None,
15403        healthy=None,
15404        id=None,
15405        name=None,
15406        port_override=None,
15407        proxy_cluster_id=None,
15408        secret_store_id=None,
15409        service_account_key=None,
15410        subdomain=None,
15411        tags=None,
15412    ):
15413        self.bind_interface = bind_interface if bind_interface is not None else ''
15414        '''
15415         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15416        '''
15417        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15418        '''
15419         The CA to authenticate TLS connections with.
15420        '''
15421        self.egress_filter = egress_filter if egress_filter is not None else ''
15422        '''
15423         A filter applied to the routing logic to pin datasource to nodes.
15424        '''
15425        self.endpoint = endpoint if endpoint is not None else ''
15426        '''
15427         The endpoint to dial.
15428        '''
15429        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15430        '''
15431         The path used to check the health of your connection.  Defaults to `default`.
15432        '''
15433        self.healthy = healthy if healthy is not None else False
15434        '''
15435         True if the datasource is reachable and the credentials are valid.
15436        '''
15437        self.id = id if id is not None else ''
15438        '''
15439         Unique identifier of the Resource.
15440        '''
15441        self.name = name if name is not None else ''
15442        '''
15443         Unique human-readable name of the Resource.
15444        '''
15445        self.port_override = port_override if port_override is not None else 0
15446        '''
15447         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15448        '''
15449        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15450        '''
15451         ID of the proxy cluster for this resource, if any.
15452        '''
15453        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15454        '''
15455         ID of the secret store containing credentials for this resource, if any.
15456        '''
15457        self.service_account_key = service_account_key if service_account_key is not None else ''
15458        '''
15459         The service account key to authenticate with.
15460        '''
15461        self.subdomain = subdomain if subdomain is not None else ''
15462        '''
15463         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15464        '''
15465        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15466        '''
15467         Tags is a map of key, value pairs.
15468        '''
15469
15470    def __repr__(self):
15471        return '<sdm.GoogleGKEUserImpersonation ' + \
15472            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15473            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15474            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15475            'endpoint: ' + repr(self.endpoint) + ' ' +\
15476            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15477            'healthy: ' + repr(self.healthy) + ' ' +\
15478            'id: ' + repr(self.id) + ' ' +\
15479            'name: ' + repr(self.name) + ' ' +\
15480            'port_override: ' + repr(self.port_override) + ' ' +\
15481            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15482            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15483            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
15484            'subdomain: ' + repr(self.subdomain) + ' ' +\
15485            'tags: ' + repr(self.tags) + ' ' +\
15486            '>'
15487
15488    def to_dict(self):
15489        return {
15490            'bind_interface': self.bind_interface,
15491            'certificate_authority': self.certificate_authority,
15492            'egress_filter': self.egress_filter,
15493            'endpoint': self.endpoint,
15494            'healthcheck_namespace': self.healthcheck_namespace,
15495            'healthy': self.healthy,
15496            'id': self.id,
15497            'name': self.name,
15498            'port_override': self.port_override,
15499            'proxy_cluster_id': self.proxy_cluster_id,
15500            'secret_store_id': self.secret_store_id,
15501            'service_account_key': self.service_account_key,
15502            'subdomain': self.subdomain,
15503            'tags': self.tags,
15504        }
15505
15506    @classmethod
15507    def from_dict(cls, d):
15508        return cls(
15509            bind_interface=d.get('bind_interface'),
15510            certificate_authority=d.get('certificate_authority'),
15511            egress_filter=d.get('egress_filter'),
15512            endpoint=d.get('endpoint'),
15513            healthcheck_namespace=d.get('healthcheck_namespace'),
15514            healthy=d.get('healthy'),
15515            id=d.get('id'),
15516            name=d.get('name'),
15517            port_override=d.get('port_override'),
15518            proxy_cluster_id=d.get('proxy_cluster_id'),
15519            secret_store_id=d.get('secret_store_id'),
15520            service_account_key=d.get('service_account_key'),
15521            subdomain=d.get('subdomain'),
15522            tags=d.get('tags'),
15523        )

GoogleGKEUserImpersonation is deprecated, see docs for more info.

GoogleGKEUserImpersonation( bind_interface=None, certificate_authority=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, service_account_key=None, subdomain=None, tags=None)
15396    def __init__(
15397        self,
15398        bind_interface=None,
15399        certificate_authority=None,
15400        egress_filter=None,
15401        endpoint=None,
15402        healthcheck_namespace=None,
15403        healthy=None,
15404        id=None,
15405        name=None,
15406        port_override=None,
15407        proxy_cluster_id=None,
15408        secret_store_id=None,
15409        service_account_key=None,
15410        subdomain=None,
15411        tags=None,
15412    ):
15413        self.bind_interface = bind_interface if bind_interface is not None else ''
15414        '''
15415         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15416        '''
15417        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15418        '''
15419         The CA to authenticate TLS connections with.
15420        '''
15421        self.egress_filter = egress_filter if egress_filter is not None else ''
15422        '''
15423         A filter applied to the routing logic to pin datasource to nodes.
15424        '''
15425        self.endpoint = endpoint if endpoint is not None else ''
15426        '''
15427         The endpoint to dial.
15428        '''
15429        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15430        '''
15431         The path used to check the health of your connection.  Defaults to `default`.
15432        '''
15433        self.healthy = healthy if healthy is not None else False
15434        '''
15435         True if the datasource is reachable and the credentials are valid.
15436        '''
15437        self.id = id if id is not None else ''
15438        '''
15439         Unique identifier of the Resource.
15440        '''
15441        self.name = name if name is not None else ''
15442        '''
15443         Unique human-readable name of the Resource.
15444        '''
15445        self.port_override = port_override if port_override is not None else 0
15446        '''
15447         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15448        '''
15449        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15450        '''
15451         ID of the proxy cluster for this resource, if any.
15452        '''
15453        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15454        '''
15455         ID of the secret store containing credentials for this resource, if any.
15456        '''
15457        self.service_account_key = service_account_key if service_account_key is not None else ''
15458        '''
15459         The service account key to authenticate with.
15460        '''
15461        self.subdomain = subdomain if subdomain is not None else ''
15462        '''
15463         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15464        '''
15465        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15466        '''
15467         Tags is a map of key, value pairs.
15468        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

service_account_key

The service account key to authenticate with.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
15488    def to_dict(self):
15489        return {
15490            'bind_interface': self.bind_interface,
15491            'certificate_authority': self.certificate_authority,
15492            'egress_filter': self.egress_filter,
15493            'endpoint': self.endpoint,
15494            'healthcheck_namespace': self.healthcheck_namespace,
15495            'healthy': self.healthy,
15496            'id': self.id,
15497            'name': self.name,
15498            'port_override': self.port_override,
15499            'proxy_cluster_id': self.proxy_cluster_id,
15500            'secret_store_id': self.secret_store_id,
15501            'service_account_key': self.service_account_key,
15502            'subdomain': self.subdomain,
15503            'tags': self.tags,
15504        }
@classmethod
def from_dict(cls, d)
15506    @classmethod
15507    def from_dict(cls, d):
15508        return cls(
15509            bind_interface=d.get('bind_interface'),
15510            certificate_authority=d.get('certificate_authority'),
15511            egress_filter=d.get('egress_filter'),
15512            endpoint=d.get('endpoint'),
15513            healthcheck_namespace=d.get('healthcheck_namespace'),
15514            healthy=d.get('healthy'),
15515            id=d.get('id'),
15516            name=d.get('name'),
15517            port_override=d.get('port_override'),
15518            proxy_cluster_id=d.get('proxy_cluster_id'),
15519            secret_store_id=d.get('secret_store_id'),
15520            service_account_key=d.get('service_account_key'),
15521            subdomain=d.get('subdomain'),
15522            tags=d.get('tags'),
15523        )
class GoogleSpanner:
15526class GoogleSpanner:
15527    __slots__ = [
15528        'bind_interface',
15529        'database',
15530        'egress_filter',
15531        'endpoint',
15532        'healthy',
15533        'id',
15534        'instance',
15535        'name',
15536        'port',
15537        'port_override',
15538        'project',
15539        'proxy_cluster_id',
15540        'secret_store_id',
15541        'service_account_to_impersonate',
15542        'subdomain',
15543        'tags',
15544    ]
15545
15546    def __init__(
15547        self,
15548        bind_interface=None,
15549        database=None,
15550        egress_filter=None,
15551        endpoint=None,
15552        healthy=None,
15553        id=None,
15554        instance=None,
15555        name=None,
15556        port=None,
15557        port_override=None,
15558        project=None,
15559        proxy_cluster_id=None,
15560        secret_store_id=None,
15561        service_account_to_impersonate=None,
15562        subdomain=None,
15563        tags=None,
15564    ):
15565        self.bind_interface = bind_interface if bind_interface is not None else ''
15566        '''
15567         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15568        '''
15569        self.database = database if database is not None else ''
15570        '''
15571         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15572        '''
15573        self.egress_filter = egress_filter if egress_filter is not None else ''
15574        '''
15575         A filter applied to the routing logic to pin datasource to nodes.
15576        '''
15577        self.endpoint = endpoint if endpoint is not None else ''
15578        '''
15579         The endpoint to dial e.g. spanner.googleapis.com
15580        '''
15581        self.healthy = healthy if healthy is not None else False
15582        '''
15583         True if the datasource is reachable and the credentials are valid.
15584        '''
15585        self.id = id if id is not None else ''
15586        '''
15587         Unique identifier of the Resource.
15588        '''
15589        self.instance = instance if instance is not None else ''
15590        '''
15591         The Spanner instance ID within the GCP project.
15592        '''
15593        self.name = name if name is not None else ''
15594        '''
15595         Unique human-readable name of the Resource.
15596        '''
15597        self.port = port if port is not None else 0
15598        '''
15599         The port to dial to initiate a connection from the egress node to this resource.
15600        '''
15601        self.port_override = port_override if port_override is not None else 0
15602        '''
15603         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15604        '''
15605        self.project = project if project is not None else ''
15606        '''
15607         The GCP project ID containing the Spanner database.
15608        '''
15609        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15610        '''
15611         ID of the proxy cluster for this resource, if any.
15612        '''
15613        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15614        '''
15615         ID of the secret store containing credentials for this resource, if any.
15616        '''
15617        self.service_account_to_impersonate = service_account_to_impersonate if service_account_to_impersonate is not None else ''
15618        '''
15619         Optional service account email to impersonate. When set, the relay's
15620         Application Default Credentials will impersonate this service account
15621         to access Spanner. This allows role separation where the relay uses
15622         one service account but operates as another.
15623        '''
15624        self.subdomain = subdomain if subdomain is not None else ''
15625        '''
15626         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15627        '''
15628        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15629        '''
15630         Tags is a map of key, value pairs.
15631        '''
15632
15633    def __repr__(self):
15634        return '<sdm.GoogleSpanner ' + \
15635            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15636            'database: ' + repr(self.database) + ' ' +\
15637            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15638            'endpoint: ' + repr(self.endpoint) + ' ' +\
15639            'healthy: ' + repr(self.healthy) + ' ' +\
15640            'id: ' + repr(self.id) + ' ' +\
15641            'instance: ' + repr(self.instance) + ' ' +\
15642            'name: ' + repr(self.name) + ' ' +\
15643            'port: ' + repr(self.port) + ' ' +\
15644            'port_override: ' + repr(self.port_override) + ' ' +\
15645            'project: ' + repr(self.project) + ' ' +\
15646            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15647            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15648            'service_account_to_impersonate: ' + repr(self.service_account_to_impersonate) + ' ' +\
15649            'subdomain: ' + repr(self.subdomain) + ' ' +\
15650            'tags: ' + repr(self.tags) + ' ' +\
15651            '>'
15652
15653    def to_dict(self):
15654        return {
15655            'bind_interface': self.bind_interface,
15656            'database': self.database,
15657            'egress_filter': self.egress_filter,
15658            'endpoint': self.endpoint,
15659            'healthy': self.healthy,
15660            'id': self.id,
15661            'instance': self.instance,
15662            'name': self.name,
15663            'port': self.port,
15664            'port_override': self.port_override,
15665            'project': self.project,
15666            'proxy_cluster_id': self.proxy_cluster_id,
15667            'secret_store_id': self.secret_store_id,
15668            'service_account_to_impersonate':
15669            self.service_account_to_impersonate,
15670            'subdomain': self.subdomain,
15671            'tags': self.tags,
15672        }
15673
15674    @classmethod
15675    def from_dict(cls, d):
15676        return cls(
15677            bind_interface=d.get('bind_interface'),
15678            database=d.get('database'),
15679            egress_filter=d.get('egress_filter'),
15680            endpoint=d.get('endpoint'),
15681            healthy=d.get('healthy'),
15682            id=d.get('id'),
15683            instance=d.get('instance'),
15684            name=d.get('name'),
15685            port=d.get('port'),
15686            port_override=d.get('port_override'),
15687            project=d.get('project'),
15688            proxy_cluster_id=d.get('proxy_cluster_id'),
15689            secret_store_id=d.get('secret_store_id'),
15690            service_account_to_impersonate=d.get(
15691                'service_account_to_impersonate'),
15692            subdomain=d.get('subdomain'),
15693            tags=d.get('tags'),
15694        )
GoogleSpanner( bind_interface=None, database=None, egress_filter=None, endpoint=None, healthy=None, id=None, instance=None, name=None, port=None, port_override=None, project=None, proxy_cluster_id=None, secret_store_id=None, service_account_to_impersonate=None, subdomain=None, tags=None)
15546    def __init__(
15547        self,
15548        bind_interface=None,
15549        database=None,
15550        egress_filter=None,
15551        endpoint=None,
15552        healthy=None,
15553        id=None,
15554        instance=None,
15555        name=None,
15556        port=None,
15557        port_override=None,
15558        project=None,
15559        proxy_cluster_id=None,
15560        secret_store_id=None,
15561        service_account_to_impersonate=None,
15562        subdomain=None,
15563        tags=None,
15564    ):
15565        self.bind_interface = bind_interface if bind_interface is not None else ''
15566        '''
15567         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15568        '''
15569        self.database = database if database is not None else ''
15570        '''
15571         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15572        '''
15573        self.egress_filter = egress_filter if egress_filter is not None else ''
15574        '''
15575         A filter applied to the routing logic to pin datasource to nodes.
15576        '''
15577        self.endpoint = endpoint if endpoint is not None else ''
15578        '''
15579         The endpoint to dial e.g. spanner.googleapis.com
15580        '''
15581        self.healthy = healthy if healthy is not None else False
15582        '''
15583         True if the datasource is reachable and the credentials are valid.
15584        '''
15585        self.id = id if id is not None else ''
15586        '''
15587         Unique identifier of the Resource.
15588        '''
15589        self.instance = instance if instance is not None else ''
15590        '''
15591         The Spanner instance ID within the GCP project.
15592        '''
15593        self.name = name if name is not None else ''
15594        '''
15595         Unique human-readable name of the Resource.
15596        '''
15597        self.port = port if port is not None else 0
15598        '''
15599         The port to dial to initiate a connection from the egress node to this resource.
15600        '''
15601        self.port_override = port_override if port_override is not None else 0
15602        '''
15603         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15604        '''
15605        self.project = project if project is not None else ''
15606        '''
15607         The GCP project ID containing the Spanner database.
15608        '''
15609        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15610        '''
15611         ID of the proxy cluster for this resource, if any.
15612        '''
15613        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15614        '''
15615         ID of the secret store containing credentials for this resource, if any.
15616        '''
15617        self.service_account_to_impersonate = service_account_to_impersonate if service_account_to_impersonate is not None else ''
15618        '''
15619         Optional service account email to impersonate. When set, the relay's
15620         Application Default Credentials will impersonate this service account
15621         to access Spanner. This allows role separation where the relay uses
15622         one service account but operates as another.
15623        '''
15624        self.subdomain = subdomain if subdomain is not None else ''
15625        '''
15626         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
15627        '''
15628        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15629        '''
15630         Tags is a map of key, value pairs.
15631        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial e.g. spanner.googleapis.com

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

instance

The Spanner instance ID within the GCP project.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

project

The GCP project ID containing the Spanner database.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

service_account_to_impersonate

Optional service account email to impersonate. When set, the relay's Application Default Credentials will impersonate this service account to access Spanner. This allows role separation where the relay uses one service account but operates as another.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
15653    def to_dict(self):
15654        return {
15655            'bind_interface': self.bind_interface,
15656            'database': self.database,
15657            'egress_filter': self.egress_filter,
15658            'endpoint': self.endpoint,
15659            'healthy': self.healthy,
15660            'id': self.id,
15661            'instance': self.instance,
15662            'name': self.name,
15663            'port': self.port,
15664            'port_override': self.port_override,
15665            'project': self.project,
15666            'proxy_cluster_id': self.proxy_cluster_id,
15667            'secret_store_id': self.secret_store_id,
15668            'service_account_to_impersonate':
15669            self.service_account_to_impersonate,
15670            'subdomain': self.subdomain,
15671            'tags': self.tags,
15672        }
@classmethod
def from_dict(cls, d)
15674    @classmethod
15675    def from_dict(cls, d):
15676        return cls(
15677            bind_interface=d.get('bind_interface'),
15678            database=d.get('database'),
15679            egress_filter=d.get('egress_filter'),
15680            endpoint=d.get('endpoint'),
15681            healthy=d.get('healthy'),
15682            id=d.get('id'),
15683            instance=d.get('instance'),
15684            name=d.get('name'),
15685            port=d.get('port'),
15686            port_override=d.get('port_override'),
15687            project=d.get('project'),
15688            proxy_cluster_id=d.get('proxy_cluster_id'),
15689            secret_store_id=d.get('secret_store_id'),
15690            service_account_to_impersonate=d.get(
15691                'service_account_to_impersonate'),
15692            subdomain=d.get('subdomain'),
15693            tags=d.get('tags'),
15694        )
class GrantedAccountEntitlement:
15697class GrantedAccountEntitlement:
15698    '''
15699         GrantedAccountEntitlement represents an individual entitlement of an Account to a Resource that has been granted.
15700    '''
15701    __slots__ = [
15702        'group_id',
15703        'last_accessed',
15704        'mapped_identities',
15705        'origin_id',
15706        'resource_id',
15707    ]
15708
15709    def __init__(
15710        self,
15711        group_id=None,
15712        last_accessed=None,
15713        mapped_identities=None,
15714        origin_id=None,
15715        resource_id=None,
15716    ):
15717        self.group_id = group_id if group_id is not None else ''
15718        '''
15719         The unique identifier of the group associated with this entitlement, if any.
15720        '''
15721        self.last_accessed = last_accessed if last_accessed is not None else None
15722        '''
15723         The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
15724        '''
15725        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15726        '''
15727         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15728        '''
15729        self.origin_id = origin_id if origin_id is not None else ''
15730        '''
15731         The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
15732        '''
15733        self.resource_id = resource_id if resource_id is not None else ''
15734        '''
15735         The unique identifier of the Resource to which access is granted.
15736        '''
15737
15738    def __repr__(self):
15739        return '<sdm.GrantedAccountEntitlement ' + \
15740            'group_id: ' + repr(self.group_id) + ' ' +\
15741            'last_accessed: ' + repr(self.last_accessed) + ' ' +\
15742            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
15743            'origin_id: ' + repr(self.origin_id) + ' ' +\
15744            'resource_id: ' + repr(self.resource_id) + ' ' +\
15745            '>'
15746
15747    def to_dict(self):
15748        return {
15749            'group_id': self.group_id,
15750            'last_accessed': self.last_accessed,
15751            'mapped_identities': self.mapped_identities,
15752            'origin_id': self.origin_id,
15753            'resource_id': self.resource_id,
15754        }
15755
15756    @classmethod
15757    def from_dict(cls, d):
15758        return cls(
15759            group_id=d.get('group_id'),
15760            last_accessed=d.get('last_accessed'),
15761            mapped_identities=d.get('mapped_identities'),
15762            origin_id=d.get('origin_id'),
15763            resource_id=d.get('resource_id'),
15764        )

GrantedAccountEntitlement represents an individual entitlement of an Account to a Resource that has been granted.

GrantedAccountEntitlement( group_id=None, last_accessed=None, mapped_identities=None, origin_id=None, resource_id=None)
15709    def __init__(
15710        self,
15711        group_id=None,
15712        last_accessed=None,
15713        mapped_identities=None,
15714        origin_id=None,
15715        resource_id=None,
15716    ):
15717        self.group_id = group_id if group_id is not None else ''
15718        '''
15719         The unique identifier of the group associated with this entitlement, if any.
15720        '''
15721        self.last_accessed = last_accessed if last_accessed is not None else None
15722        '''
15723         The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
15724        '''
15725        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15726        '''
15727         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15728        '''
15729        self.origin_id = origin_id if origin_id is not None else ''
15730        '''
15731         The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
15732        '''
15733        self.resource_id = resource_id if resource_id is not None else ''
15734        '''
15735         The unique identifier of the Resource to which access is granted.
15736        '''
group_id

The unique identifier of the group associated with this entitlement, if any.

last_accessed

The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.

mapped_identities

The mapped identity privileges for this entitlement, such as Kubernetes group memberships.

origin_id

The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).

resource_id

The unique identifier of the Resource to which access is granted.

def to_dict(self)
15747    def to_dict(self):
15748        return {
15749            'group_id': self.group_id,
15750            'last_accessed': self.last_accessed,
15751            'mapped_identities': self.mapped_identities,
15752            'origin_id': self.origin_id,
15753            'resource_id': self.resource_id,
15754        }
@classmethod
def from_dict(cls, d)
15756    @classmethod
15757    def from_dict(cls, d):
15758        return cls(
15759            group_id=d.get('group_id'),
15760            last_accessed=d.get('last_accessed'),
15761            mapped_identities=d.get('mapped_identities'),
15762            origin_id=d.get('origin_id'),
15763            resource_id=d.get('resource_id'),
15764        )
class GrantedEntitlementKubernetesPrivileges:
15767class GrantedEntitlementKubernetesPrivileges:
15768    '''
15769         GrantedEntitlementKubernetesPrivileges holds Kubernetes group memberships for a granted entitlement.
15770    '''
15771    __slots__ = [
15772        'groups',
15773    ]
15774
15775    def __init__(
15776        self,
15777        groups=None,
15778    ):
15779        self.groups = groups if groups is not None else []
15780        '''
15781         The Kubernetes groups granted to this principal for this resource.
15782        '''
15783
15784    def __repr__(self):
15785        return '<sdm.GrantedEntitlementKubernetesPrivileges ' + \
15786            'groups: ' + repr(self.groups) + ' ' +\
15787            '>'
15788
15789    def to_dict(self):
15790        return {
15791            'groups': self.groups,
15792        }
15793
15794    @classmethod
15795    def from_dict(cls, d):
15796        return cls(groups=d.get('groups'), )

GrantedEntitlementKubernetesPrivileges holds Kubernetes group memberships for a granted entitlement.

GrantedEntitlementKubernetesPrivileges(groups=None)
15775    def __init__(
15776        self,
15777        groups=None,
15778    ):
15779        self.groups = groups if groups is not None else []
15780        '''
15781         The Kubernetes groups granted to this principal for this resource.
15782        '''
groups

The Kubernetes groups granted to this principal for this resource.

def to_dict(self)
15789    def to_dict(self):
15790        return {
15791            'groups': self.groups,
15792        }
@classmethod
def from_dict(cls, d)
15794    @classmethod
15795    def from_dict(cls, d):
15796        return cls(groups=d.get('groups'), )
class GrantedResourceEntitlement:
15799class GrantedResourceEntitlement:
15800    '''
15801         GrantedResourceEntitlement represents an individual entitlement of an Account to a Resource,
15802     viewed from the resource's perspective.
15803    '''
15804    __slots__ = [
15805        'account_id',
15806        'group_id',
15807        'last_accessed',
15808        'mapped_identities',
15809        'origin_id',
15810    ]
15811
15812    def __init__(
15813        self,
15814        account_id=None,
15815        group_id=None,
15816        last_accessed=None,
15817        mapped_identities=None,
15818        origin_id=None,
15819    ):
15820        self.account_id = account_id if account_id is not None else ''
15821        '''
15822         The unique identifier of the Account that has access to this resource.
15823        '''
15824        self.group_id = group_id if group_id is not None else ''
15825        '''
15826         The unique identifier of the group associated with this entitlement, if any.
15827        '''
15828        self.last_accessed = last_accessed if last_accessed is not None else None
15829        '''
15830         The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
15831        '''
15832        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15833        '''
15834         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15835        '''
15836        self.origin_id = origin_id if origin_id is not None else ''
15837        '''
15838         The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
15839        '''
15840
15841    def __repr__(self):
15842        return '<sdm.GrantedResourceEntitlement ' + \
15843            'account_id: ' + repr(self.account_id) + ' ' +\
15844            'group_id: ' + repr(self.group_id) + ' ' +\
15845            'last_accessed: ' + repr(self.last_accessed) + ' ' +\
15846            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
15847            'origin_id: ' + repr(self.origin_id) + ' ' +\
15848            '>'
15849
15850    def to_dict(self):
15851        return {
15852            'account_id': self.account_id,
15853            'group_id': self.group_id,
15854            'last_accessed': self.last_accessed,
15855            'mapped_identities': self.mapped_identities,
15856            'origin_id': self.origin_id,
15857        }
15858
15859    @classmethod
15860    def from_dict(cls, d):
15861        return cls(
15862            account_id=d.get('account_id'),
15863            group_id=d.get('group_id'),
15864            last_accessed=d.get('last_accessed'),
15865            mapped_identities=d.get('mapped_identities'),
15866            origin_id=d.get('origin_id'),
15867        )

GrantedResourceEntitlement represents an individual entitlement of an Account to a Resource, viewed from the resource's perspective.

GrantedResourceEntitlement( account_id=None, group_id=None, last_accessed=None, mapped_identities=None, origin_id=None)
15812    def __init__(
15813        self,
15814        account_id=None,
15815        group_id=None,
15816        last_accessed=None,
15817        mapped_identities=None,
15818        origin_id=None,
15819    ):
15820        self.account_id = account_id if account_id is not None else ''
15821        '''
15822         The unique identifier of the Account that has access to this resource.
15823        '''
15824        self.group_id = group_id if group_id is not None else ''
15825        '''
15826         The unique identifier of the group associated with this entitlement, if any.
15827        '''
15828        self.last_accessed = last_accessed if last_accessed is not None else None
15829        '''
15830         The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
15831        '''
15832        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15833        '''
15834         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15835        '''
15836        self.origin_id = origin_id if origin_id is not None else ''
15837        '''
15838         The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
15839        '''
account_id

The unique identifier of the Account that has access to this resource.

group_id

The unique identifier of the group associated with this entitlement, if any.

last_accessed

The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.

mapped_identities

The mapped identity privileges for this entitlement, such as Kubernetes group memberships.

origin_id

The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).

def to_dict(self)
15850    def to_dict(self):
15851        return {
15852            'account_id': self.account_id,
15853            'group_id': self.group_id,
15854            'last_accessed': self.last_accessed,
15855            'mapped_identities': self.mapped_identities,
15856            'origin_id': self.origin_id,
15857        }
@classmethod
def from_dict(cls, d)
15859    @classmethod
15860    def from_dict(cls, d):
15861        return cls(
15862            account_id=d.get('account_id'),
15863            group_id=d.get('group_id'),
15864            last_accessed=d.get('last_accessed'),
15865            mapped_identities=d.get('mapped_identities'),
15866            origin_id=d.get('origin_id'),
15867        )
class GrantedRoleEntitlement:
15870class GrantedRoleEntitlement:
15871    '''
15872         GrantedRoleEntitlement represents an individual resource entitlement granted through a Role.
15873    '''
15874    __slots__ = [
15875        'group_id',
15876        'last_accessed',
15877        'mapped_identities',
15878        'resource_id',
15879    ]
15880
15881    def __init__(
15882        self,
15883        group_id=None,
15884        last_accessed=None,
15885        mapped_identities=None,
15886        resource_id=None,
15887    ):
15888        self.group_id = group_id if group_id is not None else ''
15889        '''
15890         The unique identifier of the group associated with this entitlement, if any.
15891        '''
15892        self.last_accessed = last_accessed if last_accessed is not None else None
15893        '''
15894         The most recent time at which any account in the organization accessed this resource.
15895         Empty if the resource has never been accessed.
15896        '''
15897        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15898        '''
15899         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15900        '''
15901        self.resource_id = resource_id if resource_id is not None else ''
15902        '''
15903         The unique identifier of the Resource to which the role grants access.
15904        '''
15905
15906    def __repr__(self):
15907        return '<sdm.GrantedRoleEntitlement ' + \
15908            'group_id: ' + repr(self.group_id) + ' ' +\
15909            'last_accessed: ' + repr(self.last_accessed) + ' ' +\
15910            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
15911            'resource_id: ' + repr(self.resource_id) + ' ' +\
15912            '>'
15913
15914    def to_dict(self):
15915        return {
15916            'group_id': self.group_id,
15917            'last_accessed': self.last_accessed,
15918            'mapped_identities': self.mapped_identities,
15919            'resource_id': self.resource_id,
15920        }
15921
15922    @classmethod
15923    def from_dict(cls, d):
15924        return cls(
15925            group_id=d.get('group_id'),
15926            last_accessed=d.get('last_accessed'),
15927            mapped_identities=d.get('mapped_identities'),
15928            resource_id=d.get('resource_id'),
15929        )

GrantedRoleEntitlement represents an individual resource entitlement granted through a Role.

GrantedRoleEntitlement( group_id=None, last_accessed=None, mapped_identities=None, resource_id=None)
15881    def __init__(
15882        self,
15883        group_id=None,
15884        last_accessed=None,
15885        mapped_identities=None,
15886        resource_id=None,
15887    ):
15888        self.group_id = group_id if group_id is not None else ''
15889        '''
15890         The unique identifier of the group associated with this entitlement, if any.
15891        '''
15892        self.last_accessed = last_accessed if last_accessed is not None else None
15893        '''
15894         The most recent time at which any account in the organization accessed this resource.
15895         Empty if the resource has never been accessed.
15896        '''
15897        self.mapped_identities = mapped_identities if mapped_identities is not None else None
15898        '''
15899         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
15900        '''
15901        self.resource_id = resource_id if resource_id is not None else ''
15902        '''
15903         The unique identifier of the Resource to which the role grants access.
15904        '''
group_id

The unique identifier of the group associated with this entitlement, if any.

last_accessed

The most recent time at which any account in the organization accessed this resource. Empty if the resource has never been accessed.

mapped_identities

The mapped identity privileges for this entitlement, such as Kubernetes group memberships.

resource_id

The unique identifier of the Resource to which the role grants access.

def to_dict(self)
15914    def to_dict(self):
15915        return {
15916            'group_id': self.group_id,
15917            'last_accessed': self.last_accessed,
15918            'mapped_identities': self.mapped_identities,
15919            'resource_id': self.resource_id,
15920        }
@classmethod
def from_dict(cls, d)
15922    @classmethod
15923    def from_dict(cls, d):
15924        return cls(
15925            group_id=d.get('group_id'),
15926            last_accessed=d.get('last_accessed'),
15927            mapped_identities=d.get('mapped_identities'),
15928            resource_id=d.get('resource_id'),
15929        )
class Greenplum:
15932class Greenplum:
15933    __slots__ = [
15934        'bind_interface',
15935        'database',
15936        'egress_filter',
15937        'healthy',
15938        'hostname',
15939        'id',
15940        'name',
15941        'override_database',
15942        'password',
15943        'port',
15944        'port_override',
15945        'proxy_cluster_id',
15946        'secret_store_id',
15947        'subdomain',
15948        'tags',
15949        'username',
15950    ]
15951
15952    def __init__(
15953        self,
15954        bind_interface=None,
15955        database=None,
15956        egress_filter=None,
15957        healthy=None,
15958        hostname=None,
15959        id=None,
15960        name=None,
15961        override_database=None,
15962        password=None,
15963        port=None,
15964        port_override=None,
15965        proxy_cluster_id=None,
15966        secret_store_id=None,
15967        subdomain=None,
15968        tags=None,
15969        username=None,
15970    ):
15971        self.bind_interface = bind_interface if bind_interface is not None else ''
15972        '''
15973         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15974        '''
15975        self.database = database if database is not None else ''
15976        '''
15977         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15978        '''
15979        self.egress_filter = egress_filter if egress_filter is not None else ''
15980        '''
15981         A filter applied to the routing logic to pin datasource to nodes.
15982        '''
15983        self.healthy = healthy if healthy is not None else False
15984        '''
15985         True if the datasource is reachable and the credentials are valid.
15986        '''
15987        self.hostname = hostname if hostname is not None else ''
15988        '''
15989         The host to dial to initiate a connection from the egress node to this resource.
15990        '''
15991        self.id = id if id is not None else ''
15992        '''
15993         Unique identifier of the Resource.
15994        '''
15995        self.name = name if name is not None else ''
15996        '''
15997         Unique human-readable name of the Resource.
15998        '''
15999        self.override_database = override_database if override_database is not None else False
16000        '''
16001         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16002        '''
16003        self.password = password if password is not None else ''
16004        '''
16005         The password to authenticate with.
16006        '''
16007        self.port = port if port is not None else 0
16008        '''
16009         The port to dial to initiate a connection from the egress node to this resource.
16010        '''
16011        self.port_override = port_override if port_override is not None else 0
16012        '''
16013         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
16014        '''
16015        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16016        '''
16017         ID of the proxy cluster for this resource, if any.
16018        '''
16019        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16020        '''
16021         ID of the secret store containing credentials for this resource, if any.
16022        '''
16023        self.subdomain = subdomain if subdomain is not None else ''
16024        '''
16025         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
16026        '''
16027        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16028        '''
16029         Tags is a map of key, value pairs.
16030        '''
16031        self.username = username if username is not None else ''
16032        '''
16033         The username to authenticate with.
16034        '''
16035
16036    def __repr__(self):
16037        return '<sdm.Greenplum ' + \
16038            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16039            'database: ' + repr(self.database) + ' ' +\
16040            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16041            'healthy: ' + repr(self.healthy) + ' ' +\
16042            'hostname: ' + repr(self.hostname) + ' ' +\
16043            'id: ' + repr(self.id) + ' ' +\
16044            'name: ' + repr(self.name) + ' ' +\
16045            'override_database: ' + repr(self.override_database) + ' ' +\
16046            'password: ' + repr(self.password) + ' ' +\
16047            'port: ' + repr(self.port) + ' ' +\
16048            'port_override: ' + repr(self.port_override) + ' ' +\
16049            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16050            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16051            'subdomain: ' + repr(self.subdomain) + ' ' +\
16052            'tags: ' + repr(self.tags) + ' ' +\
16053            'username: ' + repr(self.username) + ' ' +\
16054            '>'
16055
16056    def to_dict(self):
16057        return {
16058            'bind_interface': self.bind_interface,
16059            'database': self.database,
16060            'egress_filter': self.egress_filter,
16061            'healthy': self.healthy,
16062            'hostname': self.hostname,
16063            'id': self.id,
16064            'name': self.name,
16065            'override_database': self.override_database,
16066            'password': self.password,
16067            'port': self.port,
16068            'port_override': self.port_override,
16069            'proxy_cluster_id': self.proxy_cluster_id,
16070            'secret_store_id': self.secret_store_id,
16071            'subdomain': self.subdomain,
16072            'tags': self.tags,
16073            'username': self.username,
16074        }
16075
16076    @classmethod
16077    def from_dict(cls, d):
16078        return cls(
16079            bind_interface=d.get('bind_interface'),
16080            database=d.get('database'),
16081            egress_filter=d.get('egress_filter'),
16082            healthy=d.get('healthy'),
16083            hostname=d.get('hostname'),
16084            id=d.get('id'),
16085            name=d.get('name'),
16086            override_database=d.get('override_database'),
16087            password=d.get('password'),
16088            port=d.get('port'),
16089            port_override=d.get('port_override'),
16090            proxy_cluster_id=d.get('proxy_cluster_id'),
16091            secret_store_id=d.get('secret_store_id'),
16092            subdomain=d.get('subdomain'),
16093            tags=d.get('tags'),
16094            username=d.get('username'),
16095        )
Greenplum( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
15952    def __init__(
15953        self,
15954        bind_interface=None,
15955        database=None,
15956        egress_filter=None,
15957        healthy=None,
15958        hostname=None,
15959        id=None,
15960        name=None,
15961        override_database=None,
15962        password=None,
15963        port=None,
15964        port_override=None,
15965        proxy_cluster_id=None,
15966        secret_store_id=None,
15967        subdomain=None,
15968        tags=None,
15969        username=None,
15970    ):
15971        self.bind_interface = bind_interface if bind_interface is not None else ''
15972        '''
15973         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15974        '''
15975        self.database = database if database is not None else ''
15976        '''
15977         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
15978        '''
15979        self.egress_filter = egress_filter if egress_filter is not None else ''
15980        '''
15981         A filter applied to the routing logic to pin datasource to nodes.
15982        '''
15983        self.healthy = healthy if healthy is not None else False
15984        '''
15985         True if the datasource is reachable and the credentials are valid.
15986        '''
15987        self.hostname = hostname if hostname is not None else ''
15988        '''
15989         The host to dial to initiate a connection from the egress node to this resource.
15990        '''
15991        self.id = id if id is not None else ''
15992        '''
15993         Unique identifier of the Resource.
15994        '''
15995        self.name = name if name is not None else ''
15996        '''
15997         Unique human-readable name of the Resource.
15998        '''
15999        self.override_database = override_database if override_database is not None else False
16000        '''
16001         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16002        '''
16003        self.password = password if password is not None else ''
16004        '''
16005         The password to authenticate with.
16006        '''
16007        self.port = port if port is not None else 0
16008        '''
16009         The port to dial to initiate a connection from the egress node to this resource.
16010        '''
16011        self.port_override = port_override if port_override is not None else 0
16012        '''
16013         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
16014        '''
16015        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16016        '''
16017         ID of the proxy cluster for this resource, if any.
16018        '''
16019        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16020        '''
16021         ID of the secret store containing credentials for this resource, if any.
16022        '''
16023        self.subdomain = subdomain if subdomain is not None else ''
16024        '''
16025         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
16026        '''
16027        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16028        '''
16029         Tags is a map of key, value pairs.
16030        '''
16031        self.username = username if username is not None else ''
16032        '''
16033         The username to authenticate with.
16034        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
16056    def to_dict(self):
16057        return {
16058            'bind_interface': self.bind_interface,
16059            'database': self.database,
16060            'egress_filter': self.egress_filter,
16061            'healthy': self.healthy,
16062            'hostname': self.hostname,
16063            'id': self.id,
16064            'name': self.name,
16065            'override_database': self.override_database,
16066            'password': self.password,
16067            'port': self.port,
16068            'port_override': self.port_override,
16069            'proxy_cluster_id': self.proxy_cluster_id,
16070            'secret_store_id': self.secret_store_id,
16071            'subdomain': self.subdomain,
16072            'tags': self.tags,
16073            'username': self.username,
16074        }
@classmethod
def from_dict(cls, d)
16076    @classmethod
16077    def from_dict(cls, d):
16078        return cls(
16079            bind_interface=d.get('bind_interface'),
16080            database=d.get('database'),
16081            egress_filter=d.get('egress_filter'),
16082            healthy=d.get('healthy'),
16083            hostname=d.get('hostname'),
16084            id=d.get('id'),
16085            name=d.get('name'),
16086            override_database=d.get('override_database'),
16087            password=d.get('password'),
16088            port=d.get('port'),
16089            port_override=d.get('port_override'),
16090            proxy_cluster_id=d.get('proxy_cluster_id'),
16091            secret_store_id=d.get('secret_store_id'),
16092            subdomain=d.get('subdomain'),
16093            tags=d.get('tags'),
16094            username=d.get('username'),
16095        )
class Group:
16098class Group:
16099    '''
16100         A Group is a named set of principals.
16101    '''
16102    __slots__ = [
16103        'description',
16104        'id',
16105        'name',
16106        'source',
16107        'tags',
16108    ]
16109
16110    def __init__(
16111        self,
16112        description=None,
16113        id=None,
16114        name=None,
16115        source=None,
16116        tags=None,
16117    ):
16118        self.description = description if description is not None else ''
16119        '''
16120         Description of the Group.
16121        '''
16122        self.id = id if id is not None else ''
16123        '''
16124         Unique identifier of the Group.
16125        '''
16126        self.name = name if name is not None else ''
16127        '''
16128         Unique human-readable name of the Group.
16129        '''
16130        self.source = source if source is not None else ''
16131        '''
16132         Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
16133        '''
16134        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16135        '''
16136         Tags is a map of key/value pairs that can be attached to a Group.
16137        '''
16138
16139    def __repr__(self):
16140        return '<sdm.Group ' + \
16141            'description: ' + repr(self.description) + ' ' +\
16142            'id: ' + repr(self.id) + ' ' +\
16143            'name: ' + repr(self.name) + ' ' +\
16144            'source: ' + repr(self.source) + ' ' +\
16145            'tags: ' + repr(self.tags) + ' ' +\
16146            '>'
16147
16148    def to_dict(self):
16149        return {
16150            'description': self.description,
16151            'id': self.id,
16152            'name': self.name,
16153            'source': self.source,
16154            'tags': self.tags,
16155        }
16156
16157    @classmethod
16158    def from_dict(cls, d):
16159        return cls(
16160            description=d.get('description'),
16161            id=d.get('id'),
16162            name=d.get('name'),
16163            source=d.get('source'),
16164            tags=d.get('tags'),
16165        )

A Group is a named set of principals.

Group(description=None, id=None, name=None, source=None, tags=None)
16110    def __init__(
16111        self,
16112        description=None,
16113        id=None,
16114        name=None,
16115        source=None,
16116        tags=None,
16117    ):
16118        self.description = description if description is not None else ''
16119        '''
16120         Description of the Group.
16121        '''
16122        self.id = id if id is not None else ''
16123        '''
16124         Unique identifier of the Group.
16125        '''
16126        self.name = name if name is not None else ''
16127        '''
16128         Unique human-readable name of the Group.
16129        '''
16130        self.source = source if source is not None else ''
16131        '''
16132         Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
16133        '''
16134        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16135        '''
16136         Tags is a map of key/value pairs that can be attached to a Group.
16137        '''
description

Description of the Group.

id

Unique identifier of the Group.

name

Unique human-readable name of the Group.

source

Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.

tags

Tags is a map of key/value pairs that can be attached to a Group.

def to_dict(self)
16148    def to_dict(self):
16149        return {
16150            'description': self.description,
16151            'id': self.id,
16152            'name': self.name,
16153            'source': self.source,
16154            'tags': self.tags,
16155        }
@classmethod
def from_dict(cls, d)
16157    @classmethod
16158    def from_dict(cls, d):
16159        return cls(
16160            description=d.get('description'),
16161            id=d.get('id'),
16162            name=d.get('name'),
16163            source=d.get('source'),
16164            tags=d.get('tags'),
16165        )
class GroupCreateFromRolesRequest:
16168class GroupCreateFromRolesRequest:
16169    __slots__ = [
16170        'commit',
16171        'role_ids',
16172    ]
16173
16174    def __init__(
16175        self,
16176        commit=None,
16177        role_ids=None,
16178    ):
16179        self.commit = commit if commit is not None else False
16180        '''
16181         Commit
16182        '''
16183        self.role_ids = role_ids if role_ids is not None else []
16184        '''
16185         The unique identifiers of the roles create groups from.
16186        '''
16187
16188    def __repr__(self):
16189        return '<sdm.GroupCreateFromRolesRequest ' + \
16190            'commit: ' + repr(self.commit) + ' ' +\
16191            'role_ids: ' + repr(self.role_ids) + ' ' +\
16192            '>'
16193
16194    def to_dict(self):
16195        return {
16196            'commit': self.commit,
16197            'role_ids': self.role_ids,
16198        }
16199
16200    @classmethod
16201    def from_dict(cls, d):
16202        return cls(
16203            commit=d.get('commit'),
16204            role_ids=d.get('role_ids'),
16205        )
GroupCreateFromRolesRequest(commit=None, role_ids=None)
16174    def __init__(
16175        self,
16176        commit=None,
16177        role_ids=None,
16178    ):
16179        self.commit = commit if commit is not None else False
16180        '''
16181         Commit
16182        '''
16183        self.role_ids = role_ids if role_ids is not None else []
16184        '''
16185         The unique identifiers of the roles create groups from.
16186        '''
commit

Commit

role_ids

The unique identifiers of the roles create groups from.

def to_dict(self)
16194    def to_dict(self):
16195        return {
16196            'commit': self.commit,
16197            'role_ids': self.role_ids,
16198        }
@classmethod
def from_dict(cls, d)
16200    @classmethod
16201    def from_dict(cls, d):
16202        return cls(
16203            commit=d.get('commit'),
16204            role_ids=d.get('role_ids'),
16205        )
class GroupCreateFromRolesResponse:
16208class GroupCreateFromRolesResponse:
16209    __slots__ = [
16210        'group_from_role',
16211        'rate_limit',
16212    ]
16213
16214    def __init__(
16215        self,
16216        group_from_role=None,
16217        rate_limit=None,
16218    ):
16219        self.group_from_role = group_from_role if group_from_role is not None else []
16220        '''
16221         The created Group.
16222        '''
16223        self.rate_limit = rate_limit if rate_limit is not None else None
16224        '''
16225         Rate limit information.
16226        '''
16227
16228    def __repr__(self):
16229        return '<sdm.GroupCreateFromRolesResponse ' + \
16230            'group_from_role: ' + repr(self.group_from_role) + ' ' +\
16231            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16232            '>'
16233
16234    def to_dict(self):
16235        return {
16236            'group_from_role': self.group_from_role,
16237            'rate_limit': self.rate_limit,
16238        }
16239
16240    @classmethod
16241    def from_dict(cls, d):
16242        return cls(
16243            group_from_role=d.get('group_from_role'),
16244            rate_limit=d.get('rate_limit'),
16245        )
GroupCreateFromRolesResponse(group_from_role=None, rate_limit=None)
16214    def __init__(
16215        self,
16216        group_from_role=None,
16217        rate_limit=None,
16218    ):
16219        self.group_from_role = group_from_role if group_from_role is not None else []
16220        '''
16221         The created Group.
16222        '''
16223        self.rate_limit = rate_limit if rate_limit is not None else None
16224        '''
16225         Rate limit information.
16226        '''
group_from_role

The created Group.

rate_limit

Rate limit information.

def to_dict(self)
16234    def to_dict(self):
16235        return {
16236            'group_from_role': self.group_from_role,
16237            'rate_limit': self.rate_limit,
16238        }
@classmethod
def from_dict(cls, d)
16240    @classmethod
16241    def from_dict(cls, d):
16242        return cls(
16243            group_from_role=d.get('group_from_role'),
16244            rate_limit=d.get('rate_limit'),
16245        )
class GroupCreateRequest:
16248class GroupCreateRequest:
16249    '''
16250         GroupCreateRequest specifies a group to create.
16251    '''
16252    __slots__ = [
16253        'group',
16254    ]
16255
16256    def __init__(
16257        self,
16258        group=None,
16259    ):
16260        self.group = group if group is not None else None
16261        '''
16262         Parameters to define the new Group.
16263        '''
16264
16265    def __repr__(self):
16266        return '<sdm.GroupCreateRequest ' + \
16267            'group: ' + repr(self.group) + ' ' +\
16268            '>'
16269
16270    def to_dict(self):
16271        return {
16272            'group': self.group,
16273        }
16274
16275    @classmethod
16276    def from_dict(cls, d):
16277        return cls(group=d.get('group'), )

GroupCreateRequest specifies a group to create.

GroupCreateRequest(group=None)
16256    def __init__(
16257        self,
16258        group=None,
16259    ):
16260        self.group = group if group is not None else None
16261        '''
16262         Parameters to define the new Group.
16263        '''
group

Parameters to define the new Group.

def to_dict(self)
16270    def to_dict(self):
16271        return {
16272            'group': self.group,
16273        }
@classmethod
def from_dict(cls, d)
16275    @classmethod
16276    def from_dict(cls, d):
16277        return cls(group=d.get('group'), )
class GroupCreateResponse:
16280class GroupCreateResponse:
16281    '''
16282         GroupCreateResponse reports the result of a create.
16283    '''
16284    __slots__ = [
16285        'group',
16286        'rate_limit',
16287    ]
16288
16289    def __init__(
16290        self,
16291        group=None,
16292        rate_limit=None,
16293    ):
16294        self.group = group if group is not None else None
16295        '''
16296         The created Group.
16297        '''
16298        self.rate_limit = rate_limit if rate_limit is not None else None
16299        '''
16300         Rate limit information.
16301        '''
16302
16303    def __repr__(self):
16304        return '<sdm.GroupCreateResponse ' + \
16305            'group: ' + repr(self.group) + ' ' +\
16306            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16307            '>'
16308
16309    def to_dict(self):
16310        return {
16311            'group': self.group,
16312            'rate_limit': self.rate_limit,
16313        }
16314
16315    @classmethod
16316    def from_dict(cls, d):
16317        return cls(
16318            group=d.get('group'),
16319            rate_limit=d.get('rate_limit'),
16320        )

GroupCreateResponse reports the result of a create.

GroupCreateResponse(group=None, rate_limit=None)
16289    def __init__(
16290        self,
16291        group=None,
16292        rate_limit=None,
16293    ):
16294        self.group = group if group is not None else None
16295        '''
16296         The created Group.
16297        '''
16298        self.rate_limit = rate_limit if rate_limit is not None else None
16299        '''
16300         Rate limit information.
16301        '''
group

The created Group.

rate_limit

Rate limit information.

def to_dict(self)
16309    def to_dict(self):
16310        return {
16311            'group': self.group,
16312            'rate_limit': self.rate_limit,
16313        }
@classmethod
def from_dict(cls, d)
16315    @classmethod
16316    def from_dict(cls, d):
16317        return cls(
16318            group=d.get('group'),
16319            rate_limit=d.get('rate_limit'),
16320        )
class GroupDeleteRequest:
16323class GroupDeleteRequest:
16324    '''
16325         groupDeleteRequest identifies a group by ID to delete.
16326    '''
16327    __slots__ = [
16328        'id',
16329    ]
16330
16331    def __init__(
16332        self,
16333        id=None,
16334    ):
16335        self.id = id if id is not None else ''
16336        '''
16337         The unique identifier of the group to delete.
16338        '''
16339
16340    def __repr__(self):
16341        return '<sdm.GroupDeleteRequest ' + \
16342            'id: ' + repr(self.id) + ' ' +\
16343            '>'
16344
16345    def to_dict(self):
16346        return {
16347            'id': self.id,
16348        }
16349
16350    @classmethod
16351    def from_dict(cls, d):
16352        return cls(id=d.get('id'), )

groupDeleteRequest identifies a group by ID to delete.

GroupDeleteRequest(id=None)
16331    def __init__(
16332        self,
16333        id=None,
16334    ):
16335        self.id = id if id is not None else ''
16336        '''
16337         The unique identifier of the group to delete.
16338        '''
id

The unique identifier of the group to delete.

def to_dict(self)
16345    def to_dict(self):
16346        return {
16347            'id': self.id,
16348        }
@classmethod
def from_dict(cls, d)
16350    @classmethod
16351    def from_dict(cls, d):
16352        return cls(id=d.get('id'), )
class GroupDeleteResponse:
16355class GroupDeleteResponse:
16356    '''
16357         groupDeleteResponse returns information about a group that was deleted.
16358    '''
16359    __slots__ = [
16360        'meta',
16361        'rate_limit',
16362    ]
16363
16364    def __init__(
16365        self,
16366        meta=None,
16367        rate_limit=None,
16368    ):
16369        self.meta = meta if meta is not None else None
16370        '''
16371         Reserved for future use.
16372        '''
16373        self.rate_limit = rate_limit if rate_limit is not None else None
16374        '''
16375         Rate limit information.
16376        '''
16377
16378    def __repr__(self):
16379        return '<sdm.GroupDeleteResponse ' + \
16380            'meta: ' + repr(self.meta) + ' ' +\
16381            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16382            '>'
16383
16384    def to_dict(self):
16385        return {
16386            'meta': self.meta,
16387            'rate_limit': self.rate_limit,
16388        }
16389
16390    @classmethod
16391    def from_dict(cls, d):
16392        return cls(
16393            meta=d.get('meta'),
16394            rate_limit=d.get('rate_limit'),
16395        )

groupDeleteResponse returns information about a group that was deleted.

GroupDeleteResponse(meta=None, rate_limit=None)
16364    def __init__(
16365        self,
16366        meta=None,
16367        rate_limit=None,
16368    ):
16369        self.meta = meta if meta is not None else None
16370        '''
16371         Reserved for future use.
16372        '''
16373        self.rate_limit = rate_limit if rate_limit is not None else None
16374        '''
16375         Rate limit information.
16376        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16384    def to_dict(self):
16385        return {
16386            'meta': self.meta,
16387            'rate_limit': self.rate_limit,
16388        }
@classmethod
def from_dict(cls, d)
16390    @classmethod
16391    def from_dict(cls, d):
16392        return cls(
16393            meta=d.get('meta'),
16394            rate_limit=d.get('rate_limit'),
16395        )
class GroupFromRole:
16398class GroupFromRole:
16399    __slots__ = [
16400        'accounts',
16401        'approval_flows',
16402        'group',
16403        'rate_limit',
16404        'role',
16405    ]
16406
16407    def __init__(
16408        self,
16409        accounts=None,
16410        approval_flows=None,
16411        group=None,
16412        rate_limit=None,
16413        role=None,
16414    ):
16415        self.accounts = accounts if accounts is not None else []
16416        '''
16417         The migrated Accounts.
16418        '''
16419        self.approval_flows = approval_flows if approval_flows is not None else []
16420        '''
16421         The affected approval flows.
16422        '''
16423        self.group = group if group is not None else None
16424        '''
16425         The group created from the source role.
16426        '''
16427        self.rate_limit = rate_limit if rate_limit is not None else None
16428        '''
16429         Rate limit information.
16430        '''
16431        self.role = role if role is not None else None
16432        '''
16433         The source role.
16434        '''
16435
16436    def __repr__(self):
16437        return '<sdm.GroupFromRole ' + \
16438            'accounts: ' + repr(self.accounts) + ' ' +\
16439            'approval_flows: ' + repr(self.approval_flows) + ' ' +\
16440            'group: ' + repr(self.group) + ' ' +\
16441            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16442            'role: ' + repr(self.role) + ' ' +\
16443            '>'
16444
16445    def to_dict(self):
16446        return {
16447            'accounts': self.accounts,
16448            'approval_flows': self.approval_flows,
16449            'group': self.group,
16450            'rate_limit': self.rate_limit,
16451            'role': self.role,
16452        }
16453
16454    @classmethod
16455    def from_dict(cls, d):
16456        return cls(
16457            accounts=d.get('accounts'),
16458            approval_flows=d.get('approval_flows'),
16459            group=d.get('group'),
16460            rate_limit=d.get('rate_limit'),
16461            role=d.get('role'),
16462        )
GroupFromRole( accounts=None, approval_flows=None, group=None, rate_limit=None, role=None)
16407    def __init__(
16408        self,
16409        accounts=None,
16410        approval_flows=None,
16411        group=None,
16412        rate_limit=None,
16413        role=None,
16414    ):
16415        self.accounts = accounts if accounts is not None else []
16416        '''
16417         The migrated Accounts.
16418        '''
16419        self.approval_flows = approval_flows if approval_flows is not None else []
16420        '''
16421         The affected approval flows.
16422        '''
16423        self.group = group if group is not None else None
16424        '''
16425         The group created from the source role.
16426        '''
16427        self.rate_limit = rate_limit if rate_limit is not None else None
16428        '''
16429         Rate limit information.
16430        '''
16431        self.role = role if role is not None else None
16432        '''
16433         The source role.
16434        '''
accounts

The migrated Accounts.

approval_flows

The affected approval flows.

group

The group created from the source role.

rate_limit

Rate limit information.

role

The source role.

def to_dict(self)
16445    def to_dict(self):
16446        return {
16447            'accounts': self.accounts,
16448            'approval_flows': self.approval_flows,
16449            'group': self.group,
16450            'rate_limit': self.rate_limit,
16451            'role': self.role,
16452        }
@classmethod
def from_dict(cls, d)
16454    @classmethod
16455    def from_dict(cls, d):
16456        return cls(
16457            accounts=d.get('accounts'),
16458            approval_flows=d.get('approval_flows'),
16459            group=d.get('group'),
16460            rate_limit=d.get('rate_limit'),
16461            role=d.get('role'),
16462        )
class GroupGetRequest:
16465class GroupGetRequest:
16466    '''
16467         GroupGetRequest specifies which Group to retrieve.
16468    '''
16469    __slots__ = [
16470        'id',
16471    ]
16472
16473    def __init__(
16474        self,
16475        id=None,
16476    ):
16477        self.id = id if id is not None else ''
16478        '''
16479         The unique identifier of the Group to retrieve.
16480        '''
16481
16482    def __repr__(self):
16483        return '<sdm.GroupGetRequest ' + \
16484            'id: ' + repr(self.id) + ' ' +\
16485            '>'
16486
16487    def to_dict(self):
16488        return {
16489            'id': self.id,
16490        }
16491
16492    @classmethod
16493    def from_dict(cls, d):
16494        return cls(id=d.get('id'), )

GroupGetRequest specifies which Group to retrieve.

GroupGetRequest(id=None)
16473    def __init__(
16474        self,
16475        id=None,
16476    ):
16477        self.id = id if id is not None else ''
16478        '''
16479         The unique identifier of the Group to retrieve.
16480        '''
id

The unique identifier of the Group to retrieve.

def to_dict(self)
16487    def to_dict(self):
16488        return {
16489            'id': self.id,
16490        }
@classmethod
def from_dict(cls, d)
16492    @classmethod
16493    def from_dict(cls, d):
16494        return cls(id=d.get('id'), )
class GroupGetResponse:
16497class GroupGetResponse:
16498    '''
16499         GroupGetResponse returns a requested Group.
16500    '''
16501    __slots__ = [
16502        'group',
16503        'meta',
16504        'rate_limit',
16505    ]
16506
16507    def __init__(
16508        self,
16509        group=None,
16510        meta=None,
16511        rate_limit=None,
16512    ):
16513        self.group = group if group is not None else None
16514        '''
16515         The requested Group.
16516        '''
16517        self.meta = meta if meta is not None else None
16518        '''
16519         Reserved for future use.
16520        '''
16521        self.rate_limit = rate_limit if rate_limit is not None else None
16522        '''
16523         Rate limit information.
16524        '''
16525
16526    def __repr__(self):
16527        return '<sdm.GroupGetResponse ' + \
16528            'group: ' + repr(self.group) + ' ' +\
16529            'meta: ' + repr(self.meta) + ' ' +\
16530            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16531            '>'
16532
16533    def to_dict(self):
16534        return {
16535            'group': self.group,
16536            'meta': self.meta,
16537            'rate_limit': self.rate_limit,
16538        }
16539
16540    @classmethod
16541    def from_dict(cls, d):
16542        return cls(
16543            group=d.get('group'),
16544            meta=d.get('meta'),
16545            rate_limit=d.get('rate_limit'),
16546        )

GroupGetResponse returns a requested Group.

GroupGetResponse(group=None, meta=None, rate_limit=None)
16507    def __init__(
16508        self,
16509        group=None,
16510        meta=None,
16511        rate_limit=None,
16512    ):
16513        self.group = group if group is not None else None
16514        '''
16515         The requested Group.
16516        '''
16517        self.meta = meta if meta is not None else None
16518        '''
16519         Reserved for future use.
16520        '''
16521        self.rate_limit = rate_limit if rate_limit is not None else None
16522        '''
16523         Rate limit information.
16524        '''
group

The requested Group.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16533    def to_dict(self):
16534        return {
16535            'group': self.group,
16536            'meta': self.meta,
16537            'rate_limit': self.rate_limit,
16538        }
@classmethod
def from_dict(cls, d)
16540    @classmethod
16541    def from_dict(cls, d):
16542        return cls(
16543            group=d.get('group'),
16544            meta=d.get('meta'),
16545            rate_limit=d.get('rate_limit'),
16546        )
class GroupHistory:
16549class GroupHistory:
16550    '''
16551         GroupHistory records the state of a Group at a given point in time,
16552     where every change (create, update and delete) to a Group produces a
16553     GroupHistory record.
16554    '''
16555    __slots__ = [
16556        'activity_id',
16557        'deleted_at',
16558        'group',
16559        'timestamp',
16560    ]
16561
16562    def __init__(
16563        self,
16564        activity_id=None,
16565        deleted_at=None,
16566        group=None,
16567        timestamp=None,
16568    ):
16569        self.activity_id = activity_id if activity_id is not None else ''
16570        '''
16571         The unique identifier of the Activity that produced this change to the Group.
16572         May be empty for some system-initiated updates.
16573        '''
16574        self.deleted_at = deleted_at if deleted_at is not None else None
16575        '''
16576         If this Group was deleted, the time it was deleted.
16577        '''
16578        self.group = group if group is not None else None
16579        '''
16580         The complete Group state at this time.
16581        '''
16582        self.timestamp = timestamp if timestamp is not None else None
16583        '''
16584         The time at which the Group state was recorded.
16585        '''
16586
16587    def __repr__(self):
16588        return '<sdm.GroupHistory ' + \
16589            'activity_id: ' + repr(self.activity_id) + ' ' +\
16590            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16591            'group: ' + repr(self.group) + ' ' +\
16592            'timestamp: ' + repr(self.timestamp) + ' ' +\
16593            '>'
16594
16595    def to_dict(self):
16596        return {
16597            'activity_id': self.activity_id,
16598            'deleted_at': self.deleted_at,
16599            'group': self.group,
16600            'timestamp': self.timestamp,
16601        }
16602
16603    @classmethod
16604    def from_dict(cls, d):
16605        return cls(
16606            activity_id=d.get('activity_id'),
16607            deleted_at=d.get('deleted_at'),
16608            group=d.get('group'),
16609            timestamp=d.get('timestamp'),
16610        )

GroupHistory records the state of a Group at a given point in time, where every change (create, update and delete) to a Group produces a GroupHistory record.

GroupHistory(activity_id=None, deleted_at=None, group=None, timestamp=None)
16562    def __init__(
16563        self,
16564        activity_id=None,
16565        deleted_at=None,
16566        group=None,
16567        timestamp=None,
16568    ):
16569        self.activity_id = activity_id if activity_id is not None else ''
16570        '''
16571         The unique identifier of the Activity that produced this change to the Group.
16572         May be empty for some system-initiated updates.
16573        '''
16574        self.deleted_at = deleted_at if deleted_at is not None else None
16575        '''
16576         If this Group was deleted, the time it was deleted.
16577        '''
16578        self.group = group if group is not None else None
16579        '''
16580         The complete Group state at this time.
16581        '''
16582        self.timestamp = timestamp if timestamp is not None else None
16583        '''
16584         The time at which the Group state was recorded.
16585        '''
activity_id

The unique identifier of the Activity that produced this change to the Group. May be empty for some system-initiated updates.

deleted_at

If this Group was deleted, the time it was deleted.

group

The complete Group state at this time.

timestamp

The time at which the Group state was recorded.

def to_dict(self)
16595    def to_dict(self):
16596        return {
16597            'activity_id': self.activity_id,
16598            'deleted_at': self.deleted_at,
16599            'group': self.group,
16600            'timestamp': self.timestamp,
16601        }
@classmethod
def from_dict(cls, d)
16603    @classmethod
16604    def from_dict(cls, d):
16605        return cls(
16606            activity_id=d.get('activity_id'),
16607            deleted_at=d.get('deleted_at'),
16608            group=d.get('group'),
16609            timestamp=d.get('timestamp'),
16610        )
class GroupListRequest:
16613class GroupListRequest:
16614    '''
16615         groupListRequest specifies criteria for retrieving a list of groups.
16616    '''
16617    __slots__ = [
16618        'filter',
16619    ]
16620
16621    def __init__(
16622        self,
16623        filter=None,
16624    ):
16625        self.filter = filter if filter is not None else ''
16626        '''
16627         A human-readable filter query string.
16628        '''
16629
16630    def __repr__(self):
16631        return '<sdm.GroupListRequest ' + \
16632            'filter: ' + repr(self.filter) + ' ' +\
16633            '>'
16634
16635    def to_dict(self):
16636        return {
16637            'filter': self.filter,
16638        }
16639
16640    @classmethod
16641    def from_dict(cls, d):
16642        return cls(filter=d.get('filter'), )

groupListRequest specifies criteria for retrieving a list of groups.

GroupListRequest(filter=None)
16621    def __init__(
16622        self,
16623        filter=None,
16624    ):
16625        self.filter = filter if filter is not None else ''
16626        '''
16627         A human-readable filter query string.
16628        '''
filter

A human-readable filter query string.

def to_dict(self)
16635    def to_dict(self):
16636        return {
16637            'filter': self.filter,
16638        }
@classmethod
def from_dict(cls, d)
16640    @classmethod
16641    def from_dict(cls, d):
16642        return cls(filter=d.get('filter'), )
class GroupListResponse:
16645class GroupListResponse:
16646    '''
16647         groupListResponse returns a list of groups that meet the criteria of a
16648     groupListRequest.
16649    '''
16650    __slots__ = [
16651        'rate_limit',
16652    ]
16653
16654    def __init__(
16655        self,
16656        rate_limit=None,
16657    ):
16658        self.rate_limit = rate_limit if rate_limit is not None else None
16659        '''
16660         Rate limit information.
16661        '''
16662
16663    def __repr__(self):
16664        return '<sdm.GroupListResponse ' + \
16665            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16666            '>'
16667
16668    def to_dict(self):
16669        return {
16670            'rate_limit': self.rate_limit,
16671        }
16672
16673    @classmethod
16674    def from_dict(cls, d):
16675        return cls(rate_limit=d.get('rate_limit'), )

groupListResponse returns a list of groups that meet the criteria of a groupListRequest.

GroupListResponse(rate_limit=None)
16654    def __init__(
16655        self,
16656        rate_limit=None,
16657    ):
16658        self.rate_limit = rate_limit if rate_limit is not None else None
16659        '''
16660         Rate limit information.
16661        '''
rate_limit

Rate limit information.

def to_dict(self)
16668    def to_dict(self):
16669        return {
16670            'rate_limit': self.rate_limit,
16671        }
@classmethod
def from_dict(cls, d)
16673    @classmethod
16674    def from_dict(cls, d):
16675        return cls(rate_limit=d.get('rate_limit'), )
class GroupRole:
16678class GroupRole:
16679    '''
16680         A GroupRole assigns a Group to a Role.
16681    '''
16682    __slots__ = [
16683        'group_id',
16684        'id',
16685        'role_id',
16686    ]
16687
16688    def __init__(
16689        self,
16690        group_id=None,
16691        id=None,
16692        role_id=None,
16693    ):
16694        self.group_id = group_id if group_id is not None else ''
16695        '''
16696         The assigned Group ID.
16697        '''
16698        self.id = id if id is not None else ''
16699        '''
16700         Unique identifier of the GroupRole.
16701        '''
16702        self.role_id = role_id if role_id is not None else ''
16703        '''
16704         The assigned Role ID.
16705        '''
16706
16707    def __repr__(self):
16708        return '<sdm.GroupRole ' + \
16709            'group_id: ' + repr(self.group_id) + ' ' +\
16710            'id: ' + repr(self.id) + ' ' +\
16711            'role_id: ' + repr(self.role_id) + ' ' +\
16712            '>'
16713
16714    def to_dict(self):
16715        return {
16716            'group_id': self.group_id,
16717            'id': self.id,
16718            'role_id': self.role_id,
16719        }
16720
16721    @classmethod
16722    def from_dict(cls, d):
16723        return cls(
16724            group_id=d.get('group_id'),
16725            id=d.get('id'),
16726            role_id=d.get('role_id'),
16727        )

A GroupRole assigns a Group to a Role.

GroupRole(group_id=None, id=None, role_id=None)
16688    def __init__(
16689        self,
16690        group_id=None,
16691        id=None,
16692        role_id=None,
16693    ):
16694        self.group_id = group_id if group_id is not None else ''
16695        '''
16696         The assigned Group ID.
16697        '''
16698        self.id = id if id is not None else ''
16699        '''
16700         Unique identifier of the GroupRole.
16701        '''
16702        self.role_id = role_id if role_id is not None else ''
16703        '''
16704         The assigned Role ID.
16705        '''
group_id

The assigned Group ID.

id

Unique identifier of the GroupRole.

role_id

The assigned Role ID.

def to_dict(self)
16714    def to_dict(self):
16715        return {
16716            'group_id': self.group_id,
16717            'id': self.id,
16718            'role_id': self.role_id,
16719        }
@classmethod
def from_dict(cls, d)
16721    @classmethod
16722    def from_dict(cls, d):
16723        return cls(
16724            group_id=d.get('group_id'),
16725            id=d.get('id'),
16726            role_id=d.get('role_id'),
16727        )
class GroupRoleCreateRequest:
16730class GroupRoleCreateRequest:
16731    '''
16732         GroupRoleCreateRequest specifies a group role to create.
16733    '''
16734    __slots__ = [
16735        'group_role',
16736    ]
16737
16738    def __init__(
16739        self,
16740        group_role=None,
16741    ):
16742        self.group_role = group_role if group_role is not None else None
16743        '''
16744         Parameters to define the new GroupRole.
16745        '''
16746
16747    def __repr__(self):
16748        return '<sdm.GroupRoleCreateRequest ' + \
16749            'group_role: ' + repr(self.group_role) + ' ' +\
16750            '>'
16751
16752    def to_dict(self):
16753        return {
16754            'group_role': self.group_role,
16755        }
16756
16757    @classmethod
16758    def from_dict(cls, d):
16759        return cls(group_role=d.get('group_role'), )

GroupRoleCreateRequest specifies a group role to create.

GroupRoleCreateRequest(group_role=None)
16738    def __init__(
16739        self,
16740        group_role=None,
16741    ):
16742        self.group_role = group_role if group_role is not None else None
16743        '''
16744         Parameters to define the new GroupRole.
16745        '''
group_role

Parameters to define the new GroupRole.

def to_dict(self)
16752    def to_dict(self):
16753        return {
16754            'group_role': self.group_role,
16755        }
@classmethod
def from_dict(cls, d)
16757    @classmethod
16758    def from_dict(cls, d):
16759        return cls(group_role=d.get('group_role'), )
class GroupRoleCreateResponse:
16762class GroupRoleCreateResponse:
16763    '''
16764         GroupRoleCreateResponse reports the result of a create.
16765    '''
16766    __slots__ = [
16767        'group_role',
16768        'rate_limit',
16769    ]
16770
16771    def __init__(
16772        self,
16773        group_role=None,
16774        rate_limit=None,
16775    ):
16776        self.group_role = group_role if group_role is not None else None
16777        '''
16778         The created GroupRole.
16779        '''
16780        self.rate_limit = rate_limit if rate_limit is not None else None
16781        '''
16782         Rate limit information.
16783        '''
16784
16785    def __repr__(self):
16786        return '<sdm.GroupRoleCreateResponse ' + \
16787            'group_role: ' + repr(self.group_role) + ' ' +\
16788            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16789            '>'
16790
16791    def to_dict(self):
16792        return {
16793            'group_role': self.group_role,
16794            'rate_limit': self.rate_limit,
16795        }
16796
16797    @classmethod
16798    def from_dict(cls, d):
16799        return cls(
16800            group_role=d.get('group_role'),
16801            rate_limit=d.get('rate_limit'),
16802        )

GroupRoleCreateResponse reports the result of a create.

GroupRoleCreateResponse(group_role=None, rate_limit=None)
16771    def __init__(
16772        self,
16773        group_role=None,
16774        rate_limit=None,
16775    ):
16776        self.group_role = group_role if group_role is not None else None
16777        '''
16778         The created GroupRole.
16779        '''
16780        self.rate_limit = rate_limit if rate_limit is not None else None
16781        '''
16782         Rate limit information.
16783        '''
group_role

The created GroupRole.

rate_limit

Rate limit information.

def to_dict(self)
16791    def to_dict(self):
16792        return {
16793            'group_role': self.group_role,
16794            'rate_limit': self.rate_limit,
16795        }
@classmethod
def from_dict(cls, d)
16797    @classmethod
16798    def from_dict(cls, d):
16799        return cls(
16800            group_role=d.get('group_role'),
16801            rate_limit=d.get('rate_limit'),
16802        )
class GroupRoleDeleteRequest:
16805class GroupRoleDeleteRequest:
16806    '''
16807         GroupRoleDeleteRequest identifies a group role by ID to delete.
16808    '''
16809    __slots__ = [
16810        'id',
16811    ]
16812
16813    def __init__(
16814        self,
16815        id=None,
16816    ):
16817        self.id = id if id is not None else ''
16818        '''
16819         The unique identifier of the group to delete.
16820        '''
16821
16822    def __repr__(self):
16823        return '<sdm.GroupRoleDeleteRequest ' + \
16824            'id: ' + repr(self.id) + ' ' +\
16825            '>'
16826
16827    def to_dict(self):
16828        return {
16829            'id': self.id,
16830        }
16831
16832    @classmethod
16833    def from_dict(cls, d):
16834        return cls(id=d.get('id'), )

GroupRoleDeleteRequest identifies a group role by ID to delete.

GroupRoleDeleteRequest(id=None)
16813    def __init__(
16814        self,
16815        id=None,
16816    ):
16817        self.id = id if id is not None else ''
16818        '''
16819         The unique identifier of the group to delete.
16820        '''
id

The unique identifier of the group to delete.

def to_dict(self)
16827    def to_dict(self):
16828        return {
16829            'id': self.id,
16830        }
@classmethod
def from_dict(cls, d)
16832    @classmethod
16833    def from_dict(cls, d):
16834        return cls(id=d.get('id'), )
class GroupRoleDeleteResponse:
16837class GroupRoleDeleteResponse:
16838    '''
16839         GroupRoleDeleteResponse returns information about a group that was deleted.
16840    '''
16841    __slots__ = [
16842        'group_role',
16843        'meta',
16844        'rate_limit',
16845    ]
16846
16847    def __init__(
16848        self,
16849        group_role=None,
16850        meta=None,
16851        rate_limit=None,
16852    ):
16853        self.group_role = group_role if group_role is not None else None
16854        '''
16855         The deleted GroupRole.
16856        '''
16857        self.meta = meta if meta is not None else None
16858        '''
16859         Reserved for future use.
16860        '''
16861        self.rate_limit = rate_limit if rate_limit is not None else None
16862        '''
16863         Rate limit information.
16864        '''
16865
16866    def __repr__(self):
16867        return '<sdm.GroupRoleDeleteResponse ' + \
16868            'group_role: ' + repr(self.group_role) + ' ' +\
16869            'meta: ' + repr(self.meta) + ' ' +\
16870            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16871            '>'
16872
16873    def to_dict(self):
16874        return {
16875            'group_role': self.group_role,
16876            'meta': self.meta,
16877            'rate_limit': self.rate_limit,
16878        }
16879
16880    @classmethod
16881    def from_dict(cls, d):
16882        return cls(
16883            group_role=d.get('group_role'),
16884            meta=d.get('meta'),
16885            rate_limit=d.get('rate_limit'),
16886        )

GroupRoleDeleteResponse returns information about a group that was deleted.

GroupRoleDeleteResponse(group_role=None, meta=None, rate_limit=None)
16847    def __init__(
16848        self,
16849        group_role=None,
16850        meta=None,
16851        rate_limit=None,
16852    ):
16853        self.group_role = group_role if group_role is not None else None
16854        '''
16855         The deleted GroupRole.
16856        '''
16857        self.meta = meta if meta is not None else None
16858        '''
16859         Reserved for future use.
16860        '''
16861        self.rate_limit = rate_limit if rate_limit is not None else None
16862        '''
16863         Rate limit information.
16864        '''
group_role

The deleted GroupRole.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16873    def to_dict(self):
16874        return {
16875            'group_role': self.group_role,
16876            'meta': self.meta,
16877            'rate_limit': self.rate_limit,
16878        }
@classmethod
def from_dict(cls, d)
16880    @classmethod
16881    def from_dict(cls, d):
16882        return cls(
16883            group_role=d.get('group_role'),
16884            meta=d.get('meta'),
16885            rate_limit=d.get('rate_limit'),
16886        )
class GroupRoleGetRequest:
16889class GroupRoleGetRequest:
16890    '''
16891         GroupRoleGetRequest specifies which GroupRole to retrieve.
16892    '''
16893    __slots__ = [
16894        'id',
16895    ]
16896
16897    def __init__(
16898        self,
16899        id=None,
16900    ):
16901        self.id = id if id is not None else ''
16902        '''
16903         The unique identifier of the GroupRole to retrieve.
16904        '''
16905
16906    def __repr__(self):
16907        return '<sdm.GroupRoleGetRequest ' + \
16908            'id: ' + repr(self.id) + ' ' +\
16909            '>'
16910
16911    def to_dict(self):
16912        return {
16913            'id': self.id,
16914        }
16915
16916    @classmethod
16917    def from_dict(cls, d):
16918        return cls(id=d.get('id'), )

GroupRoleGetRequest specifies which GroupRole to retrieve.

GroupRoleGetRequest(id=None)
16897    def __init__(
16898        self,
16899        id=None,
16900    ):
16901        self.id = id if id is not None else ''
16902        '''
16903         The unique identifier of the GroupRole to retrieve.
16904        '''
id

The unique identifier of the GroupRole to retrieve.

def to_dict(self)
16911    def to_dict(self):
16912        return {
16913            'id': self.id,
16914        }
@classmethod
def from_dict(cls, d)
16916    @classmethod
16917    def from_dict(cls, d):
16918        return cls(id=d.get('id'), )
class GroupRoleGetResponse:
16921class GroupRoleGetResponse:
16922    '''
16923         GroupRoleGetResponse returns a requested GroupRole.
16924    '''
16925    __slots__ = [
16926        'group_role',
16927        'meta',
16928        'rate_limit',
16929    ]
16930
16931    def __init__(
16932        self,
16933        group_role=None,
16934        meta=None,
16935        rate_limit=None,
16936    ):
16937        self.group_role = group_role if group_role is not None else None
16938        '''
16939         The requested GroupRole.
16940        '''
16941        self.meta = meta if meta is not None else None
16942        '''
16943         Reserved for future use.
16944        '''
16945        self.rate_limit = rate_limit if rate_limit is not None else None
16946        '''
16947         Rate limit information.
16948        '''
16949
16950    def __repr__(self):
16951        return '<sdm.GroupRoleGetResponse ' + \
16952            'group_role: ' + repr(self.group_role) + ' ' +\
16953            'meta: ' + repr(self.meta) + ' ' +\
16954            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16955            '>'
16956
16957    def to_dict(self):
16958        return {
16959            'group_role': self.group_role,
16960            'meta': self.meta,
16961            'rate_limit': self.rate_limit,
16962        }
16963
16964    @classmethod
16965    def from_dict(cls, d):
16966        return cls(
16967            group_role=d.get('group_role'),
16968            meta=d.get('meta'),
16969            rate_limit=d.get('rate_limit'),
16970        )

GroupRoleGetResponse returns a requested GroupRole.

GroupRoleGetResponse(group_role=None, meta=None, rate_limit=None)
16931    def __init__(
16932        self,
16933        group_role=None,
16934        meta=None,
16935        rate_limit=None,
16936    ):
16937        self.group_role = group_role if group_role is not None else None
16938        '''
16939         The requested GroupRole.
16940        '''
16941        self.meta = meta if meta is not None else None
16942        '''
16943         Reserved for future use.
16944        '''
16945        self.rate_limit = rate_limit if rate_limit is not None else None
16946        '''
16947         Rate limit information.
16948        '''
group_role

The requested GroupRole.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16957    def to_dict(self):
16958        return {
16959            'group_role': self.group_role,
16960            'meta': self.meta,
16961            'rate_limit': self.rate_limit,
16962        }
@classmethod
def from_dict(cls, d)
16964    @classmethod
16965    def from_dict(cls, d):
16966        return cls(
16967            group_role=d.get('group_role'),
16968            meta=d.get('meta'),
16969            rate_limit=d.get('rate_limit'),
16970        )
class GroupRoleHistory:
16973class GroupRoleHistory:
16974    '''
16975         GroupRoleHistory records the state of a GroupRole at a given point in time,
16976     where every change (create, update and delete) to a GroupRole produces a
16977     GroupRoleHistory record.
16978    '''
16979    __slots__ = [
16980        'activity_id',
16981        'deleted_at',
16982        'group_role',
16983        'timestamp',
16984    ]
16985
16986    def __init__(
16987        self,
16988        activity_id=None,
16989        deleted_at=None,
16990        group_role=None,
16991        timestamp=None,
16992    ):
16993        self.activity_id = activity_id if activity_id is not None else ''
16994        '''
16995         The unique identifier of the Activity that produced this change to the GroupRole.
16996         May be empty for some system-initiated updates.
16997        '''
16998        self.deleted_at = deleted_at if deleted_at is not None else None
16999        '''
17000         If this GroupRole was deleted, the time it was deleted.
17001        '''
17002        self.group_role = group_role if group_role is not None else None
17003        '''
17004         The complete GroupRole state at this time.
17005        '''
17006        self.timestamp = timestamp if timestamp is not None else None
17007        '''
17008         The time at which the GroupRole state was recorded.
17009        '''
17010
17011    def __repr__(self):
17012        return '<sdm.GroupRoleHistory ' + \
17013            'activity_id: ' + repr(self.activity_id) + ' ' +\
17014            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
17015            'group_role: ' + repr(self.group_role) + ' ' +\
17016            'timestamp: ' + repr(self.timestamp) + ' ' +\
17017            '>'
17018
17019    def to_dict(self):
17020        return {
17021            'activity_id': self.activity_id,
17022            'deleted_at': self.deleted_at,
17023            'group_role': self.group_role,
17024            'timestamp': self.timestamp,
17025        }
17026
17027    @classmethod
17028    def from_dict(cls, d):
17029        return cls(
17030            activity_id=d.get('activity_id'),
17031            deleted_at=d.get('deleted_at'),
17032            group_role=d.get('group_role'),
17033            timestamp=d.get('timestamp'),
17034        )

GroupRoleHistory records the state of a GroupRole at a given point in time, where every change (create, update and delete) to a GroupRole produces a GroupRoleHistory record.

GroupRoleHistory(activity_id=None, deleted_at=None, group_role=None, timestamp=None)
16986    def __init__(
16987        self,
16988        activity_id=None,
16989        deleted_at=None,
16990        group_role=None,
16991        timestamp=None,
16992    ):
16993        self.activity_id = activity_id if activity_id is not None else ''
16994        '''
16995         The unique identifier of the Activity that produced this change to the GroupRole.
16996         May be empty for some system-initiated updates.
16997        '''
16998        self.deleted_at = deleted_at if deleted_at is not None else None
16999        '''
17000         If this GroupRole was deleted, the time it was deleted.
17001        '''
17002        self.group_role = group_role if group_role is not None else None
17003        '''
17004         The complete GroupRole state at this time.
17005        '''
17006        self.timestamp = timestamp if timestamp is not None else None
17007        '''
17008         The time at which the GroupRole state was recorded.
17009        '''
activity_id

The unique identifier of the Activity that produced this change to the GroupRole. May be empty for some system-initiated updates.

deleted_at

If this GroupRole was deleted, the time it was deleted.

group_role

The complete GroupRole state at this time.

timestamp

The time at which the GroupRole state was recorded.

def to_dict(self)
17019    def to_dict(self):
17020        return {
17021            'activity_id': self.activity_id,
17022            'deleted_at': self.deleted_at,
17023            'group_role': self.group_role,
17024            'timestamp': self.timestamp,
17025        }
@classmethod
def from_dict(cls, d)
17027    @classmethod
17028    def from_dict(cls, d):
17029        return cls(
17030            activity_id=d.get('activity_id'),
17031            deleted_at=d.get('deleted_at'),
17032            group_role=d.get('group_role'),
17033            timestamp=d.get('timestamp'),
17034        )
class GroupRoleListRequest:
17037class GroupRoleListRequest:
17038    '''
17039         GroupRoleListRequest specifies criteria for retrieving a list of groups.
17040    '''
17041    __slots__ = [
17042        'filter',
17043    ]
17044
17045    def __init__(
17046        self,
17047        filter=None,
17048    ):
17049        self.filter = filter if filter is not None else ''
17050        '''
17051         A human-readable filter query string.
17052        '''
17053
17054    def __repr__(self):
17055        return '<sdm.GroupRoleListRequest ' + \
17056            'filter: ' + repr(self.filter) + ' ' +\
17057            '>'
17058
17059    def to_dict(self):
17060        return {
17061            'filter': self.filter,
17062        }
17063
17064    @classmethod
17065    def from_dict(cls, d):
17066        return cls(filter=d.get('filter'), )

GroupRoleListRequest specifies criteria for retrieving a list of groups.

GroupRoleListRequest(filter=None)
17045    def __init__(
17046        self,
17047        filter=None,
17048    ):
17049        self.filter = filter if filter is not None else ''
17050        '''
17051         A human-readable filter query string.
17052        '''
filter

A human-readable filter query string.

def to_dict(self)
17059    def to_dict(self):
17060        return {
17061            'filter': self.filter,
17062        }
@classmethod
def from_dict(cls, d)
17064    @classmethod
17065    def from_dict(cls, d):
17066        return cls(filter=d.get('filter'), )
class GroupRoleListResponse:
17069class GroupRoleListResponse:
17070    '''
17071         GroupRoleListResponse returns a list of group roles that meet the criteria of a
17072     GroupRoleListRequest.
17073    '''
17074    __slots__ = [
17075        'rate_limit',
17076    ]
17077
17078    def __init__(
17079        self,
17080        rate_limit=None,
17081    ):
17082        self.rate_limit = rate_limit if rate_limit is not None else None
17083        '''
17084         Rate limit information.
17085        '''
17086
17087    def __repr__(self):
17088        return '<sdm.GroupRoleListResponse ' + \
17089            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17090            '>'
17091
17092    def to_dict(self):
17093        return {
17094            'rate_limit': self.rate_limit,
17095        }
17096
17097    @classmethod
17098    def from_dict(cls, d):
17099        return cls(rate_limit=d.get('rate_limit'), )

GroupRoleListResponse returns a list of group roles that meet the criteria of a GroupRoleListRequest.

GroupRoleListResponse(rate_limit=None)
17078    def __init__(
17079        self,
17080        rate_limit=None,
17081    ):
17082        self.rate_limit = rate_limit if rate_limit is not None else None
17083        '''
17084         Rate limit information.
17085        '''
rate_limit

Rate limit information.

def to_dict(self)
17092    def to_dict(self):
17093        return {
17094            'rate_limit': self.rate_limit,
17095        }
@classmethod
def from_dict(cls, d)
17097    @classmethod
17098    def from_dict(cls, d):
17099        return cls(rate_limit=d.get('rate_limit'), )
class GroupUpdateRequest:
17102class GroupUpdateRequest:
17103    '''
17104         GroupUpdateRequest updates a group.
17105    '''
17106    __slots__ = [
17107        'group',
17108    ]
17109
17110    def __init__(
17111        self,
17112        group=None,
17113    ):
17114        self.group = group if group is not None else None
17115        '''
17116         Parameters to overwrite the specified group.
17117        '''
17118
17119    def __repr__(self):
17120        return '<sdm.GroupUpdateRequest ' + \
17121            'group: ' + repr(self.group) + ' ' +\
17122            '>'
17123
17124    def to_dict(self):
17125        return {
17126            'group': self.group,
17127        }
17128
17129    @classmethod
17130    def from_dict(cls, d):
17131        return cls(group=d.get('group'), )

GroupUpdateRequest updates a group.

GroupUpdateRequest(group=None)
17110    def __init__(
17111        self,
17112        group=None,
17113    ):
17114        self.group = group if group is not None else None
17115        '''
17116         Parameters to overwrite the specified group.
17117        '''
group

Parameters to overwrite the specified group.

def to_dict(self)
17124    def to_dict(self):
17125        return {
17126            'group': self.group,
17127        }
@classmethod
def from_dict(cls, d)
17129    @classmethod
17130    def from_dict(cls, d):
17131        return cls(group=d.get('group'), )
class GroupUpdateResponse:
17134class GroupUpdateResponse:
17135    '''
17136         groupUpdateResponse returns the fields of a group after it has been updated by
17137     a groupUpdateRequest.
17138    '''
17139    __slots__ = [
17140        'group',
17141        'rate_limit',
17142    ]
17143
17144    def __init__(
17145        self,
17146        group=None,
17147        rate_limit=None,
17148    ):
17149        self.group = group if group is not None else None
17150        '''
17151         The updated group.
17152        '''
17153        self.rate_limit = rate_limit if rate_limit is not None else None
17154        '''
17155         Rate limit information.
17156        '''
17157
17158    def __repr__(self):
17159        return '<sdm.GroupUpdateResponse ' + \
17160            'group: ' + repr(self.group) + ' ' +\
17161            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17162            '>'
17163
17164    def to_dict(self):
17165        return {
17166            'group': self.group,
17167            'rate_limit': self.rate_limit,
17168        }
17169
17170    @classmethod
17171    def from_dict(cls, d):
17172        return cls(
17173            group=d.get('group'),
17174            rate_limit=d.get('rate_limit'),
17175        )

groupUpdateResponse returns the fields of a group after it has been updated by a groupUpdateRequest.

GroupUpdateResponse(group=None, rate_limit=None)
17144    def __init__(
17145        self,
17146        group=None,
17147        rate_limit=None,
17148    ):
17149        self.group = group if group is not None else None
17150        '''
17151         The updated group.
17152        '''
17153        self.rate_limit = rate_limit if rate_limit is not None else None
17154        '''
17155         Rate limit information.
17156        '''
group

The updated group.

rate_limit

Rate limit information.

def to_dict(self)
17164    def to_dict(self):
17165        return {
17166            'group': self.group,
17167            'rate_limit': self.rate_limit,
17168        }
@classmethod
def from_dict(cls, d)
17170    @classmethod
17171    def from_dict(cls, d):
17172        return cls(
17173            group=d.get('group'),
17174            rate_limit=d.get('rate_limit'),
17175        )
class HTTPAuth:
17178class HTTPAuth:
17179    __slots__ = [
17180        'auth_header',
17181        'bind_interface',
17182        'custom_headers',
17183        'default_path',
17184        'egress_filter',
17185        'headers_blacklist',
17186        'healthcheck_path',
17187        'healthy',
17188        'host_override',
17189        'id',
17190        'name',
17191        'port_override',
17192        'proxy_cluster_id',
17193        'secret_store_id',
17194        'subdomain',
17195        'tags',
17196        'tls_required',
17197        'url',
17198    ]
17199
17200    def __init__(
17201        self,
17202        auth_header=None,
17203        bind_interface=None,
17204        custom_headers=None,
17205        default_path=None,
17206        egress_filter=None,
17207        headers_blacklist=None,
17208        healthcheck_path=None,
17209        healthy=None,
17210        host_override=None,
17211        id=None,
17212        name=None,
17213        port_override=None,
17214        proxy_cluster_id=None,
17215        secret_store_id=None,
17216        subdomain=None,
17217        tags=None,
17218        tls_required=None,
17219        url=None,
17220    ):
17221        self.auth_header = auth_header if auth_header is not None else ''
17222        '''
17223         The content to set as the authorization header.
17224        '''
17225        self.bind_interface = bind_interface if bind_interface is not None else ''
17226        '''
17227         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17228        '''
17229        self.custom_headers = custom_headers if custom_headers is not None else None
17230        '''
17231         Additional HTTP headers to include in requests.
17232        '''
17233        self.default_path = default_path if default_path is not None else ''
17234        '''
17235         Automatically redirect to this path upon connecting.
17236        '''
17237        self.egress_filter = egress_filter if egress_filter is not None else ''
17238        '''
17239         A filter applied to the routing logic to pin datasource to nodes.
17240        '''
17241        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17242        '''
17243         Header names (e.g. Authorization), to omit from logs.
17244        '''
17245        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17246        '''
17247         This path will be used to check the health of your site.
17248        '''
17249        self.healthy = healthy if healthy is not None else False
17250        '''
17251         True if the datasource is reachable and the credentials are valid.
17252        '''
17253        self.host_override = host_override if host_override is not None else ''
17254        '''
17255         The host header will be overwritten with this field if provided.
17256        '''
17257        self.id = id if id is not None else ''
17258        '''
17259         Unique identifier of the Resource.
17260        '''
17261        self.name = name if name is not None else ''
17262        '''
17263         Unique human-readable name of the Resource.
17264        '''
17265        self.port_override = port_override if port_override is not None else 0
17266        '''
17267         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17268        '''
17269        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17270        '''
17271         ID of the proxy cluster for this resource, if any.
17272        '''
17273        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17274        '''
17275         ID of the secret store containing credentials for this resource, if any.
17276        '''
17277        self.subdomain = subdomain if subdomain is not None else ''
17278        '''
17279         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17280        '''
17281        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17282        '''
17283         Tags is a map of key, value pairs.
17284        '''
17285        self.tls_required = tls_required if tls_required is not None else False
17286        '''
17287         This option enforces HTTPS on the client, not resource connection.
17288        '''
17289        self.url = url if url is not None else ''
17290        '''
17291         The base address of your website without the path.
17292        '''
17293
17294    def __repr__(self):
17295        return '<sdm.HTTPAuth ' + \
17296            'auth_header: ' + repr(self.auth_header) + ' ' +\
17297            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17298            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
17299            'default_path: ' + repr(self.default_path) + ' ' +\
17300            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17301            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
17302            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
17303            'healthy: ' + repr(self.healthy) + ' ' +\
17304            'host_override: ' + repr(self.host_override) + ' ' +\
17305            'id: ' + repr(self.id) + ' ' +\
17306            'name: ' + repr(self.name) + ' ' +\
17307            'port_override: ' + repr(self.port_override) + ' ' +\
17308            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17309            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17310            'subdomain: ' + repr(self.subdomain) + ' ' +\
17311            'tags: ' + repr(self.tags) + ' ' +\
17312            'tls_required: ' + repr(self.tls_required) + ' ' +\
17313            'url: ' + repr(self.url) + ' ' +\
17314            '>'
17315
17316    def to_dict(self):
17317        return {
17318            'auth_header': self.auth_header,
17319            'bind_interface': self.bind_interface,
17320            'custom_headers': self.custom_headers,
17321            'default_path': self.default_path,
17322            'egress_filter': self.egress_filter,
17323            'headers_blacklist': self.headers_blacklist,
17324            'healthcheck_path': self.healthcheck_path,
17325            'healthy': self.healthy,
17326            'host_override': self.host_override,
17327            'id': self.id,
17328            'name': self.name,
17329            'port_override': self.port_override,
17330            'proxy_cluster_id': self.proxy_cluster_id,
17331            'secret_store_id': self.secret_store_id,
17332            'subdomain': self.subdomain,
17333            'tags': self.tags,
17334            'tls_required': self.tls_required,
17335            'url': self.url,
17336        }
17337
17338    @classmethod
17339    def from_dict(cls, d):
17340        return cls(
17341            auth_header=d.get('auth_header'),
17342            bind_interface=d.get('bind_interface'),
17343            custom_headers=d.get('custom_headers'),
17344            default_path=d.get('default_path'),
17345            egress_filter=d.get('egress_filter'),
17346            headers_blacklist=d.get('headers_blacklist'),
17347            healthcheck_path=d.get('healthcheck_path'),
17348            healthy=d.get('healthy'),
17349            host_override=d.get('host_override'),
17350            id=d.get('id'),
17351            name=d.get('name'),
17352            port_override=d.get('port_override'),
17353            proxy_cluster_id=d.get('proxy_cluster_id'),
17354            secret_store_id=d.get('secret_store_id'),
17355            subdomain=d.get('subdomain'),
17356            tags=d.get('tags'),
17357            tls_required=d.get('tls_required'),
17358            url=d.get('url'),
17359        )
HTTPAuth( auth_header=None, bind_interface=None, custom_headers=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, url=None)
17200    def __init__(
17201        self,
17202        auth_header=None,
17203        bind_interface=None,
17204        custom_headers=None,
17205        default_path=None,
17206        egress_filter=None,
17207        headers_blacklist=None,
17208        healthcheck_path=None,
17209        healthy=None,
17210        host_override=None,
17211        id=None,
17212        name=None,
17213        port_override=None,
17214        proxy_cluster_id=None,
17215        secret_store_id=None,
17216        subdomain=None,
17217        tags=None,
17218        tls_required=None,
17219        url=None,
17220    ):
17221        self.auth_header = auth_header if auth_header is not None else ''
17222        '''
17223         The content to set as the authorization header.
17224        '''
17225        self.bind_interface = bind_interface if bind_interface is not None else ''
17226        '''
17227         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17228        '''
17229        self.custom_headers = custom_headers if custom_headers is not None else None
17230        '''
17231         Additional HTTP headers to include in requests.
17232        '''
17233        self.default_path = default_path if default_path is not None else ''
17234        '''
17235         Automatically redirect to this path upon connecting.
17236        '''
17237        self.egress_filter = egress_filter if egress_filter is not None else ''
17238        '''
17239         A filter applied to the routing logic to pin datasource to nodes.
17240        '''
17241        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17242        '''
17243         Header names (e.g. Authorization), to omit from logs.
17244        '''
17245        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17246        '''
17247         This path will be used to check the health of your site.
17248        '''
17249        self.healthy = healthy if healthy is not None else False
17250        '''
17251         True if the datasource is reachable and the credentials are valid.
17252        '''
17253        self.host_override = host_override if host_override is not None else ''
17254        '''
17255         The host header will be overwritten with this field if provided.
17256        '''
17257        self.id = id if id is not None else ''
17258        '''
17259         Unique identifier of the Resource.
17260        '''
17261        self.name = name if name is not None else ''
17262        '''
17263         Unique human-readable name of the Resource.
17264        '''
17265        self.port_override = port_override if port_override is not None else 0
17266        '''
17267         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17268        '''
17269        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17270        '''
17271         ID of the proxy cluster for this resource, if any.
17272        '''
17273        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17274        '''
17275         ID of the secret store containing credentials for this resource, if any.
17276        '''
17277        self.subdomain = subdomain if subdomain is not None else ''
17278        '''
17279         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17280        '''
17281        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17282        '''
17283         Tags is a map of key, value pairs.
17284        '''
17285        self.tls_required = tls_required if tls_required is not None else False
17286        '''
17287         This option enforces HTTPS on the client, not resource connection.
17288        '''
17289        self.url = url if url is not None else ''
17290        '''
17291         The base address of your website without the path.
17292        '''
auth_header

The content to set as the authorization header.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

custom_headers

Additional HTTP headers to include in requests.

default_path

Automatically redirect to this path upon connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

True if the datasource is reachable and the credentials are valid.

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

tls_required

This option enforces HTTPS on the client, not resource connection.

url

The base address of your website without the path.

def to_dict(self)
17316    def to_dict(self):
17317        return {
17318            'auth_header': self.auth_header,
17319            'bind_interface': self.bind_interface,
17320            'custom_headers': self.custom_headers,
17321            'default_path': self.default_path,
17322            'egress_filter': self.egress_filter,
17323            'headers_blacklist': self.headers_blacklist,
17324            'healthcheck_path': self.healthcheck_path,
17325            'healthy': self.healthy,
17326            'host_override': self.host_override,
17327            'id': self.id,
17328            'name': self.name,
17329            'port_override': self.port_override,
17330            'proxy_cluster_id': self.proxy_cluster_id,
17331            'secret_store_id': self.secret_store_id,
17332            'subdomain': self.subdomain,
17333            'tags': self.tags,
17334            'tls_required': self.tls_required,
17335            'url': self.url,
17336        }
@classmethod
def from_dict(cls, d)
17338    @classmethod
17339    def from_dict(cls, d):
17340        return cls(
17341            auth_header=d.get('auth_header'),
17342            bind_interface=d.get('bind_interface'),
17343            custom_headers=d.get('custom_headers'),
17344            default_path=d.get('default_path'),
17345            egress_filter=d.get('egress_filter'),
17346            headers_blacklist=d.get('headers_blacklist'),
17347            healthcheck_path=d.get('healthcheck_path'),
17348            healthy=d.get('healthy'),
17349            host_override=d.get('host_override'),
17350            id=d.get('id'),
17351            name=d.get('name'),
17352            port_override=d.get('port_override'),
17353            proxy_cluster_id=d.get('proxy_cluster_id'),
17354            secret_store_id=d.get('secret_store_id'),
17355            subdomain=d.get('subdomain'),
17356            tags=d.get('tags'),
17357            tls_required=d.get('tls_required'),
17358            url=d.get('url'),
17359        )
class HTTPBasicAuth:
17362class HTTPBasicAuth:
17363    __slots__ = [
17364        'bind_interface',
17365        'custom_headers',
17366        'default_path',
17367        'egress_filter',
17368        'headers_blacklist',
17369        'healthcheck_path',
17370        'healthy',
17371        'host_override',
17372        'id',
17373        'name',
17374        'password',
17375        'port_override',
17376        'proxy_cluster_id',
17377        'secret_store_id',
17378        'subdomain',
17379        'tags',
17380        'tls_required',
17381        'url',
17382        'username',
17383    ]
17384
17385    def __init__(
17386        self,
17387        bind_interface=None,
17388        custom_headers=None,
17389        default_path=None,
17390        egress_filter=None,
17391        headers_blacklist=None,
17392        healthcheck_path=None,
17393        healthy=None,
17394        host_override=None,
17395        id=None,
17396        name=None,
17397        password=None,
17398        port_override=None,
17399        proxy_cluster_id=None,
17400        secret_store_id=None,
17401        subdomain=None,
17402        tags=None,
17403        tls_required=None,
17404        url=None,
17405        username=None,
17406    ):
17407        self.bind_interface = bind_interface if bind_interface is not None else ''
17408        '''
17409         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17410        '''
17411        self.custom_headers = custom_headers if custom_headers is not None else None
17412        '''
17413         Additional HTTP headers to include in requests.
17414        '''
17415        self.default_path = default_path if default_path is not None else ''
17416        '''
17417         Automatically redirect to this path upon connecting.
17418        '''
17419        self.egress_filter = egress_filter if egress_filter is not None else ''
17420        '''
17421         A filter applied to the routing logic to pin datasource to nodes.
17422        '''
17423        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17424        '''
17425         Header names (e.g. Authorization), to omit from logs.
17426        '''
17427        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17428        '''
17429         This path will be used to check the health of your site.
17430        '''
17431        self.healthy = healthy if healthy is not None else False
17432        '''
17433         True if the datasource is reachable and the credentials are valid.
17434        '''
17435        self.host_override = host_override if host_override is not None else ''
17436        '''
17437         The host header will be overwritten with this field if provided.
17438        '''
17439        self.id = id if id is not None else ''
17440        '''
17441         Unique identifier of the Resource.
17442        '''
17443        self.name = name if name is not None else ''
17444        '''
17445         Unique human-readable name of the Resource.
17446        '''
17447        self.password = password if password is not None else ''
17448        '''
17449         The password to authenticate with.
17450        '''
17451        self.port_override = port_override if port_override is not None else 0
17452        '''
17453         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17454        '''
17455        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17456        '''
17457         ID of the proxy cluster for this resource, if any.
17458        '''
17459        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17460        '''
17461         ID of the secret store containing credentials for this resource, if any.
17462        '''
17463        self.subdomain = subdomain if subdomain is not None else ''
17464        '''
17465         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17466        '''
17467        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17468        '''
17469         Tags is a map of key, value pairs.
17470        '''
17471        self.tls_required = tls_required if tls_required is not None else False
17472        '''
17473         This option enforces HTTPS on the client, not resource connection.
17474        '''
17475        self.url = url if url is not None else ''
17476        '''
17477         The base address of your website without the path.
17478        '''
17479        self.username = username if username is not None else ''
17480        '''
17481         The username to authenticate with.
17482        '''
17483
17484    def __repr__(self):
17485        return '<sdm.HTTPBasicAuth ' + \
17486            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17487            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
17488            'default_path: ' + repr(self.default_path) + ' ' +\
17489            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17490            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
17491            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
17492            'healthy: ' + repr(self.healthy) + ' ' +\
17493            'host_override: ' + repr(self.host_override) + ' ' +\
17494            'id: ' + repr(self.id) + ' ' +\
17495            'name: ' + repr(self.name) + ' ' +\
17496            'password: ' + repr(self.password) + ' ' +\
17497            'port_override: ' + repr(self.port_override) + ' ' +\
17498            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17499            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17500            'subdomain: ' + repr(self.subdomain) + ' ' +\
17501            'tags: ' + repr(self.tags) + ' ' +\
17502            'tls_required: ' + repr(self.tls_required) + ' ' +\
17503            'url: ' + repr(self.url) + ' ' +\
17504            'username: ' + repr(self.username) + ' ' +\
17505            '>'
17506
17507    def to_dict(self):
17508        return {
17509            'bind_interface': self.bind_interface,
17510            'custom_headers': self.custom_headers,
17511            'default_path': self.default_path,
17512            'egress_filter': self.egress_filter,
17513            'headers_blacklist': self.headers_blacklist,
17514            'healthcheck_path': self.healthcheck_path,
17515            'healthy': self.healthy,
17516            'host_override': self.host_override,
17517            'id': self.id,
17518            'name': self.name,
17519            'password': self.password,
17520            'port_override': self.port_override,
17521            'proxy_cluster_id': self.proxy_cluster_id,
17522            'secret_store_id': self.secret_store_id,
17523            'subdomain': self.subdomain,
17524            'tags': self.tags,
17525            'tls_required': self.tls_required,
17526            'url': self.url,
17527            'username': self.username,
17528        }
17529
17530    @classmethod
17531    def from_dict(cls, d):
17532        return cls(
17533            bind_interface=d.get('bind_interface'),
17534            custom_headers=d.get('custom_headers'),
17535            default_path=d.get('default_path'),
17536            egress_filter=d.get('egress_filter'),
17537            headers_blacklist=d.get('headers_blacklist'),
17538            healthcheck_path=d.get('healthcheck_path'),
17539            healthy=d.get('healthy'),
17540            host_override=d.get('host_override'),
17541            id=d.get('id'),
17542            name=d.get('name'),
17543            password=d.get('password'),
17544            port_override=d.get('port_override'),
17545            proxy_cluster_id=d.get('proxy_cluster_id'),
17546            secret_store_id=d.get('secret_store_id'),
17547            subdomain=d.get('subdomain'),
17548            tags=d.get('tags'),
17549            tls_required=d.get('tls_required'),
17550            url=d.get('url'),
17551            username=d.get('username'),
17552        )
HTTPBasicAuth( bind_interface=None, custom_headers=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, url=None, username=None)
17385    def __init__(
17386        self,
17387        bind_interface=None,
17388        custom_headers=None,
17389        default_path=None,
17390        egress_filter=None,
17391        headers_blacklist=None,
17392        healthcheck_path=None,
17393        healthy=None,
17394        host_override=None,
17395        id=None,
17396        name=None,
17397        password=None,
17398        port_override=None,
17399        proxy_cluster_id=None,
17400        secret_store_id=None,
17401        subdomain=None,
17402        tags=None,
17403        tls_required=None,
17404        url=None,
17405        username=None,
17406    ):
17407        self.bind_interface = bind_interface if bind_interface is not None else ''
17408        '''
17409         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17410        '''
17411        self.custom_headers = custom_headers if custom_headers is not None else None
17412        '''
17413         Additional HTTP headers to include in requests.
17414        '''
17415        self.default_path = default_path if default_path is not None else ''
17416        '''
17417         Automatically redirect to this path upon connecting.
17418        '''
17419        self.egress_filter = egress_filter if egress_filter is not None else ''
17420        '''
17421         A filter applied to the routing logic to pin datasource to nodes.
17422        '''
17423        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17424        '''
17425         Header names (e.g. Authorization), to omit from logs.
17426        '''
17427        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17428        '''
17429         This path will be used to check the health of your site.
17430        '''
17431        self.healthy = healthy if healthy is not None else False
17432        '''
17433         True if the datasource is reachable and the credentials are valid.
17434        '''
17435        self.host_override = host_override if host_override is not None else ''
17436        '''
17437         The host header will be overwritten with this field if provided.
17438        '''
17439        self.id = id if id is not None else ''
17440        '''
17441         Unique identifier of the Resource.
17442        '''
17443        self.name = name if name is not None else ''
17444        '''
17445         Unique human-readable name of the Resource.
17446        '''
17447        self.password = password if password is not None else ''
17448        '''
17449         The password to authenticate with.
17450        '''
17451        self.port_override = port_override if port_override is not None else 0
17452        '''
17453         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17454        '''
17455        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17456        '''
17457         ID of the proxy cluster for this resource, if any.
17458        '''
17459        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17460        '''
17461         ID of the secret store containing credentials for this resource, if any.
17462        '''
17463        self.subdomain = subdomain if subdomain is not None else ''
17464        '''
17465         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17466        '''
17467        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17468        '''
17469         Tags is a map of key, value pairs.
17470        '''
17471        self.tls_required = tls_required if tls_required is not None else False
17472        '''
17473         This option enforces HTTPS on the client, not resource connection.
17474        '''
17475        self.url = url if url is not None else ''
17476        '''
17477         The base address of your website without the path.
17478        '''
17479        self.username = username if username is not None else ''
17480        '''
17481         The username to authenticate with.
17482        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

custom_headers

Additional HTTP headers to include in requests.

default_path

Automatically redirect to this path upon connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

True if the datasource is reachable and the credentials are valid.

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

tls_required

This option enforces HTTPS on the client, not resource connection.

url

The base address of your website without the path.

username

The username to authenticate with.

def to_dict(self)
17507    def to_dict(self):
17508        return {
17509            'bind_interface': self.bind_interface,
17510            'custom_headers': self.custom_headers,
17511            'default_path': self.default_path,
17512            'egress_filter': self.egress_filter,
17513            'headers_blacklist': self.headers_blacklist,
17514            'healthcheck_path': self.healthcheck_path,
17515            'healthy': self.healthy,
17516            'host_override': self.host_override,
17517            'id': self.id,
17518            'name': self.name,
17519            'password': self.password,
17520            'port_override': self.port_override,
17521            'proxy_cluster_id': self.proxy_cluster_id,
17522            'secret_store_id': self.secret_store_id,
17523            'subdomain': self.subdomain,
17524            'tags': self.tags,
17525            'tls_required': self.tls_required,
17526            'url': self.url,
17527            'username': self.username,
17528        }
@classmethod
def from_dict(cls, d)
17530    @classmethod
17531    def from_dict(cls, d):
17532        return cls(
17533            bind_interface=d.get('bind_interface'),
17534            custom_headers=d.get('custom_headers'),
17535            default_path=d.get('default_path'),
17536            egress_filter=d.get('egress_filter'),
17537            headers_blacklist=d.get('headers_blacklist'),
17538            healthcheck_path=d.get('healthcheck_path'),
17539            healthy=d.get('healthy'),
17540            host_override=d.get('host_override'),
17541            id=d.get('id'),
17542            name=d.get('name'),
17543            password=d.get('password'),
17544            port_override=d.get('port_override'),
17545            proxy_cluster_id=d.get('proxy_cluster_id'),
17546            secret_store_id=d.get('secret_store_id'),
17547            subdomain=d.get('subdomain'),
17548            tags=d.get('tags'),
17549            tls_required=d.get('tls_required'),
17550            url=d.get('url'),
17551            username=d.get('username'),
17552        )
class HTTPNoAuth:
17555class HTTPNoAuth:
17556    __slots__ = [
17557        'bind_interface',
17558        'custom_headers',
17559        'default_path',
17560        'egress_filter',
17561        'headers_blacklist',
17562        'healthcheck_path',
17563        'healthy',
17564        'host_override',
17565        'id',
17566        'name',
17567        'port_override',
17568        'proxy_cluster_id',
17569        'secret_store_id',
17570        'subdomain',
17571        'tags',
17572        'tls_required',
17573        'url',
17574    ]
17575
17576    def __init__(
17577        self,
17578        bind_interface=None,
17579        custom_headers=None,
17580        default_path=None,
17581        egress_filter=None,
17582        headers_blacklist=None,
17583        healthcheck_path=None,
17584        healthy=None,
17585        host_override=None,
17586        id=None,
17587        name=None,
17588        port_override=None,
17589        proxy_cluster_id=None,
17590        secret_store_id=None,
17591        subdomain=None,
17592        tags=None,
17593        tls_required=None,
17594        url=None,
17595    ):
17596        self.bind_interface = bind_interface if bind_interface is not None else ''
17597        '''
17598         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17599        '''
17600        self.custom_headers = custom_headers if custom_headers is not None else None
17601        '''
17602         Additional HTTP headers to include in requests.
17603        '''
17604        self.default_path = default_path if default_path is not None else ''
17605        '''
17606         Automatically redirect to this path upon connecting.
17607        '''
17608        self.egress_filter = egress_filter if egress_filter is not None else ''
17609        '''
17610         A filter applied to the routing logic to pin datasource to nodes.
17611        '''
17612        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17613        '''
17614         Header names (e.g. Authorization), to omit from logs.
17615        '''
17616        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17617        '''
17618         This path will be used to check the health of your site.
17619        '''
17620        self.healthy = healthy if healthy is not None else False
17621        '''
17622         True if the datasource is reachable and the credentials are valid.
17623        '''
17624        self.host_override = host_override if host_override is not None else ''
17625        '''
17626         The host header will be overwritten with this field if provided.
17627        '''
17628        self.id = id if id is not None else ''
17629        '''
17630         Unique identifier of the Resource.
17631        '''
17632        self.name = name if name is not None else ''
17633        '''
17634         Unique human-readable name of the Resource.
17635        '''
17636        self.port_override = port_override if port_override is not None else 0
17637        '''
17638         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17639        '''
17640        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17641        '''
17642         ID of the proxy cluster for this resource, if any.
17643        '''
17644        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17645        '''
17646         ID of the secret store containing credentials for this resource, if any.
17647        '''
17648        self.subdomain = subdomain if subdomain is not None else ''
17649        '''
17650         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17651        '''
17652        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17653        '''
17654         Tags is a map of key, value pairs.
17655        '''
17656        self.tls_required = tls_required if tls_required is not None else False
17657        '''
17658         This option enforces HTTPS on the client, not resource connection.
17659        '''
17660        self.url = url if url is not None else ''
17661        '''
17662         The base address of your website without the path.
17663        '''
17664
17665    def __repr__(self):
17666        return '<sdm.HTTPNoAuth ' + \
17667            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17668            'custom_headers: ' + repr(self.custom_headers) + ' ' +\
17669            'default_path: ' + repr(self.default_path) + ' ' +\
17670            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17671            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
17672            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
17673            'healthy: ' + repr(self.healthy) + ' ' +\
17674            'host_override: ' + repr(self.host_override) + ' ' +\
17675            'id: ' + repr(self.id) + ' ' +\
17676            'name: ' + repr(self.name) + ' ' +\
17677            'port_override: ' + repr(self.port_override) + ' ' +\
17678            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17679            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17680            'subdomain: ' + repr(self.subdomain) + ' ' +\
17681            'tags: ' + repr(self.tags) + ' ' +\
17682            'tls_required: ' + repr(self.tls_required) + ' ' +\
17683            'url: ' + repr(self.url) + ' ' +\
17684            '>'
17685
17686    def to_dict(self):
17687        return {
17688            'bind_interface': self.bind_interface,
17689            'custom_headers': self.custom_headers,
17690            'default_path': self.default_path,
17691            'egress_filter': self.egress_filter,
17692            'headers_blacklist': self.headers_blacklist,
17693            'healthcheck_path': self.healthcheck_path,
17694            'healthy': self.healthy,
17695            'host_override': self.host_override,
17696            'id': self.id,
17697            'name': self.name,
17698            'port_override': self.port_override,
17699            'proxy_cluster_id': self.proxy_cluster_id,
17700            'secret_store_id': self.secret_store_id,
17701            'subdomain': self.subdomain,
17702            'tags': self.tags,
17703            'tls_required': self.tls_required,
17704            'url': self.url,
17705        }
17706
17707    @classmethod
17708    def from_dict(cls, d):
17709        return cls(
17710            bind_interface=d.get('bind_interface'),
17711            custom_headers=d.get('custom_headers'),
17712            default_path=d.get('default_path'),
17713            egress_filter=d.get('egress_filter'),
17714            headers_blacklist=d.get('headers_blacklist'),
17715            healthcheck_path=d.get('healthcheck_path'),
17716            healthy=d.get('healthy'),
17717            host_override=d.get('host_override'),
17718            id=d.get('id'),
17719            name=d.get('name'),
17720            port_override=d.get('port_override'),
17721            proxy_cluster_id=d.get('proxy_cluster_id'),
17722            secret_store_id=d.get('secret_store_id'),
17723            subdomain=d.get('subdomain'),
17724            tags=d.get('tags'),
17725            tls_required=d.get('tls_required'),
17726            url=d.get('url'),
17727        )
HTTPNoAuth( bind_interface=None, custom_headers=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, url=None)
17576    def __init__(
17577        self,
17578        bind_interface=None,
17579        custom_headers=None,
17580        default_path=None,
17581        egress_filter=None,
17582        headers_blacklist=None,
17583        healthcheck_path=None,
17584        healthy=None,
17585        host_override=None,
17586        id=None,
17587        name=None,
17588        port_override=None,
17589        proxy_cluster_id=None,
17590        secret_store_id=None,
17591        subdomain=None,
17592        tags=None,
17593        tls_required=None,
17594        url=None,
17595    ):
17596        self.bind_interface = bind_interface if bind_interface is not None else ''
17597        '''
17598         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17599        '''
17600        self.custom_headers = custom_headers if custom_headers is not None else None
17601        '''
17602         Additional HTTP headers to include in requests.
17603        '''
17604        self.default_path = default_path if default_path is not None else ''
17605        '''
17606         Automatically redirect to this path upon connecting.
17607        '''
17608        self.egress_filter = egress_filter if egress_filter is not None else ''
17609        '''
17610         A filter applied to the routing logic to pin datasource to nodes.
17611        '''
17612        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
17613        '''
17614         Header names (e.g. Authorization), to omit from logs.
17615        '''
17616        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
17617        '''
17618         This path will be used to check the health of your site.
17619        '''
17620        self.healthy = healthy if healthy is not None else False
17621        '''
17622         True if the datasource is reachable and the credentials are valid.
17623        '''
17624        self.host_override = host_override if host_override is not None else ''
17625        '''
17626         The host header will be overwritten with this field if provided.
17627        '''
17628        self.id = id if id is not None else ''
17629        '''
17630         Unique identifier of the Resource.
17631        '''
17632        self.name = name if name is not None else ''
17633        '''
17634         Unique human-readable name of the Resource.
17635        '''
17636        self.port_override = port_override if port_override is not None else 0
17637        '''
17638         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17639        '''
17640        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17641        '''
17642         ID of the proxy cluster for this resource, if any.
17643        '''
17644        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17645        '''
17646         ID of the secret store containing credentials for this resource, if any.
17647        '''
17648        self.subdomain = subdomain if subdomain is not None else ''
17649        '''
17650         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17651        '''
17652        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17653        '''
17654         Tags is a map of key, value pairs.
17655        '''
17656        self.tls_required = tls_required if tls_required is not None else False
17657        '''
17658         This option enforces HTTPS on the client, not resource connection.
17659        '''
17660        self.url = url if url is not None else ''
17661        '''
17662         The base address of your website without the path.
17663        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

custom_headers

Additional HTTP headers to include in requests.

default_path

Automatically redirect to this path upon connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

True if the datasource is reachable and the credentials are valid.

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

tls_required

This option enforces HTTPS on the client, not resource connection.

url

The base address of your website without the path.

def to_dict(self)
17686    def to_dict(self):
17687        return {
17688            'bind_interface': self.bind_interface,
17689            'custom_headers': self.custom_headers,
17690            'default_path': self.default_path,
17691            'egress_filter': self.egress_filter,
17692            'headers_blacklist': self.headers_blacklist,
17693            'healthcheck_path': self.healthcheck_path,
17694            'healthy': self.healthy,
17695            'host_override': self.host_override,
17696            'id': self.id,
17697            'name': self.name,
17698            'port_override': self.port_override,
17699            'proxy_cluster_id': self.proxy_cluster_id,
17700            'secret_store_id': self.secret_store_id,
17701            'subdomain': self.subdomain,
17702            'tags': self.tags,
17703            'tls_required': self.tls_required,
17704            'url': self.url,
17705        }
@classmethod
def from_dict(cls, d)
17707    @classmethod
17708    def from_dict(cls, d):
17709        return cls(
17710            bind_interface=d.get('bind_interface'),
17711            custom_headers=d.get('custom_headers'),
17712            default_path=d.get('default_path'),
17713            egress_filter=d.get('egress_filter'),
17714            headers_blacklist=d.get('headers_blacklist'),
17715            healthcheck_path=d.get('healthcheck_path'),
17716            healthy=d.get('healthy'),
17717            host_override=d.get('host_override'),
17718            id=d.get('id'),
17719            name=d.get('name'),
17720            port_override=d.get('port_override'),
17721            proxy_cluster_id=d.get('proxy_cluster_id'),
17722            secret_store_id=d.get('secret_store_id'),
17723            subdomain=d.get('subdomain'),
17724            tags=d.get('tags'),
17725            tls_required=d.get('tls_required'),
17726            url=d.get('url'),
17727        )
class Healthcheck:
17730class Healthcheck:
17731    '''
17732         Healthcheck defines the status of the link between a node and a resource
17733    '''
17734    __slots__ = [
17735        'error_msg',
17736        'healthy',
17737        'id',
17738        'node_id',
17739        'node_name',
17740        'resource_id',
17741        'resource_name',
17742        'timestamp',
17743    ]
17744
17745    def __init__(
17746        self,
17747        error_msg=None,
17748        healthy=None,
17749        id=None,
17750        node_id=None,
17751        node_name=None,
17752        resource_id=None,
17753        resource_name=None,
17754        timestamp=None,
17755    ):
17756        self.error_msg = error_msg if error_msg is not None else ''
17757        '''
17758         The error if unhealthy
17759        '''
17760        self.healthy = healthy if healthy is not None else False
17761        '''
17762         Whether the healthcheck succeeded.
17763        '''
17764        self.id = id if id is not None else ''
17765        '''
17766         Unique identifier of the healthcheck.
17767        '''
17768        self.node_id = node_id if node_id is not None else ''
17769        '''
17770         Unique identifier of the healthcheck node.
17771        '''
17772        self.node_name = node_name if node_name is not None else ''
17773        '''
17774         The name of the node.
17775        '''
17776        self.resource_id = resource_id if resource_id is not None else ''
17777        '''
17778         Unique identifier of the healthcheck resource.
17779        '''
17780        self.resource_name = resource_name if resource_name is not None else ''
17781        '''
17782         The name of the resource.
17783        '''
17784        self.timestamp = timestamp if timestamp is not None else None
17785        '''
17786         The time at which the healthcheck state was recorded.
17787        '''
17788
17789    def __repr__(self):
17790        return '<sdm.Healthcheck ' + \
17791            'error_msg: ' + repr(self.error_msg) + ' ' +\
17792            'healthy: ' + repr(self.healthy) + ' ' +\
17793            'id: ' + repr(self.id) + ' ' +\
17794            'node_id: ' + repr(self.node_id) + ' ' +\
17795            'node_name: ' + repr(self.node_name) + ' ' +\
17796            'resource_id: ' + repr(self.resource_id) + ' ' +\
17797            'resource_name: ' + repr(self.resource_name) + ' ' +\
17798            'timestamp: ' + repr(self.timestamp) + ' ' +\
17799            '>'
17800
17801    def to_dict(self):
17802        return {
17803            'error_msg': self.error_msg,
17804            'healthy': self.healthy,
17805            'id': self.id,
17806            'node_id': self.node_id,
17807            'node_name': self.node_name,
17808            'resource_id': self.resource_id,
17809            'resource_name': self.resource_name,
17810            'timestamp': self.timestamp,
17811        }
17812
17813    @classmethod
17814    def from_dict(cls, d):
17815        return cls(
17816            error_msg=d.get('error_msg'),
17817            healthy=d.get('healthy'),
17818            id=d.get('id'),
17819            node_id=d.get('node_id'),
17820            node_name=d.get('node_name'),
17821            resource_id=d.get('resource_id'),
17822            resource_name=d.get('resource_name'),
17823            timestamp=d.get('timestamp'),
17824        )

Healthcheck defines the status of the link between a node and a resource

Healthcheck( error_msg=None, healthy=None, id=None, node_id=None, node_name=None, resource_id=None, resource_name=None, timestamp=None)
17745    def __init__(
17746        self,
17747        error_msg=None,
17748        healthy=None,
17749        id=None,
17750        node_id=None,
17751        node_name=None,
17752        resource_id=None,
17753        resource_name=None,
17754        timestamp=None,
17755    ):
17756        self.error_msg = error_msg if error_msg is not None else ''
17757        '''
17758         The error if unhealthy
17759        '''
17760        self.healthy = healthy if healthy is not None else False
17761        '''
17762         Whether the healthcheck succeeded.
17763        '''
17764        self.id = id if id is not None else ''
17765        '''
17766         Unique identifier of the healthcheck.
17767        '''
17768        self.node_id = node_id if node_id is not None else ''
17769        '''
17770         Unique identifier of the healthcheck node.
17771        '''
17772        self.node_name = node_name if node_name is not None else ''
17773        '''
17774         The name of the node.
17775        '''
17776        self.resource_id = resource_id if resource_id is not None else ''
17777        '''
17778         Unique identifier of the healthcheck resource.
17779        '''
17780        self.resource_name = resource_name if resource_name is not None else ''
17781        '''
17782         The name of the resource.
17783        '''
17784        self.timestamp = timestamp if timestamp is not None else None
17785        '''
17786         The time at which the healthcheck state was recorded.
17787        '''
error_msg

The error if unhealthy

healthy

Whether the healthcheck succeeded.

id

Unique identifier of the healthcheck.

node_id

Unique identifier of the healthcheck node.

node_name

The name of the node.

resource_id

Unique identifier of the healthcheck resource.

resource_name

The name of the resource.

timestamp

The time at which the healthcheck state was recorded.

def to_dict(self)
17801    def to_dict(self):
17802        return {
17803            'error_msg': self.error_msg,
17804            'healthy': self.healthy,
17805            'id': self.id,
17806            'node_id': self.node_id,
17807            'node_name': self.node_name,
17808            'resource_id': self.resource_id,
17809            'resource_name': self.resource_name,
17810            'timestamp': self.timestamp,
17811        }
@classmethod
def from_dict(cls, d)
17813    @classmethod
17814    def from_dict(cls, d):
17815        return cls(
17816            error_msg=d.get('error_msg'),
17817            healthy=d.get('healthy'),
17818            id=d.get('id'),
17819            node_id=d.get('node_id'),
17820            node_name=d.get('node_name'),
17821            resource_id=d.get('resource_id'),
17822            resource_name=d.get('resource_name'),
17823            timestamp=d.get('timestamp'),
17824        )
class HealthcheckListResponse:
17827class HealthcheckListResponse:
17828    '''
17829         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
17830     HealthcheckListRequest.
17831    '''
17832    __slots__ = [
17833        'rate_limit',
17834    ]
17835
17836    def __init__(
17837        self,
17838        rate_limit=None,
17839    ):
17840        self.rate_limit = rate_limit if rate_limit is not None else None
17841        '''
17842         Rate limit information.
17843        '''
17844
17845    def __repr__(self):
17846        return '<sdm.HealthcheckListResponse ' + \
17847            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17848            '>'
17849
17850    def to_dict(self):
17851        return {
17852            'rate_limit': self.rate_limit,
17853        }
17854
17855    @classmethod
17856    def from_dict(cls, d):
17857        return cls(rate_limit=d.get('rate_limit'), )

HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a HealthcheckListRequest.

HealthcheckListResponse(rate_limit=None)
17836    def __init__(
17837        self,
17838        rate_limit=None,
17839    ):
17840        self.rate_limit = rate_limit if rate_limit is not None else None
17841        '''
17842         Rate limit information.
17843        '''
rate_limit

Rate limit information.

def to_dict(self)
17850    def to_dict(self):
17851        return {
17852            'rate_limit': self.rate_limit,
17853        }
@classmethod
def from_dict(cls, d)
17855    @classmethod
17856    def from_dict(cls, d):
17857        return cls(rate_limit=d.get('rate_limit'), )
class HealthcheckRequest:
17860class HealthcheckRequest:
17861    __slots__ = [
17862        'secret_engine_id',
17863    ]
17864
17865    def __init__(
17866        self,
17867        secret_engine_id=None,
17868    ):
17869        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17870        '''
17871         required
17872        '''
17873
17874    def __repr__(self):
17875        return '<sdm.HealthcheckRequest ' + \
17876            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17877            '>'
17878
17879    def to_dict(self):
17880        return {
17881            'secret_engine_id': self.secret_engine_id,
17882        }
17883
17884    @classmethod
17885    def from_dict(cls, d):
17886        return cls(secret_engine_id=d.get('secret_engine_id'), )
HealthcheckRequest(secret_engine_id=None)
17865    def __init__(
17866        self,
17867        secret_engine_id=None,
17868    ):
17869        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17870        '''
17871         required
17872        '''
secret_engine_id

required

def to_dict(self)
17879    def to_dict(self):
17880        return {
17881            'secret_engine_id': self.secret_engine_id,
17882        }
@classmethod
def from_dict(cls, d)
17884    @classmethod
17885    def from_dict(cls, d):
17886        return cls(secret_engine_id=d.get('secret_engine_id'), )
class HealthcheckResponse:
17889class HealthcheckResponse:
17890    __slots__ = [
17891        'rate_limit',
17892        'status',
17893    ]
17894
17895    def __init__(
17896        self,
17897        rate_limit=None,
17898        status=None,
17899    ):
17900        self.rate_limit = rate_limit if rate_limit is not None else None
17901        '''
17902         Rate limit information.
17903        '''
17904        self.status = status if status is not None else []
17905        '''
17906         Array of statuses of all nodes serving a secret engine
17907        '''
17908
17909    def __repr__(self):
17910        return '<sdm.HealthcheckResponse ' + \
17911            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17912            'status: ' + repr(self.status) + ' ' +\
17913            '>'
17914
17915    def to_dict(self):
17916        return {
17917            'rate_limit': self.rate_limit,
17918            'status': self.status,
17919        }
17920
17921    @classmethod
17922    def from_dict(cls, d):
17923        return cls(
17924            rate_limit=d.get('rate_limit'),
17925            status=d.get('status'),
17926        )
HealthcheckResponse(rate_limit=None, status=None)
17895    def __init__(
17896        self,
17897        rate_limit=None,
17898        status=None,
17899    ):
17900        self.rate_limit = rate_limit if rate_limit is not None else None
17901        '''
17902         Rate limit information.
17903        '''
17904        self.status = status if status is not None else []
17905        '''
17906         Array of statuses of all nodes serving a secret engine
17907        '''
rate_limit

Rate limit information.

status

Array of statuses of all nodes serving a secret engine

def to_dict(self)
17915    def to_dict(self):
17916        return {
17917            'rate_limit': self.rate_limit,
17918            'status': self.status,
17919        }
@classmethod
def from_dict(cls, d)
17921    @classmethod
17922    def from_dict(cls, d):
17923        return cls(
17924            rate_limit=d.get('rate_limit'),
17925            status=d.get('status'),
17926        )
class HealthcheckStatus:
17929class HealthcheckStatus:
17930    '''
17931         HealthcheckStatus contains status of a node health
17932    '''
17933    __slots__ = [
17934        'node_id',
17935        'status',
17936    ]
17937
17938    def __init__(
17939        self,
17940        node_id=None,
17941        status=None,
17942    ):
17943        self.node_id = node_id if node_id is not None else ''
17944        '''
17945         ID of node
17946        '''
17947        self.status = status if status is not None else ''
17948        '''
17949         Status of node's health
17950        '''
17951
17952    def __repr__(self):
17953        return '<sdm.HealthcheckStatus ' + \
17954            'node_id: ' + repr(self.node_id) + ' ' +\
17955            'status: ' + repr(self.status) + ' ' +\
17956            '>'
17957
17958    def to_dict(self):
17959        return {
17960            'node_id': self.node_id,
17961            'status': self.status,
17962        }
17963
17964    @classmethod
17965    def from_dict(cls, d):
17966        return cls(
17967            node_id=d.get('node_id'),
17968            status=d.get('status'),
17969        )

HealthcheckStatus contains status of a node health

HealthcheckStatus(node_id=None, status=None)
17938    def __init__(
17939        self,
17940        node_id=None,
17941        status=None,
17942    ):
17943        self.node_id = node_id if node_id is not None else ''
17944        '''
17945         ID of node
17946        '''
17947        self.status = status if status is not None else ''
17948        '''
17949         Status of node's health
17950        '''
node_id

ID of node

status

Status of node's health

def to_dict(self)
17958    def to_dict(self):
17959        return {
17960            'node_id': self.node_id,
17961            'status': self.status,
17962        }
@classmethod
def from_dict(cls, d)
17964    @classmethod
17965    def from_dict(cls, d):
17966        return cls(
17967            node_id=d.get('node_id'),
17968            status=d.get('status'),
17969        )
class IdentityAlias:
17972class IdentityAlias:
17973    '''
17974         IdentityAliases define the username to be used for a specific account
17975     when connecting to a remote resource using that identity set.
17976    '''
17977    __slots__ = [
17978        'account_id',
17979        'id',
17980        'identity_set_id',
17981        'username',
17982    ]
17983
17984    def __init__(
17985        self,
17986        account_id=None,
17987        id=None,
17988        identity_set_id=None,
17989        username=None,
17990    ):
17991        self.account_id = account_id if account_id is not None else ''
17992        '''
17993         The account for this identity alias.
17994        '''
17995        self.id = id if id is not None else ''
17996        '''
17997         Unique identifier of the IdentityAlias.
17998        '''
17999        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
18000        '''
18001         The identity set.
18002        '''
18003        self.username = username if username is not None else ''
18004        '''
18005         The username to be used as the identity alias for this account.
18006        '''
18007
18008    def __repr__(self):
18009        return '<sdm.IdentityAlias ' + \
18010            'account_id: ' + repr(self.account_id) + ' ' +\
18011            'id: ' + repr(self.id) + ' ' +\
18012            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
18013            'username: ' + repr(self.username) + ' ' +\
18014            '>'
18015
18016    def to_dict(self):
18017        return {
18018            'account_id': self.account_id,
18019            'id': self.id,
18020            'identity_set_id': self.identity_set_id,
18021            'username': self.username,
18022        }
18023
18024    @classmethod
18025    def from_dict(cls, d):
18026        return cls(
18027            account_id=d.get('account_id'),
18028            id=d.get('id'),
18029            identity_set_id=d.get('identity_set_id'),
18030            username=d.get('username'),
18031        )

IdentityAliases define the username to be used for a specific account when connecting to a remote resource using that identity set.

IdentityAlias(account_id=None, id=None, identity_set_id=None, username=None)
17984    def __init__(
17985        self,
17986        account_id=None,
17987        id=None,
17988        identity_set_id=None,
17989        username=None,
17990    ):
17991        self.account_id = account_id if account_id is not None else ''
17992        '''
17993         The account for this identity alias.
17994        '''
17995        self.id = id if id is not None else ''
17996        '''
17997         Unique identifier of the IdentityAlias.
17998        '''
17999        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
18000        '''
18001         The identity set.
18002        '''
18003        self.username = username if username is not None else ''
18004        '''
18005         The username to be used as the identity alias for this account.
18006        '''
account_id

The account for this identity alias.

id

Unique identifier of the IdentityAlias.

identity_set_id

The identity set.

username

The username to be used as the identity alias for this account.

def to_dict(self)
18016    def to_dict(self):
18017        return {
18018            'account_id': self.account_id,
18019            'id': self.id,
18020            'identity_set_id': self.identity_set_id,
18021            'username': self.username,
18022        }
@classmethod
def from_dict(cls, d)
18024    @classmethod
18025    def from_dict(cls, d):
18026        return cls(
18027            account_id=d.get('account_id'),
18028            id=d.get('id'),
18029            identity_set_id=d.get('identity_set_id'),
18030            username=d.get('username'),
18031        )
class IdentityAliasCreateResponse:
18034class IdentityAliasCreateResponse:
18035    '''
18036         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
18037    '''
18038    __slots__ = [
18039        'identity_alias',
18040        'meta',
18041        'rate_limit',
18042    ]
18043
18044    def __init__(
18045        self,
18046        identity_alias=None,
18047        meta=None,
18048        rate_limit=None,
18049    ):
18050        self.identity_alias = identity_alias if identity_alias is not None else None
18051        '''
18052         The created IdentityAlias.
18053        '''
18054        self.meta = meta if meta is not None else None
18055        '''
18056         Reserved for future use.
18057        '''
18058        self.rate_limit = rate_limit if rate_limit is not None else None
18059        '''
18060         Rate limit information.
18061        '''
18062
18063    def __repr__(self):
18064        return '<sdm.IdentityAliasCreateResponse ' + \
18065            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18066            'meta: ' + repr(self.meta) + ' ' +\
18067            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18068            '>'
18069
18070    def to_dict(self):
18071        return {
18072            'identity_alias': self.identity_alias,
18073            'meta': self.meta,
18074            'rate_limit': self.rate_limit,
18075        }
18076
18077    @classmethod
18078    def from_dict(cls, d):
18079        return cls(
18080            identity_alias=d.get('identity_alias'),
18081            meta=d.get('meta'),
18082            rate_limit=d.get('rate_limit'),
18083        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
18044    def __init__(
18045        self,
18046        identity_alias=None,
18047        meta=None,
18048        rate_limit=None,
18049    ):
18050        self.identity_alias = identity_alias if identity_alias is not None else None
18051        '''
18052         The created IdentityAlias.
18053        '''
18054        self.meta = meta if meta is not None else None
18055        '''
18056         Reserved for future use.
18057        '''
18058        self.rate_limit = rate_limit if rate_limit is not None else None
18059        '''
18060         Rate limit information.
18061        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18070    def to_dict(self):
18071        return {
18072            'identity_alias': self.identity_alias,
18073            'meta': self.meta,
18074            'rate_limit': self.rate_limit,
18075        }
@classmethod
def from_dict(cls, d)
18077    @classmethod
18078    def from_dict(cls, d):
18079        return cls(
18080            identity_alias=d.get('identity_alias'),
18081            meta=d.get('meta'),
18082            rate_limit=d.get('rate_limit'),
18083        )
class IdentityAliasDeleteResponse:
18086class IdentityAliasDeleteResponse:
18087    '''
18088         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
18089    '''
18090    __slots__ = [
18091        'meta',
18092        'rate_limit',
18093    ]
18094
18095    def __init__(
18096        self,
18097        meta=None,
18098        rate_limit=None,
18099    ):
18100        self.meta = meta if meta is not None else None
18101        '''
18102         Reserved for future use.
18103        '''
18104        self.rate_limit = rate_limit if rate_limit is not None else None
18105        '''
18106         Rate limit information.
18107        '''
18108
18109    def __repr__(self):
18110        return '<sdm.IdentityAliasDeleteResponse ' + \
18111            'meta: ' + repr(self.meta) + ' ' +\
18112            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18113            '>'
18114
18115    def to_dict(self):
18116        return {
18117            'meta': self.meta,
18118            'rate_limit': self.rate_limit,
18119        }
18120
18121    @classmethod
18122    def from_dict(cls, d):
18123        return cls(
18124            meta=d.get('meta'),
18125            rate_limit=d.get('rate_limit'),
18126        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
18095    def __init__(
18096        self,
18097        meta=None,
18098        rate_limit=None,
18099    ):
18100        self.meta = meta if meta is not None else None
18101        '''
18102         Reserved for future use.
18103        '''
18104        self.rate_limit = rate_limit if rate_limit is not None else None
18105        '''
18106         Rate limit information.
18107        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18115    def to_dict(self):
18116        return {
18117            'meta': self.meta,
18118            'rate_limit': self.rate_limit,
18119        }
@classmethod
def from_dict(cls, d)
18121    @classmethod
18122    def from_dict(cls, d):
18123        return cls(
18124            meta=d.get('meta'),
18125            rate_limit=d.get('rate_limit'),
18126        )
class IdentityAliasGetResponse:
18129class IdentityAliasGetResponse:
18130    '''
18131         IdentityAliasGetResponse returns a requested IdentityAlias.
18132    '''
18133    __slots__ = [
18134        'identity_alias',
18135        'meta',
18136        'rate_limit',
18137    ]
18138
18139    def __init__(
18140        self,
18141        identity_alias=None,
18142        meta=None,
18143        rate_limit=None,
18144    ):
18145        self.identity_alias = identity_alias if identity_alias is not None else None
18146        '''
18147         The requested IdentityAlias.
18148        '''
18149        self.meta = meta if meta is not None else None
18150        '''
18151         Reserved for future use.
18152        '''
18153        self.rate_limit = rate_limit if rate_limit is not None else None
18154        '''
18155         Rate limit information.
18156        '''
18157
18158    def __repr__(self):
18159        return '<sdm.IdentityAliasGetResponse ' + \
18160            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18161            'meta: ' + repr(self.meta) + ' ' +\
18162            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18163            '>'
18164
18165    def to_dict(self):
18166        return {
18167            'identity_alias': self.identity_alias,
18168            'meta': self.meta,
18169            'rate_limit': self.rate_limit,
18170        }
18171
18172    @classmethod
18173    def from_dict(cls, d):
18174        return cls(
18175            identity_alias=d.get('identity_alias'),
18176            meta=d.get('meta'),
18177            rate_limit=d.get('rate_limit'),
18178        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
18139    def __init__(
18140        self,
18141        identity_alias=None,
18142        meta=None,
18143        rate_limit=None,
18144    ):
18145        self.identity_alias = identity_alias if identity_alias is not None else None
18146        '''
18147         The requested IdentityAlias.
18148        '''
18149        self.meta = meta if meta is not None else None
18150        '''
18151         Reserved for future use.
18152        '''
18153        self.rate_limit = rate_limit if rate_limit is not None else None
18154        '''
18155         Rate limit information.
18156        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18165    def to_dict(self):
18166        return {
18167            'identity_alias': self.identity_alias,
18168            'meta': self.meta,
18169            'rate_limit': self.rate_limit,
18170        }
@classmethod
def from_dict(cls, d)
18172    @classmethod
18173    def from_dict(cls, d):
18174        return cls(
18175            identity_alias=d.get('identity_alias'),
18176            meta=d.get('meta'),
18177            rate_limit=d.get('rate_limit'),
18178        )
class IdentityAliasHistory:
18181class IdentityAliasHistory:
18182    '''
18183         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
18184     where every change (create, update and delete) to a IdentityAlias produces an
18185     IdentityAliasHistory record.
18186    '''
18187    __slots__ = [
18188        'activity_id',
18189        'deleted_at',
18190        'identity_alias',
18191        'timestamp',
18192    ]
18193
18194    def __init__(
18195        self,
18196        activity_id=None,
18197        deleted_at=None,
18198        identity_alias=None,
18199        timestamp=None,
18200    ):
18201        self.activity_id = activity_id if activity_id is not None else ''
18202        '''
18203         The unique identifier of the Activity that produced this change to the IdentityAlias.
18204         May be empty for some system-initiated updates.
18205        '''
18206        self.deleted_at = deleted_at if deleted_at is not None else None
18207        '''
18208         If this IdentityAlias was deleted, the time it was deleted.
18209        '''
18210        self.identity_alias = identity_alias if identity_alias is not None else None
18211        '''
18212         The complete IdentityAlias state at this time.
18213        '''
18214        self.timestamp = timestamp if timestamp is not None else None
18215        '''
18216         The time at which the IdentityAlias state was recorded.
18217        '''
18218
18219    def __repr__(self):
18220        return '<sdm.IdentityAliasHistory ' + \
18221            'activity_id: ' + repr(self.activity_id) + ' ' +\
18222            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
18223            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18224            'timestamp: ' + repr(self.timestamp) + ' ' +\
18225            '>'
18226
18227    def to_dict(self):
18228        return {
18229            'activity_id': self.activity_id,
18230            'deleted_at': self.deleted_at,
18231            'identity_alias': self.identity_alias,
18232            'timestamp': self.timestamp,
18233        }
18234
18235    @classmethod
18236    def from_dict(cls, d):
18237        return cls(
18238            activity_id=d.get('activity_id'),
18239            deleted_at=d.get('deleted_at'),
18240            identity_alias=d.get('identity_alias'),
18241            timestamp=d.get('timestamp'),
18242        )

IdentityAliasHistory records the state of a IdentityAlias at a given point in time, where every change (create, update and delete) to a IdentityAlias produces an IdentityAliasHistory record.

IdentityAliasHistory( activity_id=None, deleted_at=None, identity_alias=None, timestamp=None)
18194    def __init__(
18195        self,
18196        activity_id=None,
18197        deleted_at=None,
18198        identity_alias=None,
18199        timestamp=None,
18200    ):
18201        self.activity_id = activity_id if activity_id is not None else ''
18202        '''
18203         The unique identifier of the Activity that produced this change to the IdentityAlias.
18204         May be empty for some system-initiated updates.
18205        '''
18206        self.deleted_at = deleted_at if deleted_at is not None else None
18207        '''
18208         If this IdentityAlias was deleted, the time it was deleted.
18209        '''
18210        self.identity_alias = identity_alias if identity_alias is not None else None
18211        '''
18212         The complete IdentityAlias state at this time.
18213        '''
18214        self.timestamp = timestamp if timestamp is not None else None
18215        '''
18216         The time at which the IdentityAlias state was recorded.
18217        '''
activity_id

The unique identifier of the Activity that produced this change to the IdentityAlias. May be empty for some system-initiated updates.

deleted_at

If this IdentityAlias was deleted, the time it was deleted.

identity_alias

The complete IdentityAlias state at this time.

timestamp

The time at which the IdentityAlias state was recorded.

def to_dict(self)
18227    def to_dict(self):
18228        return {
18229            'activity_id': self.activity_id,
18230            'deleted_at': self.deleted_at,
18231            'identity_alias': self.identity_alias,
18232            'timestamp': self.timestamp,
18233        }
@classmethod
def from_dict(cls, d)
18235    @classmethod
18236    def from_dict(cls, d):
18237        return cls(
18238            activity_id=d.get('activity_id'),
18239            deleted_at=d.get('deleted_at'),
18240            identity_alias=d.get('identity_alias'),
18241            timestamp=d.get('timestamp'),
18242        )
class IdentityAliasUpdateResponse:
18245class IdentityAliasUpdateResponse:
18246    '''
18247         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
18248     a IdentityAliasUpdateRequest.
18249    '''
18250    __slots__ = [
18251        'identity_alias',
18252        'meta',
18253        'rate_limit',
18254    ]
18255
18256    def __init__(
18257        self,
18258        identity_alias=None,
18259        meta=None,
18260        rate_limit=None,
18261    ):
18262        self.identity_alias = identity_alias if identity_alias is not None else None
18263        '''
18264         The updated IdentityAlias.
18265        '''
18266        self.meta = meta if meta is not None else None
18267        '''
18268         Reserved for future use.
18269        '''
18270        self.rate_limit = rate_limit if rate_limit is not None else None
18271        '''
18272         Rate limit information.
18273        '''
18274
18275    def __repr__(self):
18276        return '<sdm.IdentityAliasUpdateResponse ' + \
18277            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
18278            'meta: ' + repr(self.meta) + ' ' +\
18279            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18280            '>'
18281
18282    def to_dict(self):
18283        return {
18284            'identity_alias': self.identity_alias,
18285            'meta': self.meta,
18286            'rate_limit': self.rate_limit,
18287        }
18288
18289    @classmethod
18290    def from_dict(cls, d):
18291        return cls(
18292            identity_alias=d.get('identity_alias'),
18293            meta=d.get('meta'),
18294            rate_limit=d.get('rate_limit'),
18295        )

IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by a IdentityAliasUpdateRequest.

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
18256    def __init__(
18257        self,
18258        identity_alias=None,
18259        meta=None,
18260        rate_limit=None,
18261    ):
18262        self.identity_alias = identity_alias if identity_alias is not None else None
18263        '''
18264         The updated IdentityAlias.
18265        '''
18266        self.meta = meta if meta is not None else None
18267        '''
18268         Reserved for future use.
18269        '''
18270        self.rate_limit = rate_limit if rate_limit is not None else None
18271        '''
18272         Rate limit information.
18273        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18282    def to_dict(self):
18283        return {
18284            'identity_alias': self.identity_alias,
18285            'meta': self.meta,
18286            'rate_limit': self.rate_limit,
18287        }
@classmethod
def from_dict(cls, d)
18289    @classmethod
18290    def from_dict(cls, d):
18291        return cls(
18292            identity_alias=d.get('identity_alias'),
18293            meta=d.get('meta'),
18294            rate_limit=d.get('rate_limit'),
18295        )
class IdentitySet:
18298class IdentitySet:
18299    '''
18300         A IdentitySet defines a group of identity aliases.
18301    '''
18302    __slots__ = [
18303        'id',
18304        'name',
18305    ]
18306
18307    def __init__(
18308        self,
18309        id=None,
18310        name=None,
18311    ):
18312        self.id = id if id is not None else ''
18313        '''
18314         Unique identifier of the IdentitySet.
18315        '''
18316        self.name = name if name is not None else ''
18317        '''
18318         Unique human-readable name of the IdentitySet.
18319        '''
18320
18321    def __repr__(self):
18322        return '<sdm.IdentitySet ' + \
18323            'id: ' + repr(self.id) + ' ' +\
18324            'name: ' + repr(self.name) + ' ' +\
18325            '>'
18326
18327    def to_dict(self):
18328        return {
18329            'id': self.id,
18330            'name': self.name,
18331        }
18332
18333    @classmethod
18334    def from_dict(cls, d):
18335        return cls(
18336            id=d.get('id'),
18337            name=d.get('name'),
18338        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
18307    def __init__(
18308        self,
18309        id=None,
18310        name=None,
18311    ):
18312        self.id = id if id is not None else ''
18313        '''
18314         Unique identifier of the IdentitySet.
18315        '''
18316        self.name = name if name is not None else ''
18317        '''
18318         Unique human-readable name of the IdentitySet.
18319        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
18327    def to_dict(self):
18328        return {
18329            'id': self.id,
18330            'name': self.name,
18331        }
@classmethod
def from_dict(cls, d)
18333    @classmethod
18334    def from_dict(cls, d):
18335        return cls(
18336            id=d.get('id'),
18337            name=d.get('name'),
18338        )
class IdentitySetCreateResponse:
18341class IdentitySetCreateResponse:
18342    '''
18343         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
18344     communicate partial successes or failures.
18345    '''
18346    __slots__ = [
18347        'identity_set',
18348        'meta',
18349        'rate_limit',
18350    ]
18351
18352    def __init__(
18353        self,
18354        identity_set=None,
18355        meta=None,
18356        rate_limit=None,
18357    ):
18358        self.identity_set = identity_set if identity_set is not None else None
18359        '''
18360         The created IdentitySet.
18361        '''
18362        self.meta = meta if meta is not None else None
18363        '''
18364         Reserved for future use.
18365        '''
18366        self.rate_limit = rate_limit if rate_limit is not None else None
18367        '''
18368         Rate limit information.
18369        '''
18370
18371    def __repr__(self):
18372        return '<sdm.IdentitySetCreateResponse ' + \
18373            'identity_set: ' + repr(self.identity_set) + ' ' +\
18374            'meta: ' + repr(self.meta) + ' ' +\
18375            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18376            '>'
18377
18378    def to_dict(self):
18379        return {
18380            'identity_set': self.identity_set,
18381            'meta': self.meta,
18382            'rate_limit': self.rate_limit,
18383        }
18384
18385    @classmethod
18386    def from_dict(cls, d):
18387        return cls(
18388            identity_set=d.get('identity_set'),
18389            meta=d.get('meta'),
18390            rate_limit=d.get('rate_limit'),
18391        )

IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can communicate partial successes or failures.

IdentitySetCreateResponse(identity_set=None, meta=None, rate_limit=None)
18352    def __init__(
18353        self,
18354        identity_set=None,
18355        meta=None,
18356        rate_limit=None,
18357    ):
18358        self.identity_set = identity_set if identity_set is not None else None
18359        '''
18360         The created IdentitySet.
18361        '''
18362        self.meta = meta if meta is not None else None
18363        '''
18364         Reserved for future use.
18365        '''
18366        self.rate_limit = rate_limit if rate_limit is not None else None
18367        '''
18368         Rate limit information.
18369        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18378    def to_dict(self):
18379        return {
18380            'identity_set': self.identity_set,
18381            'meta': self.meta,
18382            'rate_limit': self.rate_limit,
18383        }
@classmethod
def from_dict(cls, d)
18385    @classmethod
18386    def from_dict(cls, d):
18387        return cls(
18388            identity_set=d.get('identity_set'),
18389            meta=d.get('meta'),
18390            rate_limit=d.get('rate_limit'),
18391        )
class IdentitySetDeleteResponse:
18394class IdentitySetDeleteResponse:
18395    '''
18396         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
18397    '''
18398    __slots__ = [
18399        'meta',
18400        'rate_limit',
18401    ]
18402
18403    def __init__(
18404        self,
18405        meta=None,
18406        rate_limit=None,
18407    ):
18408        self.meta = meta if meta is not None else None
18409        '''
18410         Reserved for future use.
18411        '''
18412        self.rate_limit = rate_limit if rate_limit is not None else None
18413        '''
18414         Rate limit information.
18415        '''
18416
18417    def __repr__(self):
18418        return '<sdm.IdentitySetDeleteResponse ' + \
18419            'meta: ' + repr(self.meta) + ' ' +\
18420            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18421            '>'
18422
18423    def to_dict(self):
18424        return {
18425            'meta': self.meta,
18426            'rate_limit': self.rate_limit,
18427        }
18428
18429    @classmethod
18430    def from_dict(cls, d):
18431        return cls(
18432            meta=d.get('meta'),
18433            rate_limit=d.get('rate_limit'),
18434        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
18403    def __init__(
18404        self,
18405        meta=None,
18406        rate_limit=None,
18407    ):
18408        self.meta = meta if meta is not None else None
18409        '''
18410         Reserved for future use.
18411        '''
18412        self.rate_limit = rate_limit if rate_limit is not None else None
18413        '''
18414         Rate limit information.
18415        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18423    def to_dict(self):
18424        return {
18425            'meta': self.meta,
18426            'rate_limit': self.rate_limit,
18427        }
@classmethod
def from_dict(cls, d)
18429    @classmethod
18430    def from_dict(cls, d):
18431        return cls(
18432            meta=d.get('meta'),
18433            rate_limit=d.get('rate_limit'),
18434        )
class IdentitySetGetResponse:
18437class IdentitySetGetResponse:
18438    '''
18439         IdentitySetGetResponse returns a requested IdentitySet.
18440    '''
18441    __slots__ = [
18442        'identity_set',
18443        'meta',
18444        'rate_limit',
18445    ]
18446
18447    def __init__(
18448        self,
18449        identity_set=None,
18450        meta=None,
18451        rate_limit=None,
18452    ):
18453        self.identity_set = identity_set if identity_set is not None else None
18454        '''
18455         The requested IdentitySet.
18456        '''
18457        self.meta = meta if meta is not None else None
18458        '''
18459         Reserved for future use.
18460        '''
18461        self.rate_limit = rate_limit if rate_limit is not None else None
18462        '''
18463         Rate limit information.
18464        '''
18465
18466    def __repr__(self):
18467        return '<sdm.IdentitySetGetResponse ' + \
18468            'identity_set: ' + repr(self.identity_set) + ' ' +\
18469            'meta: ' + repr(self.meta) + ' ' +\
18470            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18471            '>'
18472
18473    def to_dict(self):
18474        return {
18475            'identity_set': self.identity_set,
18476            'meta': self.meta,
18477            'rate_limit': self.rate_limit,
18478        }
18479
18480    @classmethod
18481    def from_dict(cls, d):
18482        return cls(
18483            identity_set=d.get('identity_set'),
18484            meta=d.get('meta'),
18485            rate_limit=d.get('rate_limit'),
18486        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
18447    def __init__(
18448        self,
18449        identity_set=None,
18450        meta=None,
18451        rate_limit=None,
18452    ):
18453        self.identity_set = identity_set if identity_set is not None else None
18454        '''
18455         The requested IdentitySet.
18456        '''
18457        self.meta = meta if meta is not None else None
18458        '''
18459         Reserved for future use.
18460        '''
18461        self.rate_limit = rate_limit if rate_limit is not None else None
18462        '''
18463         Rate limit information.
18464        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18473    def to_dict(self):
18474        return {
18475            'identity_set': self.identity_set,
18476            'meta': self.meta,
18477            'rate_limit': self.rate_limit,
18478        }
@classmethod
def from_dict(cls, d)
18480    @classmethod
18481    def from_dict(cls, d):
18482        return cls(
18483            identity_set=d.get('identity_set'),
18484            meta=d.get('meta'),
18485            rate_limit=d.get('rate_limit'),
18486        )
class IdentitySetHistory:
18489class IdentitySetHistory:
18490    '''
18491         IdentitySetHistory records the state of a IdentitySet at a given point in time,
18492     where every change (create, update and delete) to a IdentitySet produces an
18493     IdentitySetHistory record.
18494    '''
18495    __slots__ = [
18496        'activity_id',
18497        'deleted_at',
18498        'identity_set',
18499        'timestamp',
18500    ]
18501
18502    def __init__(
18503        self,
18504        activity_id=None,
18505        deleted_at=None,
18506        identity_set=None,
18507        timestamp=None,
18508    ):
18509        self.activity_id = activity_id if activity_id is not None else ''
18510        '''
18511         The unique identifier of the Activity that produced this change to the IdentitySet.
18512         May be empty for some system-initiated updates.
18513        '''
18514        self.deleted_at = deleted_at if deleted_at is not None else None
18515        '''
18516         If this IdentitySet was deleted, the time it was deleted.
18517        '''
18518        self.identity_set = identity_set if identity_set is not None else None
18519        '''
18520         The complete IdentitySet state at this time.
18521        '''
18522        self.timestamp = timestamp if timestamp is not None else None
18523        '''
18524         The time at which the IdentitySet state was recorded.
18525        '''
18526
18527    def __repr__(self):
18528        return '<sdm.IdentitySetHistory ' + \
18529            'activity_id: ' + repr(self.activity_id) + ' ' +\
18530            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
18531            'identity_set: ' + repr(self.identity_set) + ' ' +\
18532            'timestamp: ' + repr(self.timestamp) + ' ' +\
18533            '>'
18534
18535    def to_dict(self):
18536        return {
18537            'activity_id': self.activity_id,
18538            'deleted_at': self.deleted_at,
18539            'identity_set': self.identity_set,
18540            'timestamp': self.timestamp,
18541        }
18542
18543    @classmethod
18544    def from_dict(cls, d):
18545        return cls(
18546            activity_id=d.get('activity_id'),
18547            deleted_at=d.get('deleted_at'),
18548            identity_set=d.get('identity_set'),
18549            timestamp=d.get('timestamp'),
18550        )

IdentitySetHistory records the state of a IdentitySet at a given point in time, where every change (create, update and delete) to a IdentitySet produces an IdentitySetHistory record.

IdentitySetHistory(activity_id=None, deleted_at=None, identity_set=None, timestamp=None)
18502    def __init__(
18503        self,
18504        activity_id=None,
18505        deleted_at=None,
18506        identity_set=None,
18507        timestamp=None,
18508    ):
18509        self.activity_id = activity_id if activity_id is not None else ''
18510        '''
18511         The unique identifier of the Activity that produced this change to the IdentitySet.
18512         May be empty for some system-initiated updates.
18513        '''
18514        self.deleted_at = deleted_at if deleted_at is not None else None
18515        '''
18516         If this IdentitySet was deleted, the time it was deleted.
18517        '''
18518        self.identity_set = identity_set if identity_set is not None else None
18519        '''
18520         The complete IdentitySet state at this time.
18521        '''
18522        self.timestamp = timestamp if timestamp is not None else None
18523        '''
18524         The time at which the IdentitySet state was recorded.
18525        '''
activity_id

The unique identifier of the Activity that produced this change to the IdentitySet. May be empty for some system-initiated updates.

deleted_at

If this IdentitySet was deleted, the time it was deleted.

identity_set

The complete IdentitySet state at this time.

timestamp

The time at which the IdentitySet state was recorded.

def to_dict(self)
18535    def to_dict(self):
18536        return {
18537            'activity_id': self.activity_id,
18538            'deleted_at': self.deleted_at,
18539            'identity_set': self.identity_set,
18540            'timestamp': self.timestamp,
18541        }
@classmethod
def from_dict(cls, d)
18543    @classmethod
18544    def from_dict(cls, d):
18545        return cls(
18546            activity_id=d.get('activity_id'),
18547            deleted_at=d.get('deleted_at'),
18548            identity_set=d.get('identity_set'),
18549            timestamp=d.get('timestamp'),
18550        )
class IdentitySetUpdateResponse:
18553class IdentitySetUpdateResponse:
18554    '''
18555         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
18556     a IdentitySetUpdateRequest.
18557    '''
18558    __slots__ = [
18559        'identity_set',
18560        'meta',
18561        'rate_limit',
18562    ]
18563
18564    def __init__(
18565        self,
18566        identity_set=None,
18567        meta=None,
18568        rate_limit=None,
18569    ):
18570        self.identity_set = identity_set if identity_set is not None else None
18571        '''
18572         The updated IdentitySet.
18573        '''
18574        self.meta = meta if meta is not None else None
18575        '''
18576         Reserved for future use.
18577        '''
18578        self.rate_limit = rate_limit if rate_limit is not None else None
18579        '''
18580         Rate limit information.
18581        '''
18582
18583    def __repr__(self):
18584        return '<sdm.IdentitySetUpdateResponse ' + \
18585            'identity_set: ' + repr(self.identity_set) + ' ' +\
18586            'meta: ' + repr(self.meta) + ' ' +\
18587            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18588            '>'
18589
18590    def to_dict(self):
18591        return {
18592            'identity_set': self.identity_set,
18593            'meta': self.meta,
18594            'rate_limit': self.rate_limit,
18595        }
18596
18597    @classmethod
18598    def from_dict(cls, d):
18599        return cls(
18600            identity_set=d.get('identity_set'),
18601            meta=d.get('meta'),
18602            rate_limit=d.get('rate_limit'),
18603        )

IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by a IdentitySetUpdateRequest.

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
18564    def __init__(
18565        self,
18566        identity_set=None,
18567        meta=None,
18568        rate_limit=None,
18569    ):
18570        self.identity_set = identity_set if identity_set is not None else None
18571        '''
18572         The updated IdentitySet.
18573        '''
18574        self.meta = meta if meta is not None else None
18575        '''
18576         Reserved for future use.
18577        '''
18578        self.rate_limit = rate_limit if rate_limit is not None else None
18579        '''
18580         Rate limit information.
18581        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18590    def to_dict(self):
18591        return {
18592            'identity_set': self.identity_set,
18593            'meta': self.meta,
18594            'rate_limit': self.rate_limit,
18595        }
@classmethod
def from_dict(cls, d)
18597    @classmethod
18598    def from_dict(cls, d):
18599        return cls(
18600            identity_set=d.get('identity_set'),
18601            meta=d.get('meta'),
18602            rate_limit=d.get('rate_limit'),
18603        )
class KeyValueEngine:
18606class KeyValueEngine:
18607    __slots__ = [
18608        'id',
18609        'key_rotation_interval_days',
18610        'name',
18611        'node_selector',
18612        'public_key',
18613        'secret_store_id',
18614        'secret_store_root_path',
18615        'tags',
18616    ]
18617
18618    def __init__(
18619        self,
18620        id=None,
18621        key_rotation_interval_days=None,
18622        name=None,
18623        node_selector=None,
18624        public_key=None,
18625        secret_store_id=None,
18626        secret_store_root_path=None,
18627        tags=None,
18628    ):
18629        self.id = id if id is not None else ''
18630        '''
18631         Unique identifier of the Secret Engine.
18632        '''
18633        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
18634        '''
18635         An interval of public/private key rotation for secret engine in days
18636        '''
18637        self.name = name if name is not None else ''
18638        '''
18639         Unique human-readable name of the Secret Engine.
18640        '''
18641        self.node_selector = node_selector if node_selector is not None else ''
18642        '''
18643         node selector is used to narrow down the nodes used to communicate with with secret engine
18644        '''
18645        self.public_key = public_key if public_key is not None else b''
18646        '''
18647         Public key linked with a secret engine
18648        '''
18649        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18650        '''
18651         Backing secret store identifier
18652        '''
18653        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
18654        '''
18655         Backing Secret Store root path where managed secrets are going to be stored
18656        '''
18657        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18658        '''
18659         Tags is a map of key, value pairs.
18660        '''
18661
18662    def __repr__(self):
18663        return '<sdm.KeyValueEngine ' + \
18664            'id: ' + repr(self.id) + ' ' +\
18665            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
18666            'name: ' + repr(self.name) + ' ' +\
18667            'node_selector: ' + repr(self.node_selector) + ' ' +\
18668            'public_key: ' + repr(self.public_key) + ' ' +\
18669            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18670            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
18671            'tags: ' + repr(self.tags) + ' ' +\
18672            '>'
18673
18674    def to_dict(self):
18675        return {
18676            'id': self.id,
18677            'key_rotation_interval_days': self.key_rotation_interval_days,
18678            'name': self.name,
18679            'node_selector': self.node_selector,
18680            'public_key': self.public_key,
18681            'secret_store_id': self.secret_store_id,
18682            'secret_store_root_path': self.secret_store_root_path,
18683            'tags': self.tags,
18684        }
18685
18686    @classmethod
18687    def from_dict(cls, d):
18688        return cls(
18689            id=d.get('id'),
18690            key_rotation_interval_days=d.get('key_rotation_interval_days'),
18691            name=d.get('name'),
18692            node_selector=d.get('node_selector'),
18693            public_key=d.get('public_key'),
18694            secret_store_id=d.get('secret_store_id'),
18695            secret_store_root_path=d.get('secret_store_root_path'),
18696            tags=d.get('tags'),
18697        )
KeyValueEngine( id=None, key_rotation_interval_days=None, name=None, node_selector=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None)
18618    def __init__(
18619        self,
18620        id=None,
18621        key_rotation_interval_days=None,
18622        name=None,
18623        node_selector=None,
18624        public_key=None,
18625        secret_store_id=None,
18626        secret_store_root_path=None,
18627        tags=None,
18628    ):
18629        self.id = id if id is not None else ''
18630        '''
18631         Unique identifier of the Secret Engine.
18632        '''
18633        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
18634        '''
18635         An interval of public/private key rotation for secret engine in days
18636        '''
18637        self.name = name if name is not None else ''
18638        '''
18639         Unique human-readable name of the Secret Engine.
18640        '''
18641        self.node_selector = node_selector if node_selector is not None else ''
18642        '''
18643         node selector is used to narrow down the nodes used to communicate with with secret engine
18644        '''
18645        self.public_key = public_key if public_key is not None else b''
18646        '''
18647         Public key linked with a secret engine
18648        '''
18649        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18650        '''
18651         Backing secret store identifier
18652        '''
18653        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
18654        '''
18655         Backing Secret Store root path where managed secrets are going to be stored
18656        '''
18657        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18658        '''
18659         Tags is a map of key, value pairs.
18660        '''
id

Unique identifier of the Secret Engine.

key_rotation_interval_days

An interval of public/private key rotation for secret engine in days

name

Unique human-readable name of the Secret Engine.

node_selector

node selector is used to narrow down the nodes used to communicate with with secret engine

public_key

Public key linked with a secret engine

secret_store_id

Backing secret store identifier

secret_store_root_path

Backing Secret Store root path where managed secrets are going to be stored

tags

Tags is a map of key, value pairs.

def to_dict(self)
18674    def to_dict(self):
18675        return {
18676            'id': self.id,
18677            'key_rotation_interval_days': self.key_rotation_interval_days,
18678            'name': self.name,
18679            'node_selector': self.node_selector,
18680            'public_key': self.public_key,
18681            'secret_store_id': self.secret_store_id,
18682            'secret_store_root_path': self.secret_store_root_path,
18683            'tags': self.tags,
18684        }
@classmethod
def from_dict(cls, d)
18686    @classmethod
18687    def from_dict(cls, d):
18688        return cls(
18689            id=d.get('id'),
18690            key_rotation_interval_days=d.get('key_rotation_interval_days'),
18691            name=d.get('name'),
18692            node_selector=d.get('node_selector'),
18693            public_key=d.get('public_key'),
18694            secret_store_id=d.get('secret_store_id'),
18695            secret_store_root_path=d.get('secret_store_root_path'),
18696            tags=d.get('tags'),
18697        )
class KeyfactorSSHStore:
18700class KeyfactorSSHStore:
18701    __slots__ = [
18702        'ca_file_path',
18703        'certificate_file_path',
18704        'default_certificate_authority_name',
18705        'default_certificate_profile_name',
18706        'default_end_entity_profile_name',
18707        'enrollment_code_env_var',
18708        'enrollment_username_env_var',
18709        'id',
18710        'key_file_path',
18711        'name',
18712        'server_address',
18713        'tags',
18714    ]
18715
18716    def __init__(
18717        self,
18718        ca_file_path=None,
18719        certificate_file_path=None,
18720        default_certificate_authority_name=None,
18721        default_certificate_profile_name=None,
18722        default_end_entity_profile_name=None,
18723        enrollment_code_env_var=None,
18724        enrollment_username_env_var=None,
18725        id=None,
18726        key_file_path=None,
18727        name=None,
18728        server_address=None,
18729        tags=None,
18730    ):
18731        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
18732        '''
18733         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
18734         This is not required if the CA is trusted by the host operating system. This should be a PEM
18735         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
18736        '''
18737        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
18738        '''
18739         Path to client certificate in PEM format. This certificate must contain a client certificate that
18740         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
18741         key associated with the certificate, but KeyFile can also be set to configure the private key.
18742        '''
18743        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
18744        '''
18745         Name of EJBCA certificate authority that will enroll CSR.
18746        '''
18747        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
18748        '''
18749         Certificate profile name that EJBCA will enroll the CSR with.
18750        '''
18751        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
18752        '''
18753         End entity profile that EJBCA will enroll the CSR with.
18754        '''
18755        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
18756        '''
18757         code used by EJBCA during enrollment. May be left blank if no code is required.
18758        '''
18759        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
18760        '''
18761         username that used by the EJBCA during enrollment. This can be left out. 
18762         If so, the username must be auto-generated on the Keyfactor side.
18763        '''
18764        self.id = id if id is not None else ''
18765        '''
18766         Unique identifier of the SecretStore.
18767        '''
18768        self.key_file_path = key_file_path if key_file_path is not None else ''
18769        '''
18770         Path to private key in PEM format. This file should contain the private key associated with the
18771         client certificate configured in CertificateFile.
18772        '''
18773        self.name = name if name is not None else ''
18774        '''
18775         Unique human-readable name of the SecretStore.
18776        '''
18777        self.server_address = server_address if server_address is not None else ''
18778        '''
18779         the host of the Key Factor CA
18780        '''
18781        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18782        '''
18783         Tags is a map of key, value pairs.
18784        '''
18785
18786    def __repr__(self):
18787        return '<sdm.KeyfactorSSHStore ' + \
18788            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
18789            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
18790            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
18791            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
18792            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
18793            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
18794            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
18795            'id: ' + repr(self.id) + ' ' +\
18796            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
18797            'name: ' + repr(self.name) + ' ' +\
18798            'server_address: ' + repr(self.server_address) + ' ' +\
18799            'tags: ' + repr(self.tags) + ' ' +\
18800            '>'
18801
18802    def to_dict(self):
18803        return {
18804            'ca_file_path': self.ca_file_path,
18805            'certificate_file_path': self.certificate_file_path,
18806            'default_certificate_authority_name':
18807            self.default_certificate_authority_name,
18808            'default_certificate_profile_name':
18809            self.default_certificate_profile_name,
18810            'default_end_entity_profile_name':
18811            self.default_end_entity_profile_name,
18812            'enrollment_code_env_var': self.enrollment_code_env_var,
18813            'enrollment_username_env_var': self.enrollment_username_env_var,
18814            'id': self.id,
18815            'key_file_path': self.key_file_path,
18816            'name': self.name,
18817            'server_address': self.server_address,
18818            'tags': self.tags,
18819        }
18820
18821    @classmethod
18822    def from_dict(cls, d):
18823        return cls(
18824            ca_file_path=d.get('ca_file_path'),
18825            certificate_file_path=d.get('certificate_file_path'),
18826            default_certificate_authority_name=d.get(
18827                'default_certificate_authority_name'),
18828            default_certificate_profile_name=d.get(
18829                'default_certificate_profile_name'),
18830            default_end_entity_profile_name=d.get(
18831                'default_end_entity_profile_name'),
18832            enrollment_code_env_var=d.get('enrollment_code_env_var'),
18833            enrollment_username_env_var=d.get('enrollment_username_env_var'),
18834            id=d.get('id'),
18835            key_file_path=d.get('key_file_path'),
18836            name=d.get('name'),
18837            server_address=d.get('server_address'),
18838            tags=d.get('tags'),
18839        )
KeyfactorSSHStore( ca_file_path=None, certificate_file_path=None, default_certificate_authority_name=None, default_certificate_profile_name=None, default_end_entity_profile_name=None, enrollment_code_env_var=None, enrollment_username_env_var=None, id=None, key_file_path=None, name=None, server_address=None, tags=None)
18716    def __init__(
18717        self,
18718        ca_file_path=None,
18719        certificate_file_path=None,
18720        default_certificate_authority_name=None,
18721        default_certificate_profile_name=None,
18722        default_end_entity_profile_name=None,
18723        enrollment_code_env_var=None,
18724        enrollment_username_env_var=None,
18725        id=None,
18726        key_file_path=None,
18727        name=None,
18728        server_address=None,
18729        tags=None,
18730    ):
18731        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
18732        '''
18733         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
18734         This is not required if the CA is trusted by the host operating system. This should be a PEM
18735         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
18736        '''
18737        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
18738        '''
18739         Path to client certificate in PEM format. This certificate must contain a client certificate that
18740         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
18741         key associated with the certificate, but KeyFile can also be set to configure the private key.
18742        '''
18743        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
18744        '''
18745         Name of EJBCA certificate authority that will enroll CSR.
18746        '''
18747        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
18748        '''
18749         Certificate profile name that EJBCA will enroll the CSR with.
18750        '''
18751        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
18752        '''
18753         End entity profile that EJBCA will enroll the CSR with.
18754        '''
18755        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
18756        '''
18757         code used by EJBCA during enrollment. May be left blank if no code is required.
18758        '''
18759        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
18760        '''
18761         username that used by the EJBCA during enrollment. This can be left out. 
18762         If so, the username must be auto-generated on the Keyfactor side.
18763        '''
18764        self.id = id if id is not None else ''
18765        '''
18766         Unique identifier of the SecretStore.
18767        '''
18768        self.key_file_path = key_file_path if key_file_path is not None else ''
18769        '''
18770         Path to private key in PEM format. This file should contain the private key associated with the
18771         client certificate configured in CertificateFile.
18772        '''
18773        self.name = name if name is not None else ''
18774        '''
18775         Unique human-readable name of the SecretStore.
18776        '''
18777        self.server_address = server_address if server_address is not None else ''
18778        '''
18779         the host of the Key Factor CA
18780        '''
18781        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18782        '''
18783         Tags is a map of key, value pairs.
18784        '''
ca_file_path

Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.

certificate_file_path

Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.

default_certificate_authority_name

Name of EJBCA certificate authority that will enroll CSR.

default_certificate_profile_name

Certificate profile name that EJBCA will enroll the CSR with.

default_end_entity_profile_name

End entity profile that EJBCA will enroll the CSR with.

enrollment_code_env_var

code used by EJBCA during enrollment. May be left blank if no code is required.

enrollment_username_env_var

username that used by the EJBCA during enrollment. This can be left out. If so, the username must be auto-generated on the Keyfactor side.

id

Unique identifier of the SecretStore.

key_file_path

Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.

name

Unique human-readable name of the SecretStore.

server_address

the host of the Key Factor CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
18802    def to_dict(self):
18803        return {
18804            'ca_file_path': self.ca_file_path,
18805            'certificate_file_path': self.certificate_file_path,
18806            'default_certificate_authority_name':
18807            self.default_certificate_authority_name,
18808            'default_certificate_profile_name':
18809            self.default_certificate_profile_name,
18810            'default_end_entity_profile_name':
18811            self.default_end_entity_profile_name,
18812            'enrollment_code_env_var': self.enrollment_code_env_var,
18813            'enrollment_username_env_var': self.enrollment_username_env_var,
18814            'id': self.id,
18815            'key_file_path': self.key_file_path,
18816            'name': self.name,
18817            'server_address': self.server_address,
18818            'tags': self.tags,
18819        }
@classmethod
def from_dict(cls, d)
18821    @classmethod
18822    def from_dict(cls, d):
18823        return cls(
18824            ca_file_path=d.get('ca_file_path'),
18825            certificate_file_path=d.get('certificate_file_path'),
18826            default_certificate_authority_name=d.get(
18827                'default_certificate_authority_name'),
18828            default_certificate_profile_name=d.get(
18829                'default_certificate_profile_name'),
18830            default_end_entity_profile_name=d.get(
18831                'default_end_entity_profile_name'),
18832            enrollment_code_env_var=d.get('enrollment_code_env_var'),
18833            enrollment_username_env_var=d.get('enrollment_username_env_var'),
18834            id=d.get('id'),
18835            key_file_path=d.get('key_file_path'),
18836            name=d.get('name'),
18837            server_address=d.get('server_address'),
18838            tags=d.get('tags'),
18839        )
class KeyfactorX509Store:
18842class KeyfactorX509Store:
18843    __slots__ = [
18844        'ca_file_path',
18845        'certificate_file_path',
18846        'default_certificate_authority_name',
18847        'default_certificate_profile_name',
18848        'default_end_entity_profile_name',
18849        'enrollment_code_env_var',
18850        'enrollment_username_env_var',
18851        'id',
18852        'key_file_path',
18853        'name',
18854        'server_address',
18855        'tags',
18856    ]
18857
18858    def __init__(
18859        self,
18860        ca_file_path=None,
18861        certificate_file_path=None,
18862        default_certificate_authority_name=None,
18863        default_certificate_profile_name=None,
18864        default_end_entity_profile_name=None,
18865        enrollment_code_env_var=None,
18866        enrollment_username_env_var=None,
18867        id=None,
18868        key_file_path=None,
18869        name=None,
18870        server_address=None,
18871        tags=None,
18872    ):
18873        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
18874        '''
18875         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
18876         This is not required if the CA is trusted by the host operating system. This should be a PEM
18877         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
18878        '''
18879        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
18880        '''
18881         Path to client certificate in PEM format. This certificate must contain a client certificate that
18882         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
18883         key associated with the certificate, but KeyFile can also be set to configure the private key.
18884        '''
18885        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
18886        '''
18887         Name of EJBCA certificate authority that will enroll CSR.
18888        '''
18889        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
18890        '''
18891         Certificate profile name that EJBCA will enroll the CSR with.
18892        '''
18893        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
18894        '''
18895         End entity profile that EJBCA will enroll the CSR with.
18896        '''
18897        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
18898        '''
18899         code used by EJBCA during enrollment. May be left blank if no code is required.
18900        '''
18901        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
18902        '''
18903         username that used by the EJBCA during enrollment. This can be left out. 
18904         If so, the username must be auto-generated on the Keyfactor side.
18905        '''
18906        self.id = id if id is not None else ''
18907        '''
18908         Unique identifier of the SecretStore.
18909        '''
18910        self.key_file_path = key_file_path if key_file_path is not None else ''
18911        '''
18912         Path to private key in PEM format. This file should contain the private key associated with the
18913         client certificate configured in CertificateFile.
18914        '''
18915        self.name = name if name is not None else ''
18916        '''
18917         Unique human-readable name of the SecretStore.
18918        '''
18919        self.server_address = server_address if server_address is not None else ''
18920        '''
18921         the host of the Key Factor CA
18922        '''
18923        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18924        '''
18925         Tags is a map of key, value pairs.
18926        '''
18927
18928    def __repr__(self):
18929        return '<sdm.KeyfactorX509Store ' + \
18930            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
18931            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
18932            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
18933            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
18934            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
18935            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
18936            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
18937            'id: ' + repr(self.id) + ' ' +\
18938            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
18939            'name: ' + repr(self.name) + ' ' +\
18940            'server_address: ' + repr(self.server_address) + ' ' +\
18941            'tags: ' + repr(self.tags) + ' ' +\
18942            '>'
18943
18944    def to_dict(self):
18945        return {
18946            'ca_file_path': self.ca_file_path,
18947            'certificate_file_path': self.certificate_file_path,
18948            'default_certificate_authority_name':
18949            self.default_certificate_authority_name,
18950            'default_certificate_profile_name':
18951            self.default_certificate_profile_name,
18952            'default_end_entity_profile_name':
18953            self.default_end_entity_profile_name,
18954            'enrollment_code_env_var': self.enrollment_code_env_var,
18955            'enrollment_username_env_var': self.enrollment_username_env_var,
18956            'id': self.id,
18957            'key_file_path': self.key_file_path,
18958            'name': self.name,
18959            'server_address': self.server_address,
18960            'tags': self.tags,
18961        }
18962
18963    @classmethod
18964    def from_dict(cls, d):
18965        return cls(
18966            ca_file_path=d.get('ca_file_path'),
18967            certificate_file_path=d.get('certificate_file_path'),
18968            default_certificate_authority_name=d.get(
18969                'default_certificate_authority_name'),
18970            default_certificate_profile_name=d.get(
18971                'default_certificate_profile_name'),
18972            default_end_entity_profile_name=d.get(
18973                'default_end_entity_profile_name'),
18974            enrollment_code_env_var=d.get('enrollment_code_env_var'),
18975            enrollment_username_env_var=d.get('enrollment_username_env_var'),
18976            id=d.get('id'),
18977            key_file_path=d.get('key_file_path'),
18978            name=d.get('name'),
18979            server_address=d.get('server_address'),
18980            tags=d.get('tags'),
18981        )
KeyfactorX509Store( ca_file_path=None, certificate_file_path=None, default_certificate_authority_name=None, default_certificate_profile_name=None, default_end_entity_profile_name=None, enrollment_code_env_var=None, enrollment_username_env_var=None, id=None, key_file_path=None, name=None, server_address=None, tags=None)
18858    def __init__(
18859        self,
18860        ca_file_path=None,
18861        certificate_file_path=None,
18862        default_certificate_authority_name=None,
18863        default_certificate_profile_name=None,
18864        default_end_entity_profile_name=None,
18865        enrollment_code_env_var=None,
18866        enrollment_username_env_var=None,
18867        id=None,
18868        key_file_path=None,
18869        name=None,
18870        server_address=None,
18871        tags=None,
18872    ):
18873        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
18874        '''
18875         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
18876         This is not required if the CA is trusted by the host operating system. This should be a PEM
18877         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
18878        '''
18879        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
18880        '''
18881         Path to client certificate in PEM format. This certificate must contain a client certificate that
18882         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
18883         key associated with the certificate, but KeyFile can also be set to configure the private key.
18884        '''
18885        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
18886        '''
18887         Name of EJBCA certificate authority that will enroll CSR.
18888        '''
18889        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
18890        '''
18891         Certificate profile name that EJBCA will enroll the CSR with.
18892        '''
18893        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
18894        '''
18895         End entity profile that EJBCA will enroll the CSR with.
18896        '''
18897        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
18898        '''
18899         code used by EJBCA during enrollment. May be left blank if no code is required.
18900        '''
18901        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
18902        '''
18903         username that used by the EJBCA during enrollment. This can be left out. 
18904         If so, the username must be auto-generated on the Keyfactor side.
18905        '''
18906        self.id = id if id is not None else ''
18907        '''
18908         Unique identifier of the SecretStore.
18909        '''
18910        self.key_file_path = key_file_path if key_file_path is not None else ''
18911        '''
18912         Path to private key in PEM format. This file should contain the private key associated with the
18913         client certificate configured in CertificateFile.
18914        '''
18915        self.name = name if name is not None else ''
18916        '''
18917         Unique human-readable name of the SecretStore.
18918        '''
18919        self.server_address = server_address if server_address is not None else ''
18920        '''
18921         the host of the Key Factor CA
18922        '''
18923        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18924        '''
18925         Tags is a map of key, value pairs.
18926        '''
ca_file_path

Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.

certificate_file_path

Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.

default_certificate_authority_name

Name of EJBCA certificate authority that will enroll CSR.

default_certificate_profile_name

Certificate profile name that EJBCA will enroll the CSR with.

default_end_entity_profile_name

End entity profile that EJBCA will enroll the CSR with.

enrollment_code_env_var

code used by EJBCA during enrollment. May be left blank if no code is required.

enrollment_username_env_var

username that used by the EJBCA during enrollment. This can be left out. If so, the username must be auto-generated on the Keyfactor side.

id

Unique identifier of the SecretStore.

key_file_path

Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.

name

Unique human-readable name of the SecretStore.

server_address

the host of the Key Factor CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
18944    def to_dict(self):
18945        return {
18946            'ca_file_path': self.ca_file_path,
18947            'certificate_file_path': self.certificate_file_path,
18948            'default_certificate_authority_name':
18949            self.default_certificate_authority_name,
18950            'default_certificate_profile_name':
18951            self.default_certificate_profile_name,
18952            'default_end_entity_profile_name':
18953            self.default_end_entity_profile_name,
18954            'enrollment_code_env_var': self.enrollment_code_env_var,
18955            'enrollment_username_env_var': self.enrollment_username_env_var,
18956            'id': self.id,
18957            'key_file_path': self.key_file_path,
18958            'name': self.name,
18959            'server_address': self.server_address,
18960            'tags': self.tags,
18961        }
@classmethod
def from_dict(cls, d)
18963    @classmethod
18964    def from_dict(cls, d):
18965        return cls(
18966            ca_file_path=d.get('ca_file_path'),
18967            certificate_file_path=d.get('certificate_file_path'),
18968            default_certificate_authority_name=d.get(
18969                'default_certificate_authority_name'),
18970            default_certificate_profile_name=d.get(
18971                'default_certificate_profile_name'),
18972            default_end_entity_profile_name=d.get(
18973                'default_end_entity_profile_name'),
18974            enrollment_code_env_var=d.get('enrollment_code_env_var'),
18975            enrollment_username_env_var=d.get('enrollment_username_env_var'),
18976            id=d.get('id'),
18977            key_file_path=d.get('key_file_path'),
18978            name=d.get('name'),
18979            server_address=d.get('server_address'),
18980            tags=d.get('tags'),
18981        )
class Kubernetes:
18984class Kubernetes:
18985    __slots__ = [
18986        'allow_resource_role_bypass',
18987        'bind_interface',
18988        'certificate_authority',
18989        'client_certificate',
18990        'client_key',
18991        'discovery_enabled',
18992        'discovery_username',
18993        'egress_filter',
18994        'healthcheck_namespace',
18995        'healthy',
18996        'hostname',
18997        'id',
18998        'identity_alias_healthcheck_username',
18999        'identity_set_id',
19000        'name',
19001        'port',
19002        'port_override',
19003        'proxy_cluster_id',
19004        'secret_store_id',
19005        'subdomain',
19006        'tags',
19007    ]
19008
19009    def __init__(
19010        self,
19011        allow_resource_role_bypass=None,
19012        bind_interface=None,
19013        certificate_authority=None,
19014        client_certificate=None,
19015        client_key=None,
19016        discovery_enabled=None,
19017        discovery_username=None,
19018        egress_filter=None,
19019        healthcheck_namespace=None,
19020        healthy=None,
19021        hostname=None,
19022        id=None,
19023        identity_alias_healthcheck_username=None,
19024        identity_set_id=None,
19025        name=None,
19026        port=None,
19027        port_override=None,
19028        proxy_cluster_id=None,
19029        secret_store_id=None,
19030        subdomain=None,
19031        tags=None,
19032    ):
19033        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19034        '''
19035         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19036         when a resource role is not provided.
19037        '''
19038        self.bind_interface = bind_interface if bind_interface is not None else ''
19039        '''
19040         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19041        '''
19042        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19043        '''
19044         The CA to authenticate TLS connections with.
19045        '''
19046        self.client_certificate = client_certificate if client_certificate is not None else ''
19047        '''
19048         The certificate to authenticate TLS connections with.
19049        '''
19050        self.client_key = client_key if client_key is not None else ''
19051        '''
19052         The key to authenticate TLS connections with.
19053        '''
19054        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19055        '''
19056         If true, configures discovery of a cluster to be run from a node.
19057        '''
19058        self.discovery_username = discovery_username if discovery_username is not None else ''
19059        '''
19060         If a cluster is configured for user impersonation, this is the user to impersonate when
19061         running discovery.
19062        '''
19063        self.egress_filter = egress_filter if egress_filter is not None else ''
19064        '''
19065         A filter applied to the routing logic to pin datasource to nodes.
19066        '''
19067        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19068        '''
19069         The path used to check the health of your connection.  Defaults to `default`.
19070        '''
19071        self.healthy = healthy if healthy is not None else False
19072        '''
19073         True if the datasource is reachable and the credentials are valid.
19074        '''
19075        self.hostname = hostname if hostname is not None else ''
19076        '''
19077         The host to dial to initiate a connection from the egress node to this resource.
19078        '''
19079        self.id = id if id is not None else ''
19080        '''
19081         Unique identifier of the Resource.
19082        '''
19083        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19084        '''
19085         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19086        '''
19087        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19088        '''
19089         The ID of the identity set to use for identity connections.
19090        '''
19091        self.name = name if name is not None else ''
19092        '''
19093         Unique human-readable name of the Resource.
19094        '''
19095        self.port = port if port is not None else 0
19096        '''
19097         The port to dial to initiate a connection from the egress node to this resource.
19098        '''
19099        self.port_override = port_override if port_override is not None else 0
19100        '''
19101         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19102        '''
19103        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19104        '''
19105         ID of the proxy cluster for this resource, if any.
19106        '''
19107        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19108        '''
19109         ID of the secret store containing credentials for this resource, if any.
19110        '''
19111        self.subdomain = subdomain if subdomain is not None else ''
19112        '''
19113         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19114        '''
19115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19116        '''
19117         Tags is a map of key, value pairs.
19118        '''
19119
19120    def __repr__(self):
19121        return '<sdm.Kubernetes ' + \
19122            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
19123            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19124            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
19125            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
19126            'client_key: ' + repr(self.client_key) + ' ' +\
19127            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
19128            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
19129            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19130            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19131            'healthy: ' + repr(self.healthy) + ' ' +\
19132            'hostname: ' + repr(self.hostname) + ' ' +\
19133            'id: ' + repr(self.id) + ' ' +\
19134            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19135            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19136            'name: ' + repr(self.name) + ' ' +\
19137            'port: ' + repr(self.port) + ' ' +\
19138            'port_override: ' + repr(self.port_override) + ' ' +\
19139            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19140            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19141            'subdomain: ' + repr(self.subdomain) + ' ' +\
19142            'tags: ' + repr(self.tags) + ' ' +\
19143            '>'
19144
19145    def to_dict(self):
19146        return {
19147            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19148            'bind_interface': self.bind_interface,
19149            'certificate_authority': self.certificate_authority,
19150            'client_certificate': self.client_certificate,
19151            'client_key': self.client_key,
19152            'discovery_enabled': self.discovery_enabled,
19153            'discovery_username': self.discovery_username,
19154            'egress_filter': self.egress_filter,
19155            'healthcheck_namespace': self.healthcheck_namespace,
19156            'healthy': self.healthy,
19157            'hostname': self.hostname,
19158            'id': self.id,
19159            'identity_alias_healthcheck_username':
19160            self.identity_alias_healthcheck_username,
19161            'identity_set_id': self.identity_set_id,
19162            'name': self.name,
19163            'port': self.port,
19164            'port_override': self.port_override,
19165            'proxy_cluster_id': self.proxy_cluster_id,
19166            'secret_store_id': self.secret_store_id,
19167            'subdomain': self.subdomain,
19168            'tags': self.tags,
19169        }
19170
19171    @classmethod
19172    def from_dict(cls, d):
19173        return cls(
19174            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19175            bind_interface=d.get('bind_interface'),
19176            certificate_authority=d.get('certificate_authority'),
19177            client_certificate=d.get('client_certificate'),
19178            client_key=d.get('client_key'),
19179            discovery_enabled=d.get('discovery_enabled'),
19180            discovery_username=d.get('discovery_username'),
19181            egress_filter=d.get('egress_filter'),
19182            healthcheck_namespace=d.get('healthcheck_namespace'),
19183            healthy=d.get('healthy'),
19184            hostname=d.get('hostname'),
19185            id=d.get('id'),
19186            identity_alias_healthcheck_username=d.get(
19187                'identity_alias_healthcheck_username'),
19188            identity_set_id=d.get('identity_set_id'),
19189            name=d.get('name'),
19190            port=d.get('port'),
19191            port_override=d.get('port_override'),
19192            proxy_cluster_id=d.get('proxy_cluster_id'),
19193            secret_store_id=d.get('secret_store_id'),
19194            subdomain=d.get('subdomain'),
19195            tags=d.get('tags'),
19196        )
Kubernetes( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
19009    def __init__(
19010        self,
19011        allow_resource_role_bypass=None,
19012        bind_interface=None,
19013        certificate_authority=None,
19014        client_certificate=None,
19015        client_key=None,
19016        discovery_enabled=None,
19017        discovery_username=None,
19018        egress_filter=None,
19019        healthcheck_namespace=None,
19020        healthy=None,
19021        hostname=None,
19022        id=None,
19023        identity_alias_healthcheck_username=None,
19024        identity_set_id=None,
19025        name=None,
19026        port=None,
19027        port_override=None,
19028        proxy_cluster_id=None,
19029        secret_store_id=None,
19030        subdomain=None,
19031        tags=None,
19032    ):
19033        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19034        '''
19035         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19036         when a resource role is not provided.
19037        '''
19038        self.bind_interface = bind_interface if bind_interface is not None else ''
19039        '''
19040         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19041        '''
19042        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19043        '''
19044         The CA to authenticate TLS connections with.
19045        '''
19046        self.client_certificate = client_certificate if client_certificate is not None else ''
19047        '''
19048         The certificate to authenticate TLS connections with.
19049        '''
19050        self.client_key = client_key if client_key is not None else ''
19051        '''
19052         The key to authenticate TLS connections with.
19053        '''
19054        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19055        '''
19056         If true, configures discovery of a cluster to be run from a node.
19057        '''
19058        self.discovery_username = discovery_username if discovery_username is not None else ''
19059        '''
19060         If a cluster is configured for user impersonation, this is the user to impersonate when
19061         running discovery.
19062        '''
19063        self.egress_filter = egress_filter if egress_filter is not None else ''
19064        '''
19065         A filter applied to the routing logic to pin datasource to nodes.
19066        '''
19067        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19068        '''
19069         The path used to check the health of your connection.  Defaults to `default`.
19070        '''
19071        self.healthy = healthy if healthy is not None else False
19072        '''
19073         True if the datasource is reachable and the credentials are valid.
19074        '''
19075        self.hostname = hostname if hostname is not None else ''
19076        '''
19077         The host to dial to initiate a connection from the egress node to this resource.
19078        '''
19079        self.id = id if id is not None else ''
19080        '''
19081         Unique identifier of the Resource.
19082        '''
19083        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19084        '''
19085         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19086        '''
19087        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19088        '''
19089         The ID of the identity set to use for identity connections.
19090        '''
19091        self.name = name if name is not None else ''
19092        '''
19093         Unique human-readable name of the Resource.
19094        '''
19095        self.port = port if port is not None else 0
19096        '''
19097         The port to dial to initiate a connection from the egress node to this resource.
19098        '''
19099        self.port_override = port_override if port_override is not None else 0
19100        '''
19101         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19102        '''
19103        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19104        '''
19105         ID of the proxy cluster for this resource, if any.
19106        '''
19107        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19108        '''
19109         ID of the secret store containing credentials for this resource, if any.
19110        '''
19111        self.subdomain = subdomain if subdomain is not None else ''
19112        '''
19113         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19114        '''
19115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19116        '''
19117         Tags is a map of key, value pairs.
19118        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
19145    def to_dict(self):
19146        return {
19147            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19148            'bind_interface': self.bind_interface,
19149            'certificate_authority': self.certificate_authority,
19150            'client_certificate': self.client_certificate,
19151            'client_key': self.client_key,
19152            'discovery_enabled': self.discovery_enabled,
19153            'discovery_username': self.discovery_username,
19154            'egress_filter': self.egress_filter,
19155            'healthcheck_namespace': self.healthcheck_namespace,
19156            'healthy': self.healthy,
19157            'hostname': self.hostname,
19158            'id': self.id,
19159            'identity_alias_healthcheck_username':
19160            self.identity_alias_healthcheck_username,
19161            'identity_set_id': self.identity_set_id,
19162            'name': self.name,
19163            'port': self.port,
19164            'port_override': self.port_override,
19165            'proxy_cluster_id': self.proxy_cluster_id,
19166            'secret_store_id': self.secret_store_id,
19167            'subdomain': self.subdomain,
19168            'tags': self.tags,
19169        }
@classmethod
def from_dict(cls, d)
19171    @classmethod
19172    def from_dict(cls, d):
19173        return cls(
19174            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19175            bind_interface=d.get('bind_interface'),
19176            certificate_authority=d.get('certificate_authority'),
19177            client_certificate=d.get('client_certificate'),
19178            client_key=d.get('client_key'),
19179            discovery_enabled=d.get('discovery_enabled'),
19180            discovery_username=d.get('discovery_username'),
19181            egress_filter=d.get('egress_filter'),
19182            healthcheck_namespace=d.get('healthcheck_namespace'),
19183            healthy=d.get('healthy'),
19184            hostname=d.get('hostname'),
19185            id=d.get('id'),
19186            identity_alias_healthcheck_username=d.get(
19187                'identity_alias_healthcheck_username'),
19188            identity_set_id=d.get('identity_set_id'),
19189            name=d.get('name'),
19190            port=d.get('port'),
19191            port_override=d.get('port_override'),
19192            proxy_cluster_id=d.get('proxy_cluster_id'),
19193            secret_store_id=d.get('secret_store_id'),
19194            subdomain=d.get('subdomain'),
19195            tags=d.get('tags'),
19196        )
class KubernetesBasicAuth:
19199class KubernetesBasicAuth:
19200    '''
19201    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
19202    without a major version bump.
19203    '''
19204    __slots__ = [
19205        'bind_interface',
19206        'egress_filter',
19207        'healthcheck_namespace',
19208        'healthy',
19209        'hostname',
19210        'id',
19211        'name',
19212        'password',
19213        'port',
19214        'port_override',
19215        'proxy_cluster_id',
19216        'secret_store_id',
19217        'subdomain',
19218        'tags',
19219        'username',
19220    ]
19221
19222    def __init__(
19223        self,
19224        bind_interface=None,
19225        egress_filter=None,
19226        healthcheck_namespace=None,
19227        healthy=None,
19228        hostname=None,
19229        id=None,
19230        name=None,
19231        password=None,
19232        port=None,
19233        port_override=None,
19234        proxy_cluster_id=None,
19235        secret_store_id=None,
19236        subdomain=None,
19237        tags=None,
19238        username=None,
19239    ):
19240        self.bind_interface = bind_interface if bind_interface is not None else ''
19241        '''
19242         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19243        '''
19244        self.egress_filter = egress_filter if egress_filter is not None else ''
19245        '''
19246         A filter applied to the routing logic to pin datasource to nodes.
19247        '''
19248        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19249        '''
19250         The path used to check the health of your connection.  Defaults to `default`.
19251        '''
19252        self.healthy = healthy if healthy is not None else False
19253        '''
19254         True if the datasource is reachable and the credentials are valid.
19255        '''
19256        self.hostname = hostname if hostname is not None else ''
19257        '''
19258         The host to dial to initiate a connection from the egress node to this resource.
19259        '''
19260        self.id = id if id is not None else ''
19261        '''
19262         Unique identifier of the Resource.
19263        '''
19264        self.name = name if name is not None else ''
19265        '''
19266         Unique human-readable name of the Resource.
19267        '''
19268        self.password = password if password is not None else ''
19269        '''
19270         The password to authenticate with.
19271        '''
19272        self.port = port if port is not None else 0
19273        '''
19274         The port to dial to initiate a connection from the egress node to this resource.
19275        '''
19276        self.port_override = port_override if port_override is not None else 0
19277        '''
19278         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19279        '''
19280        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19281        '''
19282         ID of the proxy cluster for this resource, if any.
19283        '''
19284        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19285        '''
19286         ID of the secret store containing credentials for this resource, if any.
19287        '''
19288        self.subdomain = subdomain if subdomain is not None else ''
19289        '''
19290         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19291        '''
19292        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19293        '''
19294         Tags is a map of key, value pairs.
19295        '''
19296        self.username = username if username is not None else ''
19297        '''
19298         The username to authenticate with.
19299        '''
19300
19301    def __repr__(self):
19302        return '<sdm.KubernetesBasicAuth ' + \
19303            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19304            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19305            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19306            'healthy: ' + repr(self.healthy) + ' ' +\
19307            'hostname: ' + repr(self.hostname) + ' ' +\
19308            'id: ' + repr(self.id) + ' ' +\
19309            'name: ' + repr(self.name) + ' ' +\
19310            'password: ' + repr(self.password) + ' ' +\
19311            'port: ' + repr(self.port) + ' ' +\
19312            'port_override: ' + repr(self.port_override) + ' ' +\
19313            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19314            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19315            'subdomain: ' + repr(self.subdomain) + ' ' +\
19316            'tags: ' + repr(self.tags) + ' ' +\
19317            'username: ' + repr(self.username) + ' ' +\
19318            '>'
19319
19320    def to_dict(self):
19321        return {
19322            'bind_interface': self.bind_interface,
19323            'egress_filter': self.egress_filter,
19324            'healthcheck_namespace': self.healthcheck_namespace,
19325            'healthy': self.healthy,
19326            'hostname': self.hostname,
19327            'id': self.id,
19328            'name': self.name,
19329            'password': self.password,
19330            'port': self.port,
19331            'port_override': self.port_override,
19332            'proxy_cluster_id': self.proxy_cluster_id,
19333            'secret_store_id': self.secret_store_id,
19334            'subdomain': self.subdomain,
19335            'tags': self.tags,
19336            'username': self.username,
19337        }
19338
19339    @classmethod
19340    def from_dict(cls, d):
19341        return cls(
19342            bind_interface=d.get('bind_interface'),
19343            egress_filter=d.get('egress_filter'),
19344            healthcheck_namespace=d.get('healthcheck_namespace'),
19345            healthy=d.get('healthy'),
19346            hostname=d.get('hostname'),
19347            id=d.get('id'),
19348            name=d.get('name'),
19349            password=d.get('password'),
19350            port=d.get('port'),
19351            port_override=d.get('port_override'),
19352            proxy_cluster_id=d.get('proxy_cluster_id'),
19353            secret_store_id=d.get('secret_store_id'),
19354            subdomain=d.get('subdomain'),
19355            tags=d.get('tags'),
19356            username=d.get('username'),
19357        )

KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump.

KubernetesBasicAuth( bind_interface=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
19222    def __init__(
19223        self,
19224        bind_interface=None,
19225        egress_filter=None,
19226        healthcheck_namespace=None,
19227        healthy=None,
19228        hostname=None,
19229        id=None,
19230        name=None,
19231        password=None,
19232        port=None,
19233        port_override=None,
19234        proxy_cluster_id=None,
19235        secret_store_id=None,
19236        subdomain=None,
19237        tags=None,
19238        username=None,
19239    ):
19240        self.bind_interface = bind_interface if bind_interface is not None else ''
19241        '''
19242         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19243        '''
19244        self.egress_filter = egress_filter if egress_filter is not None else ''
19245        '''
19246         A filter applied to the routing logic to pin datasource to nodes.
19247        '''
19248        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19249        '''
19250         The path used to check the health of your connection.  Defaults to `default`.
19251        '''
19252        self.healthy = healthy if healthy is not None else False
19253        '''
19254         True if the datasource is reachable and the credentials are valid.
19255        '''
19256        self.hostname = hostname if hostname is not None else ''
19257        '''
19258         The host to dial to initiate a connection from the egress node to this resource.
19259        '''
19260        self.id = id if id is not None else ''
19261        '''
19262         Unique identifier of the Resource.
19263        '''
19264        self.name = name if name is not None else ''
19265        '''
19266         Unique human-readable name of the Resource.
19267        '''
19268        self.password = password if password is not None else ''
19269        '''
19270         The password to authenticate with.
19271        '''
19272        self.port = port if port is not None else 0
19273        '''
19274         The port to dial to initiate a connection from the egress node to this resource.
19275        '''
19276        self.port_override = port_override if port_override is not None else 0
19277        '''
19278         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19279        '''
19280        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19281        '''
19282         ID of the proxy cluster for this resource, if any.
19283        '''
19284        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19285        '''
19286         ID of the secret store containing credentials for this resource, if any.
19287        '''
19288        self.subdomain = subdomain if subdomain is not None else ''
19289        '''
19290         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19291        '''
19292        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19293        '''
19294         Tags is a map of key, value pairs.
19295        '''
19296        self.username = username if username is not None else ''
19297        '''
19298         The username to authenticate with.
19299        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
19320    def to_dict(self):
19321        return {
19322            'bind_interface': self.bind_interface,
19323            'egress_filter': self.egress_filter,
19324            'healthcheck_namespace': self.healthcheck_namespace,
19325            'healthy': self.healthy,
19326            'hostname': self.hostname,
19327            'id': self.id,
19328            'name': self.name,
19329            'password': self.password,
19330            'port': self.port,
19331            'port_override': self.port_override,
19332            'proxy_cluster_id': self.proxy_cluster_id,
19333            'secret_store_id': self.secret_store_id,
19334            'subdomain': self.subdomain,
19335            'tags': self.tags,
19336            'username': self.username,
19337        }
@classmethod
def from_dict(cls, d)
19339    @classmethod
19340    def from_dict(cls, d):
19341        return cls(
19342            bind_interface=d.get('bind_interface'),
19343            egress_filter=d.get('egress_filter'),
19344            healthcheck_namespace=d.get('healthcheck_namespace'),
19345            healthy=d.get('healthy'),
19346            hostname=d.get('hostname'),
19347            id=d.get('id'),
19348            name=d.get('name'),
19349            password=d.get('password'),
19350            port=d.get('port'),
19351            port_override=d.get('port_override'),
19352            proxy_cluster_id=d.get('proxy_cluster_id'),
19353            secret_store_id=d.get('secret_store_id'),
19354            subdomain=d.get('subdomain'),
19355            tags=d.get('tags'),
19356            username=d.get('username'),
19357        )
class KubernetesPodIdentity:
19360class KubernetesPodIdentity:
19361    __slots__ = [
19362        'allow_resource_role_bypass',
19363        'bind_interface',
19364        'certificate_authority',
19365        'discovery_enabled',
19366        'discovery_username',
19367        'egress_filter',
19368        'healthcheck_namespace',
19369        'healthy',
19370        'id',
19371        'identity_alias_healthcheck_username',
19372        'identity_set_id',
19373        'name',
19374        'port_override',
19375        'proxy_cluster_id',
19376        'secret_store_id',
19377        'subdomain',
19378        'tags',
19379    ]
19380
19381    def __init__(
19382        self,
19383        allow_resource_role_bypass=None,
19384        bind_interface=None,
19385        certificate_authority=None,
19386        discovery_enabled=None,
19387        discovery_username=None,
19388        egress_filter=None,
19389        healthcheck_namespace=None,
19390        healthy=None,
19391        id=None,
19392        identity_alias_healthcheck_username=None,
19393        identity_set_id=None,
19394        name=None,
19395        port_override=None,
19396        proxy_cluster_id=None,
19397        secret_store_id=None,
19398        subdomain=None,
19399        tags=None,
19400    ):
19401        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19402        '''
19403         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19404         when a resource role is not provided.
19405        '''
19406        self.bind_interface = bind_interface if bind_interface is not None else ''
19407        '''
19408         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19409        '''
19410        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19411        '''
19412         The CA to authenticate TLS connections with.
19413        '''
19414        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19415        '''
19416         If true, configures discovery of a cluster to be run from a node.
19417        '''
19418        self.discovery_username = discovery_username if discovery_username is not None else ''
19419        '''
19420         If a cluster is configured for user impersonation, this is the user to impersonate when
19421         running discovery.
19422        '''
19423        self.egress_filter = egress_filter if egress_filter is not None else ''
19424        '''
19425         A filter applied to the routing logic to pin datasource to nodes.
19426        '''
19427        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19428        '''
19429         The path used to check the health of your connection.  Defaults to `default`.
19430        '''
19431        self.healthy = healthy if healthy is not None else False
19432        '''
19433         True if the datasource is reachable and the credentials are valid.
19434        '''
19435        self.id = id if id is not None else ''
19436        '''
19437         Unique identifier of the Resource.
19438        '''
19439        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19440        '''
19441         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19442        '''
19443        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19444        '''
19445         The ID of the identity set to use for identity connections.
19446        '''
19447        self.name = name if name is not None else ''
19448        '''
19449         Unique human-readable name of the Resource.
19450        '''
19451        self.port_override = port_override if port_override is not None else 0
19452        '''
19453         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19454        '''
19455        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19456        '''
19457         ID of the proxy cluster for this resource, if any.
19458        '''
19459        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19460        '''
19461         ID of the secret store containing credentials for this resource, if any.
19462        '''
19463        self.subdomain = subdomain if subdomain is not None else ''
19464        '''
19465         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19466        '''
19467        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19468        '''
19469         Tags is a map of key, value pairs.
19470        '''
19471
19472    def __repr__(self):
19473        return '<sdm.KubernetesPodIdentity ' + \
19474            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
19475            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19476            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
19477            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
19478            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
19479            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19480            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19481            'healthy: ' + repr(self.healthy) + ' ' +\
19482            'id: ' + repr(self.id) + ' ' +\
19483            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19484            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19485            'name: ' + repr(self.name) + ' ' +\
19486            'port_override: ' + repr(self.port_override) + ' ' +\
19487            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19488            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19489            'subdomain: ' + repr(self.subdomain) + ' ' +\
19490            'tags: ' + repr(self.tags) + ' ' +\
19491            '>'
19492
19493    def to_dict(self):
19494        return {
19495            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19496            'bind_interface': self.bind_interface,
19497            'certificate_authority': self.certificate_authority,
19498            'discovery_enabled': self.discovery_enabled,
19499            'discovery_username': self.discovery_username,
19500            'egress_filter': self.egress_filter,
19501            'healthcheck_namespace': self.healthcheck_namespace,
19502            'healthy': self.healthy,
19503            'id': self.id,
19504            'identity_alias_healthcheck_username':
19505            self.identity_alias_healthcheck_username,
19506            'identity_set_id': self.identity_set_id,
19507            'name': self.name,
19508            'port_override': self.port_override,
19509            'proxy_cluster_id': self.proxy_cluster_id,
19510            'secret_store_id': self.secret_store_id,
19511            'subdomain': self.subdomain,
19512            'tags': self.tags,
19513        }
19514
19515    @classmethod
19516    def from_dict(cls, d):
19517        return cls(
19518            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19519            bind_interface=d.get('bind_interface'),
19520            certificate_authority=d.get('certificate_authority'),
19521            discovery_enabled=d.get('discovery_enabled'),
19522            discovery_username=d.get('discovery_username'),
19523            egress_filter=d.get('egress_filter'),
19524            healthcheck_namespace=d.get('healthcheck_namespace'),
19525            healthy=d.get('healthy'),
19526            id=d.get('id'),
19527            identity_alias_healthcheck_username=d.get(
19528                'identity_alias_healthcheck_username'),
19529            identity_set_id=d.get('identity_set_id'),
19530            name=d.get('name'),
19531            port_override=d.get('port_override'),
19532            proxy_cluster_id=d.get('proxy_cluster_id'),
19533            secret_store_id=d.get('secret_store_id'),
19534            subdomain=d.get('subdomain'),
19535            tags=d.get('tags'),
19536        )
KubernetesPodIdentity( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
19381    def __init__(
19382        self,
19383        allow_resource_role_bypass=None,
19384        bind_interface=None,
19385        certificate_authority=None,
19386        discovery_enabled=None,
19387        discovery_username=None,
19388        egress_filter=None,
19389        healthcheck_namespace=None,
19390        healthy=None,
19391        id=None,
19392        identity_alias_healthcheck_username=None,
19393        identity_set_id=None,
19394        name=None,
19395        port_override=None,
19396        proxy_cluster_id=None,
19397        secret_store_id=None,
19398        subdomain=None,
19399        tags=None,
19400    ):
19401        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19402        '''
19403         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19404         when a resource role is not provided.
19405        '''
19406        self.bind_interface = bind_interface if bind_interface is not None else ''
19407        '''
19408         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19409        '''
19410        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19411        '''
19412         The CA to authenticate TLS connections with.
19413        '''
19414        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19415        '''
19416         If true, configures discovery of a cluster to be run from a node.
19417        '''
19418        self.discovery_username = discovery_username if discovery_username is not None else ''
19419        '''
19420         If a cluster is configured for user impersonation, this is the user to impersonate when
19421         running discovery.
19422        '''
19423        self.egress_filter = egress_filter if egress_filter is not None else ''
19424        '''
19425         A filter applied to the routing logic to pin datasource to nodes.
19426        '''
19427        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19428        '''
19429         The path used to check the health of your connection.  Defaults to `default`.
19430        '''
19431        self.healthy = healthy if healthy is not None else False
19432        '''
19433         True if the datasource is reachable and the credentials are valid.
19434        '''
19435        self.id = id if id is not None else ''
19436        '''
19437         Unique identifier of the Resource.
19438        '''
19439        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19440        '''
19441         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19442        '''
19443        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19444        '''
19445         The ID of the identity set to use for identity connections.
19446        '''
19447        self.name = name if name is not None else ''
19448        '''
19449         Unique human-readable name of the Resource.
19450        '''
19451        self.port_override = port_override if port_override is not None else 0
19452        '''
19453         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19454        '''
19455        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19456        '''
19457         ID of the proxy cluster for this resource, if any.
19458        '''
19459        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19460        '''
19461         ID of the secret store containing credentials for this resource, if any.
19462        '''
19463        self.subdomain = subdomain if subdomain is not None else ''
19464        '''
19465         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19466        '''
19467        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19468        '''
19469         Tags is a map of key, value pairs.
19470        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
19493    def to_dict(self):
19494        return {
19495            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19496            'bind_interface': self.bind_interface,
19497            'certificate_authority': self.certificate_authority,
19498            'discovery_enabled': self.discovery_enabled,
19499            'discovery_username': self.discovery_username,
19500            'egress_filter': self.egress_filter,
19501            'healthcheck_namespace': self.healthcheck_namespace,
19502            'healthy': self.healthy,
19503            'id': self.id,
19504            'identity_alias_healthcheck_username':
19505            self.identity_alias_healthcheck_username,
19506            'identity_set_id': self.identity_set_id,
19507            'name': self.name,
19508            'port_override': self.port_override,
19509            'proxy_cluster_id': self.proxy_cluster_id,
19510            'secret_store_id': self.secret_store_id,
19511            'subdomain': self.subdomain,
19512            'tags': self.tags,
19513        }
@classmethod
def from_dict(cls, d)
19515    @classmethod
19516    def from_dict(cls, d):
19517        return cls(
19518            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19519            bind_interface=d.get('bind_interface'),
19520            certificate_authority=d.get('certificate_authority'),
19521            discovery_enabled=d.get('discovery_enabled'),
19522            discovery_username=d.get('discovery_username'),
19523            egress_filter=d.get('egress_filter'),
19524            healthcheck_namespace=d.get('healthcheck_namespace'),
19525            healthy=d.get('healthy'),
19526            id=d.get('id'),
19527            identity_alias_healthcheck_username=d.get(
19528                'identity_alias_healthcheck_username'),
19529            identity_set_id=d.get('identity_set_id'),
19530            name=d.get('name'),
19531            port_override=d.get('port_override'),
19532            proxy_cluster_id=d.get('proxy_cluster_id'),
19533            secret_store_id=d.get('secret_store_id'),
19534            subdomain=d.get('subdomain'),
19535            tags=d.get('tags'),
19536        )
class KubernetesServiceAccount:
19539class KubernetesServiceAccount:
19540    __slots__ = [
19541        'allow_resource_role_bypass',
19542        'bind_interface',
19543        'discovery_enabled',
19544        'discovery_username',
19545        'egress_filter',
19546        'healthcheck_namespace',
19547        'healthy',
19548        'hostname',
19549        'id',
19550        'identity_alias_healthcheck_username',
19551        'identity_set_id',
19552        'name',
19553        'port',
19554        'port_override',
19555        'proxy_cluster_id',
19556        'secret_store_id',
19557        'subdomain',
19558        'tags',
19559        'token',
19560    ]
19561
19562    def __init__(
19563        self,
19564        allow_resource_role_bypass=None,
19565        bind_interface=None,
19566        discovery_enabled=None,
19567        discovery_username=None,
19568        egress_filter=None,
19569        healthcheck_namespace=None,
19570        healthy=None,
19571        hostname=None,
19572        id=None,
19573        identity_alias_healthcheck_username=None,
19574        identity_set_id=None,
19575        name=None,
19576        port=None,
19577        port_override=None,
19578        proxy_cluster_id=None,
19579        secret_store_id=None,
19580        subdomain=None,
19581        tags=None,
19582        token=None,
19583    ):
19584        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19585        '''
19586         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19587         when a resource role is not provided.
19588        '''
19589        self.bind_interface = bind_interface if bind_interface is not None else ''
19590        '''
19591         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19592        '''
19593        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19594        '''
19595         If true, configures discovery of a cluster to be run from a node.
19596        '''
19597        self.discovery_username = discovery_username if discovery_username is not None else ''
19598        '''
19599         If a cluster is configured for user impersonation, this is the user to impersonate when
19600         running discovery.
19601        '''
19602        self.egress_filter = egress_filter if egress_filter is not None else ''
19603        '''
19604         A filter applied to the routing logic to pin datasource to nodes.
19605        '''
19606        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19607        '''
19608         The path used to check the health of your connection.  Defaults to `default`.
19609        '''
19610        self.healthy = healthy if healthy is not None else False
19611        '''
19612         True if the datasource is reachable and the credentials are valid.
19613        '''
19614        self.hostname = hostname if hostname is not None else ''
19615        '''
19616         The host to dial to initiate a connection from the egress node to this resource.
19617        '''
19618        self.id = id if id is not None else ''
19619        '''
19620         Unique identifier of the Resource.
19621        '''
19622        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19623        '''
19624         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19625        '''
19626        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19627        '''
19628         The ID of the identity set to use for identity connections.
19629        '''
19630        self.name = name if name is not None else ''
19631        '''
19632         Unique human-readable name of the Resource.
19633        '''
19634        self.port = port if port is not None else 0
19635        '''
19636         The port to dial to initiate a connection from the egress node to this resource.
19637        '''
19638        self.port_override = port_override if port_override is not None else 0
19639        '''
19640         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19641        '''
19642        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19643        '''
19644         ID of the proxy cluster for this resource, if any.
19645        '''
19646        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19647        '''
19648         ID of the secret store containing credentials for this resource, if any.
19649        '''
19650        self.subdomain = subdomain if subdomain is not None else ''
19651        '''
19652         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19653        '''
19654        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19655        '''
19656         Tags is a map of key, value pairs.
19657        '''
19658        self.token = token if token is not None else ''
19659        '''
19660         The API token to authenticate with.
19661        '''
19662
19663    def __repr__(self):
19664        return '<sdm.KubernetesServiceAccount ' + \
19665            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
19666            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19667            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
19668            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
19669            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19670            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19671            'healthy: ' + repr(self.healthy) + ' ' +\
19672            'hostname: ' + repr(self.hostname) + ' ' +\
19673            'id: ' + repr(self.id) + ' ' +\
19674            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19675            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19676            'name: ' + repr(self.name) + ' ' +\
19677            'port: ' + repr(self.port) + ' ' +\
19678            'port_override: ' + repr(self.port_override) + ' ' +\
19679            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19680            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19681            'subdomain: ' + repr(self.subdomain) + ' ' +\
19682            'tags: ' + repr(self.tags) + ' ' +\
19683            'token: ' + repr(self.token) + ' ' +\
19684            '>'
19685
19686    def to_dict(self):
19687        return {
19688            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19689            'bind_interface': self.bind_interface,
19690            'discovery_enabled': self.discovery_enabled,
19691            'discovery_username': self.discovery_username,
19692            'egress_filter': self.egress_filter,
19693            'healthcheck_namespace': self.healthcheck_namespace,
19694            'healthy': self.healthy,
19695            'hostname': self.hostname,
19696            'id': self.id,
19697            'identity_alias_healthcheck_username':
19698            self.identity_alias_healthcheck_username,
19699            'identity_set_id': self.identity_set_id,
19700            'name': self.name,
19701            'port': self.port,
19702            'port_override': self.port_override,
19703            'proxy_cluster_id': self.proxy_cluster_id,
19704            'secret_store_id': self.secret_store_id,
19705            'subdomain': self.subdomain,
19706            'tags': self.tags,
19707            'token': self.token,
19708        }
19709
19710    @classmethod
19711    def from_dict(cls, d):
19712        return cls(
19713            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19714            bind_interface=d.get('bind_interface'),
19715            discovery_enabled=d.get('discovery_enabled'),
19716            discovery_username=d.get('discovery_username'),
19717            egress_filter=d.get('egress_filter'),
19718            healthcheck_namespace=d.get('healthcheck_namespace'),
19719            healthy=d.get('healthy'),
19720            hostname=d.get('hostname'),
19721            id=d.get('id'),
19722            identity_alias_healthcheck_username=d.get(
19723                'identity_alias_healthcheck_username'),
19724            identity_set_id=d.get('identity_set_id'),
19725            name=d.get('name'),
19726            port=d.get('port'),
19727            port_override=d.get('port_override'),
19728            proxy_cluster_id=d.get('proxy_cluster_id'),
19729            secret_store_id=d.get('secret_store_id'),
19730            subdomain=d.get('subdomain'),
19731            tags=d.get('tags'),
19732            token=d.get('token'),
19733        )
KubernetesServiceAccount( allow_resource_role_bypass=None, bind_interface=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, token=None)
19562    def __init__(
19563        self,
19564        allow_resource_role_bypass=None,
19565        bind_interface=None,
19566        discovery_enabled=None,
19567        discovery_username=None,
19568        egress_filter=None,
19569        healthcheck_namespace=None,
19570        healthy=None,
19571        hostname=None,
19572        id=None,
19573        identity_alias_healthcheck_username=None,
19574        identity_set_id=None,
19575        name=None,
19576        port=None,
19577        port_override=None,
19578        proxy_cluster_id=None,
19579        secret_store_id=None,
19580        subdomain=None,
19581        tags=None,
19582        token=None,
19583    ):
19584        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
19585        '''
19586         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
19587         when a resource role is not provided.
19588        '''
19589        self.bind_interface = bind_interface if bind_interface is not None else ''
19590        '''
19591         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19592        '''
19593        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
19594        '''
19595         If true, configures discovery of a cluster to be run from a node.
19596        '''
19597        self.discovery_username = discovery_username if discovery_username is not None else ''
19598        '''
19599         If a cluster is configured for user impersonation, this is the user to impersonate when
19600         running discovery.
19601        '''
19602        self.egress_filter = egress_filter if egress_filter is not None else ''
19603        '''
19604         A filter applied to the routing logic to pin datasource to nodes.
19605        '''
19606        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19607        '''
19608         The path used to check the health of your connection.  Defaults to `default`.
19609        '''
19610        self.healthy = healthy if healthy is not None else False
19611        '''
19612         True if the datasource is reachable and the credentials are valid.
19613        '''
19614        self.hostname = hostname if hostname is not None else ''
19615        '''
19616         The host to dial to initiate a connection from the egress node to this resource.
19617        '''
19618        self.id = id if id is not None else ''
19619        '''
19620         Unique identifier of the Resource.
19621        '''
19622        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19623        '''
19624         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19625        '''
19626        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19627        '''
19628         The ID of the identity set to use for identity connections.
19629        '''
19630        self.name = name if name is not None else ''
19631        '''
19632         Unique human-readable name of the Resource.
19633        '''
19634        self.port = port if port is not None else 0
19635        '''
19636         The port to dial to initiate a connection from the egress node to this resource.
19637        '''
19638        self.port_override = port_override if port_override is not None else 0
19639        '''
19640         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19641        '''
19642        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19643        '''
19644         ID of the proxy cluster for this resource, if any.
19645        '''
19646        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19647        '''
19648         ID of the secret store containing credentials for this resource, if any.
19649        '''
19650        self.subdomain = subdomain if subdomain is not None else ''
19651        '''
19652         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19653        '''
19654        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19655        '''
19656         Tags is a map of key, value pairs.
19657        '''
19658        self.token = token if token is not None else ''
19659        '''
19660         The API token to authenticate with.
19661        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
19686    def to_dict(self):
19687        return {
19688            'allow_resource_role_bypass': self.allow_resource_role_bypass,
19689            'bind_interface': self.bind_interface,
19690            'discovery_enabled': self.discovery_enabled,
19691            'discovery_username': self.discovery_username,
19692            'egress_filter': self.egress_filter,
19693            'healthcheck_namespace': self.healthcheck_namespace,
19694            'healthy': self.healthy,
19695            'hostname': self.hostname,
19696            'id': self.id,
19697            'identity_alias_healthcheck_username':
19698            self.identity_alias_healthcheck_username,
19699            'identity_set_id': self.identity_set_id,
19700            'name': self.name,
19701            'port': self.port,
19702            'port_override': self.port_override,
19703            'proxy_cluster_id': self.proxy_cluster_id,
19704            'secret_store_id': self.secret_store_id,
19705            'subdomain': self.subdomain,
19706            'tags': self.tags,
19707            'token': self.token,
19708        }
@classmethod
def from_dict(cls, d)
19710    @classmethod
19711    def from_dict(cls, d):
19712        return cls(
19713            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
19714            bind_interface=d.get('bind_interface'),
19715            discovery_enabled=d.get('discovery_enabled'),
19716            discovery_username=d.get('discovery_username'),
19717            egress_filter=d.get('egress_filter'),
19718            healthcheck_namespace=d.get('healthcheck_namespace'),
19719            healthy=d.get('healthy'),
19720            hostname=d.get('hostname'),
19721            id=d.get('id'),
19722            identity_alias_healthcheck_username=d.get(
19723                'identity_alias_healthcheck_username'),
19724            identity_set_id=d.get('identity_set_id'),
19725            name=d.get('name'),
19726            port=d.get('port'),
19727            port_override=d.get('port_override'),
19728            proxy_cluster_id=d.get('proxy_cluster_id'),
19729            secret_store_id=d.get('secret_store_id'),
19730            subdomain=d.get('subdomain'),
19731            tags=d.get('tags'),
19732            token=d.get('token'),
19733        )
class KubernetesServiceAccountUserImpersonation:
19736class KubernetesServiceAccountUserImpersonation:
19737    '''
19738    KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
19739    '''
19740    __slots__ = [
19741        'bind_interface',
19742        'egress_filter',
19743        'healthcheck_namespace',
19744        'healthy',
19745        'hostname',
19746        'id',
19747        'name',
19748        'port',
19749        'port_override',
19750        'proxy_cluster_id',
19751        'secret_store_id',
19752        'subdomain',
19753        'tags',
19754        'token',
19755    ]
19756
19757    def __init__(
19758        self,
19759        bind_interface=None,
19760        egress_filter=None,
19761        healthcheck_namespace=None,
19762        healthy=None,
19763        hostname=None,
19764        id=None,
19765        name=None,
19766        port=None,
19767        port_override=None,
19768        proxy_cluster_id=None,
19769        secret_store_id=None,
19770        subdomain=None,
19771        tags=None,
19772        token=None,
19773    ):
19774        self.bind_interface = bind_interface if bind_interface is not None else ''
19775        '''
19776         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19777        '''
19778        self.egress_filter = egress_filter if egress_filter is not None else ''
19779        '''
19780         A filter applied to the routing logic to pin datasource to nodes.
19781        '''
19782        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19783        '''
19784         The path used to check the health of your connection.  Defaults to `default`.
19785        '''
19786        self.healthy = healthy if healthy is not None else False
19787        '''
19788         True if the datasource is reachable and the credentials are valid.
19789        '''
19790        self.hostname = hostname if hostname is not None else ''
19791        '''
19792         The host to dial to initiate a connection from the egress node to this resource.
19793        '''
19794        self.id = id if id is not None else ''
19795        '''
19796         Unique identifier of the Resource.
19797        '''
19798        self.name = name if name is not None else ''
19799        '''
19800         Unique human-readable name of the Resource.
19801        '''
19802        self.port = port if port is not None else 0
19803        '''
19804         The port to dial to initiate a connection from the egress node to this resource.
19805        '''
19806        self.port_override = port_override if port_override is not None else 0
19807        '''
19808         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19809        '''
19810        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19811        '''
19812         ID of the proxy cluster for this resource, if any.
19813        '''
19814        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19815        '''
19816         ID of the secret store containing credentials for this resource, if any.
19817        '''
19818        self.subdomain = subdomain if subdomain is not None else ''
19819        '''
19820         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19821        '''
19822        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19823        '''
19824         Tags is a map of key, value pairs.
19825        '''
19826        self.token = token if token is not None else ''
19827        '''
19828         The API token to authenticate with.
19829        '''
19830
19831    def __repr__(self):
19832        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
19833            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19834            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19835            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
19836            'healthy: ' + repr(self.healthy) + ' ' +\
19837            'hostname: ' + repr(self.hostname) + ' ' +\
19838            'id: ' + repr(self.id) + ' ' +\
19839            'name: ' + repr(self.name) + ' ' +\
19840            'port: ' + repr(self.port) + ' ' +\
19841            'port_override: ' + repr(self.port_override) + ' ' +\
19842            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19843            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19844            'subdomain: ' + repr(self.subdomain) + ' ' +\
19845            'tags: ' + repr(self.tags) + ' ' +\
19846            'token: ' + repr(self.token) + ' ' +\
19847            '>'
19848
19849    def to_dict(self):
19850        return {
19851            'bind_interface': self.bind_interface,
19852            'egress_filter': self.egress_filter,
19853            'healthcheck_namespace': self.healthcheck_namespace,
19854            'healthy': self.healthy,
19855            'hostname': self.hostname,
19856            'id': self.id,
19857            'name': self.name,
19858            'port': self.port,
19859            'port_override': self.port_override,
19860            'proxy_cluster_id': self.proxy_cluster_id,
19861            'secret_store_id': self.secret_store_id,
19862            'subdomain': self.subdomain,
19863            'tags': self.tags,
19864            'token': self.token,
19865        }
19866
19867    @classmethod
19868    def from_dict(cls, d):
19869        return cls(
19870            bind_interface=d.get('bind_interface'),
19871            egress_filter=d.get('egress_filter'),
19872            healthcheck_namespace=d.get('healthcheck_namespace'),
19873            healthy=d.get('healthy'),
19874            hostname=d.get('hostname'),
19875            id=d.get('id'),
19876            name=d.get('name'),
19877            port=d.get('port'),
19878            port_override=d.get('port_override'),
19879            proxy_cluster_id=d.get('proxy_cluster_id'),
19880            secret_store_id=d.get('secret_store_id'),
19881            subdomain=d.get('subdomain'),
19882            tags=d.get('tags'),
19883            token=d.get('token'),
19884        )

KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.

KubernetesServiceAccountUserImpersonation( bind_interface=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, token=None)
19757    def __init__(
19758        self,
19759        bind_interface=None,
19760        egress_filter=None,
19761        healthcheck_namespace=None,
19762        healthy=None,
19763        hostname=None,
19764        id=None,
19765        name=None,
19766        port=None,
19767        port_override=None,
19768        proxy_cluster_id=None,
19769        secret_store_id=None,
19770        subdomain=None,
19771        tags=None,
19772        token=None,
19773    ):
19774        self.bind_interface = bind_interface if bind_interface is not None else ''
19775        '''
19776         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19777        '''
19778        self.egress_filter = egress_filter if egress_filter is not None else ''
19779        '''
19780         A filter applied to the routing logic to pin datasource to nodes.
19781        '''
19782        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19783        '''
19784         The path used to check the health of your connection.  Defaults to `default`.
19785        '''
19786        self.healthy = healthy if healthy is not None else False
19787        '''
19788         True if the datasource is reachable and the credentials are valid.
19789        '''
19790        self.hostname = hostname if hostname is not None else ''
19791        '''
19792         The host to dial to initiate a connection from the egress node to this resource.
19793        '''
19794        self.id = id if id is not None else ''
19795        '''
19796         Unique identifier of the Resource.
19797        '''
19798        self.name = name if name is not None else ''
19799        '''
19800         Unique human-readable name of the Resource.
19801        '''
19802        self.port = port if port is not None else 0
19803        '''
19804         The port to dial to initiate a connection from the egress node to this resource.
19805        '''
19806        self.port_override = port_override if port_override is not None else 0
19807        '''
19808         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19809        '''
19810        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19811        '''
19812         ID of the proxy cluster for this resource, if any.
19813        '''
19814        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19815        '''
19816         ID of the secret store containing credentials for this resource, if any.
19817        '''
19818        self.subdomain = subdomain if subdomain is not None else ''
19819        '''
19820         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19821        '''
19822        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19823        '''
19824         Tags is a map of key, value pairs.
19825        '''
19826        self.token = token if token is not None else ''
19827        '''
19828         The API token to authenticate with.
19829        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
19849    def to_dict(self):
19850        return {
19851            'bind_interface': self.bind_interface,
19852            'egress_filter': self.egress_filter,
19853            'healthcheck_namespace': self.healthcheck_namespace,
19854            'healthy': self.healthy,
19855            'hostname': self.hostname,
19856            'id': self.id,
19857            'name': self.name,
19858            'port': self.port,
19859            'port_override': self.port_override,
19860            'proxy_cluster_id': self.proxy_cluster_id,
19861            'secret_store_id': self.secret_store_id,
19862            'subdomain': self.subdomain,
19863            'tags': self.tags,
19864            'token': self.token,
19865        }
@classmethod
def from_dict(cls, d)
19867    @classmethod
19868    def from_dict(cls, d):
19869        return cls(
19870            bind_interface=d.get('bind_interface'),
19871            egress_filter=d.get('egress_filter'),
19872            healthcheck_namespace=d.get('healthcheck_namespace'),
19873            healthy=d.get('healthy'),
19874            hostname=d.get('hostname'),
19875            id=d.get('id'),
19876            name=d.get('name'),
19877            port=d.get('port'),
19878            port_override=d.get('port_override'),
19879            proxy_cluster_id=d.get('proxy_cluster_id'),
19880            secret_store_id=d.get('secret_store_id'),
19881            subdomain=d.get('subdomain'),
19882            tags=d.get('tags'),
19883            token=d.get('token'),
19884        )
class KubernetesUserImpersonation:
19887class KubernetesUserImpersonation:
19888    '''
19889    KubernetesUserImpersonation is deprecated, see docs for more info.
19890    '''
19891    __slots__ = [
19892        'bind_interface',
19893        'certificate_authority',
19894        'client_certificate',
19895        'client_key',
19896        'egress_filter',
19897        'healthcheck_namespace',
19898        'healthy',
19899        'hostname',
19900        'id',
19901        'name',
19902        'port',
19903        'port_override',
19904        'proxy_cluster_id',
19905        'secret_store_id',
19906        'subdomain',
19907        'tags',
19908    ]
19909
19910    def __init__(
19911        self,
19912        bind_interface=None,
19913        certificate_authority=None,
19914        client_certificate=None,
19915        client_key=None,
19916        egress_filter=None,
19917        healthcheck_namespace=None,
19918        healthy=None,
19919        hostname=None,
19920        id=None,
19921        name=None,
19922        port=None,
19923        port_override=None,
19924        proxy_cluster_id=None,
19925        secret_store_id=None,
19926        subdomain=None,
19927        tags=None,
19928    ):
19929        self.bind_interface = bind_interface if bind_interface is not None else ''
19930        '''
19931         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19932        '''
19933        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19934        '''
19935         The CA to authenticate TLS connections with.
19936        '''
19937        self.client_certificate = client_certificate if client_certificate is not None else ''
19938        '''
19939         The certificate to authenticate TLS connections with.
19940        '''
19941        self.client_key = client_key if client_key is not None else ''
19942        '''
19943         The key to authenticate TLS connections with.
19944        '''
19945        self.egress_filter = egress_filter if egress_filter is not None else ''
19946        '''
19947         A filter applied to the routing logic to pin datasource to nodes.
19948        '''
19949        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19950        '''
19951         The path used to check the health of your connection.  Defaults to `default`.
19952        '''
19953        self.healthy = healthy if healthy is not None else False
19954        '''
19955         True if the datasource is reachable and the credentials are valid.
19956        '''
19957        self.hostname = hostname if hostname is not None else ''
19958        '''
19959         The host to dial to initiate a connection from the egress node to this resource.
19960        '''
19961        self.id = id if id is not None else ''
19962        '''
19963         Unique identifier of the Resource.
19964        '''
19965        self.name = name if name is not None else ''
19966        '''
19967         Unique human-readable name of the Resource.
19968        '''
19969        self.port = port if port is not None else 0
19970        '''
19971         The port to dial to initiate a connection from the egress node to this resource.
19972        '''
19973        self.port_override = port_override if port_override is not None else 0
19974        '''
19975         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19976        '''
19977        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19978        '''
19979         ID of the proxy cluster for this resource, if any.
19980        '''
19981        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19982        '''
19983         ID of the secret store containing credentials for this resource, if any.
19984        '''
19985        self.subdomain = subdomain if subdomain is not None else ''
19986        '''
19987         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19988        '''
19989        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19990        '''
19991         Tags is a map of key, value pairs.
19992        '''
19993
19994    def __repr__(self):
19995        return '<sdm.KubernetesUserImpersonation ' + \
19996            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19997            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
19998            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
19999            'client_key: ' + repr(self.client_key) + ' ' +\
20000            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20001            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
20002            'healthy: ' + repr(self.healthy) + ' ' +\
20003            'hostname: ' + repr(self.hostname) + ' ' +\
20004            'id: ' + repr(self.id) + ' ' +\
20005            'name: ' + repr(self.name) + ' ' +\
20006            'port: ' + repr(self.port) + ' ' +\
20007            'port_override: ' + repr(self.port_override) + ' ' +\
20008            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20009            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20010            'subdomain: ' + repr(self.subdomain) + ' ' +\
20011            'tags: ' + repr(self.tags) + ' ' +\
20012            '>'
20013
20014    def to_dict(self):
20015        return {
20016            'bind_interface': self.bind_interface,
20017            'certificate_authority': self.certificate_authority,
20018            'client_certificate': self.client_certificate,
20019            'client_key': self.client_key,
20020            'egress_filter': self.egress_filter,
20021            'healthcheck_namespace': self.healthcheck_namespace,
20022            'healthy': self.healthy,
20023            'hostname': self.hostname,
20024            'id': self.id,
20025            'name': self.name,
20026            'port': self.port,
20027            'port_override': self.port_override,
20028            'proxy_cluster_id': self.proxy_cluster_id,
20029            'secret_store_id': self.secret_store_id,
20030            'subdomain': self.subdomain,
20031            'tags': self.tags,
20032        }
20033
20034    @classmethod
20035    def from_dict(cls, d):
20036        return cls(
20037            bind_interface=d.get('bind_interface'),
20038            certificate_authority=d.get('certificate_authority'),
20039            client_certificate=d.get('client_certificate'),
20040            client_key=d.get('client_key'),
20041            egress_filter=d.get('egress_filter'),
20042            healthcheck_namespace=d.get('healthcheck_namespace'),
20043            healthy=d.get('healthy'),
20044            hostname=d.get('hostname'),
20045            id=d.get('id'),
20046            name=d.get('name'),
20047            port=d.get('port'),
20048            port_override=d.get('port_override'),
20049            proxy_cluster_id=d.get('proxy_cluster_id'),
20050            secret_store_id=d.get('secret_store_id'),
20051            subdomain=d.get('subdomain'),
20052            tags=d.get('tags'),
20053        )

KubernetesUserImpersonation is deprecated, see docs for more info.

KubernetesUserImpersonation( bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
19910    def __init__(
19911        self,
19912        bind_interface=None,
19913        certificate_authority=None,
19914        client_certificate=None,
19915        client_key=None,
19916        egress_filter=None,
19917        healthcheck_namespace=None,
19918        healthy=None,
19919        hostname=None,
19920        id=None,
19921        name=None,
19922        port=None,
19923        port_override=None,
19924        proxy_cluster_id=None,
19925        secret_store_id=None,
19926        subdomain=None,
19927        tags=None,
19928    ):
19929        self.bind_interface = bind_interface if bind_interface is not None else ''
19930        '''
19931         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
19932        '''
19933        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
19934        '''
19935         The CA to authenticate TLS connections with.
19936        '''
19937        self.client_certificate = client_certificate if client_certificate is not None else ''
19938        '''
19939         The certificate to authenticate TLS connections with.
19940        '''
19941        self.client_key = client_key if client_key is not None else ''
19942        '''
19943         The key to authenticate TLS connections with.
19944        '''
19945        self.egress_filter = egress_filter if egress_filter is not None else ''
19946        '''
19947         A filter applied to the routing logic to pin datasource to nodes.
19948        '''
19949        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
19950        '''
19951         The path used to check the health of your connection.  Defaults to `default`.
19952        '''
19953        self.healthy = healthy if healthy is not None else False
19954        '''
19955         True if the datasource is reachable and the credentials are valid.
19956        '''
19957        self.hostname = hostname if hostname is not None else ''
19958        '''
19959         The host to dial to initiate a connection from the egress node to this resource.
19960        '''
19961        self.id = id if id is not None else ''
19962        '''
19963         Unique identifier of the Resource.
19964        '''
19965        self.name = name if name is not None else ''
19966        '''
19967         Unique human-readable name of the Resource.
19968        '''
19969        self.port = port if port is not None else 0
19970        '''
19971         The port to dial to initiate a connection from the egress node to this resource.
19972        '''
19973        self.port_override = port_override if port_override is not None else 0
19974        '''
19975         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
19976        '''
19977        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19978        '''
19979         ID of the proxy cluster for this resource, if any.
19980        '''
19981        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19982        '''
19983         ID of the secret store containing credentials for this resource, if any.
19984        '''
19985        self.subdomain = subdomain if subdomain is not None else ''
19986        '''
19987         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
19988        '''
19989        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19990        '''
19991         Tags is a map of key, value pairs.
19992        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
20014    def to_dict(self):
20015        return {
20016            'bind_interface': self.bind_interface,
20017            'certificate_authority': self.certificate_authority,
20018            'client_certificate': self.client_certificate,
20019            'client_key': self.client_key,
20020            'egress_filter': self.egress_filter,
20021            'healthcheck_namespace': self.healthcheck_namespace,
20022            'healthy': self.healthy,
20023            'hostname': self.hostname,
20024            'id': self.id,
20025            'name': self.name,
20026            'port': self.port,
20027            'port_override': self.port_override,
20028            'proxy_cluster_id': self.proxy_cluster_id,
20029            'secret_store_id': self.secret_store_id,
20030            'subdomain': self.subdomain,
20031            'tags': self.tags,
20032        }
@classmethod
def from_dict(cls, d)
20034    @classmethod
20035    def from_dict(cls, d):
20036        return cls(
20037            bind_interface=d.get('bind_interface'),
20038            certificate_authority=d.get('certificate_authority'),
20039            client_certificate=d.get('client_certificate'),
20040            client_key=d.get('client_key'),
20041            egress_filter=d.get('egress_filter'),
20042            healthcheck_namespace=d.get('healthcheck_namespace'),
20043            healthy=d.get('healthy'),
20044            hostname=d.get('hostname'),
20045            id=d.get('id'),
20046            name=d.get('name'),
20047            port=d.get('port'),
20048            port_override=d.get('port_override'),
20049            proxy_cluster_id=d.get('proxy_cluster_id'),
20050            secret_store_id=d.get('secret_store_id'),
20051            subdomain=d.get('subdomain'),
20052            tags=d.get('tags'),
20053        )
class LLM:
20056class LLM:
20057    '''
20058    LLM is currently unstable, and its API may change, or it may be removed,
20059    without a major version bump.
20060    '''
20061    __slots__ = [
20062        'bind_interface',
20063        'egress_filter',
20064        'healthy',
20065        'id',
20066        'models',
20067        'name',
20068        'password',
20069        'port_override',
20070        'proxy_cluster_id',
20071        'secret_store_id',
20072        'subdomain',
20073        'tags',
20074        'url',
20075    ]
20076
20077    def __init__(
20078        self,
20079        bind_interface=None,
20080        egress_filter=None,
20081        healthy=None,
20082        id=None,
20083        models=None,
20084        name=None,
20085        password=None,
20086        port_override=None,
20087        proxy_cluster_id=None,
20088        secret_store_id=None,
20089        subdomain=None,
20090        tags=None,
20091        url=None,
20092    ):
20093        self.bind_interface = bind_interface if bind_interface is not None else ''
20094        '''
20095         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20096        '''
20097        self.egress_filter = egress_filter if egress_filter is not None else ''
20098        '''
20099         A filter applied to the routing logic to pin datasource to nodes.
20100        '''
20101        self.healthy = healthy if healthy is not None else False
20102        '''
20103         True if the datasource is reachable and the credentials are valid.
20104        '''
20105        self.id = id if id is not None else ''
20106        '''
20107         Unique identifier of the Resource.
20108        '''
20109        self.models = models if models is not None else ''
20110        '''
20111         Space-separated list of model names this resource accepts. Requests for unlisted models are rejected. Leave empty to allow all models.
20112        '''
20113        self.name = name if name is not None else ''
20114        '''
20115         Unique human-readable name of the Resource.
20116        '''
20117        self.password = password if password is not None else ''
20118        '''
20119         The password to authenticate with.
20120        '''
20121        self.port_override = port_override if port_override is not None else 0
20122        '''
20123         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20124        '''
20125        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20126        '''
20127         ID of the proxy cluster for this resource, if any.
20128        '''
20129        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20130        '''
20131         ID of the secret store containing credentials for this resource, if any.
20132        '''
20133        self.subdomain = subdomain if subdomain is not None else ''
20134        '''
20135         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20136        '''
20137        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20138        '''
20139         Tags is a map of key, value pairs.
20140        '''
20141        self.url = url if url is not None else ''
20142        '''
20143         The URL to dial to initiate a connection from the egress node to this resource.
20144        '''
20145
20146    def __repr__(self):
20147        return '<sdm.LLM ' + \
20148            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20149            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20150            'healthy: ' + repr(self.healthy) + ' ' +\
20151            'id: ' + repr(self.id) + ' ' +\
20152            'models: ' + repr(self.models) + ' ' +\
20153            'name: ' + repr(self.name) + ' ' +\
20154            'password: ' + repr(self.password) + ' ' +\
20155            'port_override: ' + repr(self.port_override) + ' ' +\
20156            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20157            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20158            'subdomain: ' + repr(self.subdomain) + ' ' +\
20159            'tags: ' + repr(self.tags) + ' ' +\
20160            'url: ' + repr(self.url) + ' ' +\
20161            '>'
20162
20163    def to_dict(self):
20164        return {
20165            'bind_interface': self.bind_interface,
20166            'egress_filter': self.egress_filter,
20167            'healthy': self.healthy,
20168            'id': self.id,
20169            'models': self.models,
20170            'name': self.name,
20171            'password': self.password,
20172            'port_override': self.port_override,
20173            'proxy_cluster_id': self.proxy_cluster_id,
20174            'secret_store_id': self.secret_store_id,
20175            'subdomain': self.subdomain,
20176            'tags': self.tags,
20177            'url': self.url,
20178        }
20179
20180    @classmethod
20181    def from_dict(cls, d):
20182        return cls(
20183            bind_interface=d.get('bind_interface'),
20184            egress_filter=d.get('egress_filter'),
20185            healthy=d.get('healthy'),
20186            id=d.get('id'),
20187            models=d.get('models'),
20188            name=d.get('name'),
20189            password=d.get('password'),
20190            port_override=d.get('port_override'),
20191            proxy_cluster_id=d.get('proxy_cluster_id'),
20192            secret_store_id=d.get('secret_store_id'),
20193            subdomain=d.get('subdomain'),
20194            tags=d.get('tags'),
20195            url=d.get('url'),
20196        )

LLM is currently unstable, and its API may change, or it may be removed, without a major version bump.

LLM( bind_interface=None, egress_filter=None, healthy=None, id=None, models=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
20077    def __init__(
20078        self,
20079        bind_interface=None,
20080        egress_filter=None,
20081        healthy=None,
20082        id=None,
20083        models=None,
20084        name=None,
20085        password=None,
20086        port_override=None,
20087        proxy_cluster_id=None,
20088        secret_store_id=None,
20089        subdomain=None,
20090        tags=None,
20091        url=None,
20092    ):
20093        self.bind_interface = bind_interface if bind_interface is not None else ''
20094        '''
20095         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20096        '''
20097        self.egress_filter = egress_filter if egress_filter is not None else ''
20098        '''
20099         A filter applied to the routing logic to pin datasource to nodes.
20100        '''
20101        self.healthy = healthy if healthy is not None else False
20102        '''
20103         True if the datasource is reachable and the credentials are valid.
20104        '''
20105        self.id = id if id is not None else ''
20106        '''
20107         Unique identifier of the Resource.
20108        '''
20109        self.models = models if models is not None else ''
20110        '''
20111         Space-separated list of model names this resource accepts. Requests for unlisted models are rejected. Leave empty to allow all models.
20112        '''
20113        self.name = name if name is not None else ''
20114        '''
20115         Unique human-readable name of the Resource.
20116        '''
20117        self.password = password if password is not None else ''
20118        '''
20119         The password to authenticate with.
20120        '''
20121        self.port_override = port_override if port_override is not None else 0
20122        '''
20123         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20124        '''
20125        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20126        '''
20127         ID of the proxy cluster for this resource, if any.
20128        '''
20129        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20130        '''
20131         ID of the secret store containing credentials for this resource, if any.
20132        '''
20133        self.subdomain = subdomain if subdomain is not None else ''
20134        '''
20135         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20136        '''
20137        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20138        '''
20139         Tags is a map of key, value pairs.
20140        '''
20141        self.url = url if url is not None else ''
20142        '''
20143         The URL to dial to initiate a connection from the egress node to this resource.
20144        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

models

Space-separated list of model names this resource accepts. Requests for unlisted models are rejected. Leave empty to allow all models.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

url

The URL to dial to initiate a connection from the egress node to this resource.

def to_dict(self)
20163    def to_dict(self):
20164        return {
20165            'bind_interface': self.bind_interface,
20166            'egress_filter': self.egress_filter,
20167            'healthy': self.healthy,
20168            'id': self.id,
20169            'models': self.models,
20170            'name': self.name,
20171            'password': self.password,
20172            'port_override': self.port_override,
20173            'proxy_cluster_id': self.proxy_cluster_id,
20174            'secret_store_id': self.secret_store_id,
20175            'subdomain': self.subdomain,
20176            'tags': self.tags,
20177            'url': self.url,
20178        }
@classmethod
def from_dict(cls, d)
20180    @classmethod
20181    def from_dict(cls, d):
20182        return cls(
20183            bind_interface=d.get('bind_interface'),
20184            egress_filter=d.get('egress_filter'),
20185            healthy=d.get('healthy'),
20186            id=d.get('id'),
20187            models=d.get('models'),
20188            name=d.get('name'),
20189            password=d.get('password'),
20190            port_override=d.get('port_override'),
20191            proxy_cluster_id=d.get('proxy_cluster_id'),
20192            secret_store_id=d.get('secret_store_id'),
20193            subdomain=d.get('subdomain'),
20194            tags=d.get('tags'),
20195            url=d.get('url'),
20196        )
class LogCategoryConfig:
20199class LogCategoryConfig:
20200    __slots__ = [
20201        'remote_discard_replays',
20202        'remote_encoder',
20203    ]
20204
20205    def __init__(
20206        self,
20207        remote_discard_replays=None,
20208        remote_encoder=None,
20209    ):
20210        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
20211        '''
20212         Indicates if the Organization should exclude replay data from remote logging for the log category.
20213        '''
20214        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
20215        '''
20216         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20217        '''
20218
20219    def __repr__(self):
20220        return '<sdm.LogCategoryConfig ' + \
20221            'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
20222            'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
20223            '>'
20224
20225    def to_dict(self):
20226        return {
20227            'remote_discard_replays': self.remote_discard_replays,
20228            'remote_encoder': self.remote_encoder,
20229        }
20230
20231    @classmethod
20232    def from_dict(cls, d):
20233        return cls(
20234            remote_discard_replays=d.get('remote_discard_replays'),
20235            remote_encoder=d.get('remote_encoder'),
20236        )
LogCategoryConfig(remote_discard_replays=None, remote_encoder=None)
20205    def __init__(
20206        self,
20207        remote_discard_replays=None,
20208        remote_encoder=None,
20209    ):
20210        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
20211        '''
20212         Indicates if the Organization should exclude replay data from remote logging for the log category.
20213        '''
20214        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
20215        '''
20216         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20217        '''
remote_discard_replays

Indicates if the Organization should exclude replay data from remote logging for the log category.

remote_encoder

The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.

def to_dict(self)
20225    def to_dict(self):
20226        return {
20227            'remote_discard_replays': self.remote_discard_replays,
20228            'remote_encoder': self.remote_encoder,
20229        }
@classmethod
def from_dict(cls, d)
20231    @classmethod
20232    def from_dict(cls, d):
20233        return cls(
20234            remote_discard_replays=d.get('remote_discard_replays'),
20235            remote_encoder=d.get('remote_encoder'),
20236        )
class LogConfig:
20239class LogConfig:
20240    __slots__ = [
20241        'categories',
20242        'local_encoder',
20243        'local_format',
20244        'local_socket_path',
20245        'local_storage',
20246        'local_tcp_address',
20247        'public_key',
20248    ]
20249
20250    def __init__(
20251        self,
20252        categories=None,
20253        local_encoder=None,
20254        local_format=None,
20255        local_socket_path=None,
20256        local_storage=None,
20257        local_tcp_address=None,
20258        public_key=None,
20259    ):
20260        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
20261        )
20262        '''
20263         The Organization's log category configuration settings.
20264        '''
20265        self.local_encoder = local_encoder if local_encoder is not None else ''
20266        '''
20267         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20268        '''
20269        self.local_format = local_format if local_format is not None else ''
20270        '''
20271         The Organization's local log format, one of the LogLocalFormat constants.
20272        '''
20273        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
20274        '''
20275         The Organization's local log socket path.
20276        '''
20277        self.local_storage = local_storage if local_storage is not None else ''
20278        '''
20279         The Organization's local log storage, one of the LogLocalStorage constants.
20280        '''
20281        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
20282        '''
20283         The Organization's local log TCP address.
20284        '''
20285        self.public_key = public_key if public_key is not None else ''
20286        '''
20287         The Organization's public key in PEM format for encrypting logs.
20288        '''
20289
20290    def __repr__(self):
20291        return '<sdm.LogConfig ' + \
20292            'categories: ' + repr(self.categories) + ' ' +\
20293            'local_encoder: ' + repr(self.local_encoder) + ' ' +\
20294            'local_format: ' + repr(self.local_format) + ' ' +\
20295            'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
20296            'local_storage: ' + repr(self.local_storage) + ' ' +\
20297            'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
20298            'public_key: ' + repr(self.public_key) + ' ' +\
20299            '>'
20300
20301    def to_dict(self):
20302        return {
20303            'categories': self.categories,
20304            'local_encoder': self.local_encoder,
20305            'local_format': self.local_format,
20306            'local_socket_path': self.local_socket_path,
20307            'local_storage': self.local_storage,
20308            'local_tcp_address': self.local_tcp_address,
20309            'public_key': self.public_key,
20310        }
20311
20312    @classmethod
20313    def from_dict(cls, d):
20314        return cls(
20315            categories=d.get('categories'),
20316            local_encoder=d.get('local_encoder'),
20317            local_format=d.get('local_format'),
20318            local_socket_path=d.get('local_socket_path'),
20319            local_storage=d.get('local_storage'),
20320            local_tcp_address=d.get('local_tcp_address'),
20321            public_key=d.get('public_key'),
20322        )
LogConfig( categories=None, local_encoder=None, local_format=None, local_socket_path=None, local_storage=None, local_tcp_address=None, public_key=None)
20250    def __init__(
20251        self,
20252        categories=None,
20253        local_encoder=None,
20254        local_format=None,
20255        local_socket_path=None,
20256        local_storage=None,
20257        local_tcp_address=None,
20258        public_key=None,
20259    ):
20260        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
20261        )
20262        '''
20263         The Organization's log category configuration settings.
20264        '''
20265        self.local_encoder = local_encoder if local_encoder is not None else ''
20266        '''
20267         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20268        '''
20269        self.local_format = local_format if local_format is not None else ''
20270        '''
20271         The Organization's local log format, one of the LogLocalFormat constants.
20272        '''
20273        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
20274        '''
20275         The Organization's local log socket path.
20276        '''
20277        self.local_storage = local_storage if local_storage is not None else ''
20278        '''
20279         The Organization's local log storage, one of the LogLocalStorage constants.
20280        '''
20281        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
20282        '''
20283         The Organization's local log TCP address.
20284        '''
20285        self.public_key = public_key if public_key is not None else ''
20286        '''
20287         The Organization's public key in PEM format for encrypting logs.
20288        '''
categories

The Organization's log category configuration settings.

local_encoder

The Organization's local log encryption encoder, one of the LogLocalEncoder constants.

local_format

The Organization's local log format, one of the LogLocalFormat constants.

local_socket_path

The Organization's local log socket path.

local_storage

The Organization's local log storage, one of the LogLocalStorage constants.

local_tcp_address

The Organization's local log TCP address.

public_key

The Organization's public key in PEM format for encrypting logs.

def to_dict(self)
20301    def to_dict(self):
20302        return {
20303            'categories': self.categories,
20304            'local_encoder': self.local_encoder,
20305            'local_format': self.local_format,
20306            'local_socket_path': self.local_socket_path,
20307            'local_storage': self.local_storage,
20308            'local_tcp_address': self.local_tcp_address,
20309            'public_key': self.public_key,
20310        }
@classmethod
def from_dict(cls, d)
20312    @classmethod
20313    def from_dict(cls, d):
20314        return cls(
20315            categories=d.get('categories'),
20316            local_encoder=d.get('local_encoder'),
20317            local_format=d.get('local_format'),
20318            local_socket_path=d.get('local_socket_path'),
20319            local_storage=d.get('local_storage'),
20320            local_tcp_address=d.get('local_tcp_address'),
20321            public_key=d.get('public_key'),
20322        )
class MCPGatewayNoAuth:
20325class MCPGatewayNoAuth:
20326    __slots__ = [
20327        'bind_interface',
20328        'egress_filter',
20329        'healthy',
20330        'hostname',
20331        'id',
20332        'name',
20333        'port_override',
20334        'proxy_cluster_id',
20335        'secret_store_id',
20336        'subdomain',
20337        'tags',
20338        'url',
20339    ]
20340
20341    def __init__(
20342        self,
20343        bind_interface=None,
20344        egress_filter=None,
20345        healthy=None,
20346        hostname=None,
20347        id=None,
20348        name=None,
20349        port_override=None,
20350        proxy_cluster_id=None,
20351        secret_store_id=None,
20352        subdomain=None,
20353        tags=None,
20354        url=None,
20355    ):
20356        self.bind_interface = bind_interface if bind_interface is not None else ''
20357        '''
20358         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20359        '''
20360        self.egress_filter = egress_filter if egress_filter is not None else ''
20361        '''
20362         A filter applied to the routing logic to pin datasource to nodes.
20363        '''
20364        self.healthy = healthy if healthy is not None else False
20365        '''
20366         True if the datasource is reachable and the credentials are valid.
20367        '''
20368        self.hostname = hostname if hostname is not None else ''
20369        '''
20370         The host to dial to initiate a connection from the egress node to this resource.
20371        '''
20372        self.id = id if id is not None else ''
20373        '''
20374         Unique identifier of the Resource.
20375        '''
20376        self.name = name if name is not None else ''
20377        '''
20378         Unique human-readable name of the Resource.
20379        '''
20380        self.port_override = port_override if port_override is not None else 0
20381        '''
20382         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20383        '''
20384        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20385        '''
20386         ID of the proxy cluster for this resource, if any.
20387        '''
20388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20389        '''
20390         ID of the secret store containing credentials for this resource, if any.
20391        '''
20392        self.subdomain = subdomain if subdomain is not None else ''
20393        '''
20394         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20395        '''
20396        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20397        '''
20398         Tags is a map of key, value pairs.
20399        '''
20400        self.url = url if url is not None else ''
20401        '''
20402         The URL to dial to initiate a connection from the egress node to this resource.
20403        '''
20404
20405    def __repr__(self):
20406        return '<sdm.MCPGatewayNoAuth ' + \
20407            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20408            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20409            'healthy: ' + repr(self.healthy) + ' ' +\
20410            'hostname: ' + repr(self.hostname) + ' ' +\
20411            'id: ' + repr(self.id) + ' ' +\
20412            'name: ' + repr(self.name) + ' ' +\
20413            'port_override: ' + repr(self.port_override) + ' ' +\
20414            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20415            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20416            'subdomain: ' + repr(self.subdomain) + ' ' +\
20417            'tags: ' + repr(self.tags) + ' ' +\
20418            'url: ' + repr(self.url) + ' ' +\
20419            '>'
20420
20421    def to_dict(self):
20422        return {
20423            'bind_interface': self.bind_interface,
20424            'egress_filter': self.egress_filter,
20425            'healthy': self.healthy,
20426            'hostname': self.hostname,
20427            'id': self.id,
20428            'name': self.name,
20429            'port_override': self.port_override,
20430            'proxy_cluster_id': self.proxy_cluster_id,
20431            'secret_store_id': self.secret_store_id,
20432            'subdomain': self.subdomain,
20433            'tags': self.tags,
20434            'url': self.url,
20435        }
20436
20437    @classmethod
20438    def from_dict(cls, d):
20439        return cls(
20440            bind_interface=d.get('bind_interface'),
20441            egress_filter=d.get('egress_filter'),
20442            healthy=d.get('healthy'),
20443            hostname=d.get('hostname'),
20444            id=d.get('id'),
20445            name=d.get('name'),
20446            port_override=d.get('port_override'),
20447            proxy_cluster_id=d.get('proxy_cluster_id'),
20448            secret_store_id=d.get('secret_store_id'),
20449            subdomain=d.get('subdomain'),
20450            tags=d.get('tags'),
20451            url=d.get('url'),
20452        )
MCPGatewayNoAuth( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
20341    def __init__(
20342        self,
20343        bind_interface=None,
20344        egress_filter=None,
20345        healthy=None,
20346        hostname=None,
20347        id=None,
20348        name=None,
20349        port_override=None,
20350        proxy_cluster_id=None,
20351        secret_store_id=None,
20352        subdomain=None,
20353        tags=None,
20354        url=None,
20355    ):
20356        self.bind_interface = bind_interface if bind_interface is not None else ''
20357        '''
20358         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20359        '''
20360        self.egress_filter = egress_filter if egress_filter is not None else ''
20361        '''
20362         A filter applied to the routing logic to pin datasource to nodes.
20363        '''
20364        self.healthy = healthy if healthy is not None else False
20365        '''
20366         True if the datasource is reachable and the credentials are valid.
20367        '''
20368        self.hostname = hostname if hostname is not None else ''
20369        '''
20370         The host to dial to initiate a connection from the egress node to this resource.
20371        '''
20372        self.id = id if id is not None else ''
20373        '''
20374         Unique identifier of the Resource.
20375        '''
20376        self.name = name if name is not None else ''
20377        '''
20378         Unique human-readable name of the Resource.
20379        '''
20380        self.port_override = port_override if port_override is not None else 0
20381        '''
20382         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20383        '''
20384        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20385        '''
20386         ID of the proxy cluster for this resource, if any.
20387        '''
20388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20389        '''
20390         ID of the secret store containing credentials for this resource, if any.
20391        '''
20392        self.subdomain = subdomain if subdomain is not None else ''
20393        '''
20394         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20395        '''
20396        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20397        '''
20398         Tags is a map of key, value pairs.
20399        '''
20400        self.url = url if url is not None else ''
20401        '''
20402         The URL to dial to initiate a connection from the egress node to this resource.
20403        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

url

The URL to dial to initiate a connection from the egress node to this resource.

def to_dict(self)
20421    def to_dict(self):
20422        return {
20423            'bind_interface': self.bind_interface,
20424            'egress_filter': self.egress_filter,
20425            'healthy': self.healthy,
20426            'hostname': self.hostname,
20427            'id': self.id,
20428            'name': self.name,
20429            'port_override': self.port_override,
20430            'proxy_cluster_id': self.proxy_cluster_id,
20431            'secret_store_id': self.secret_store_id,
20432            'subdomain': self.subdomain,
20433            'tags': self.tags,
20434            'url': self.url,
20435        }
@classmethod
def from_dict(cls, d)
20437    @classmethod
20438    def from_dict(cls, d):
20439        return cls(
20440            bind_interface=d.get('bind_interface'),
20441            egress_filter=d.get('egress_filter'),
20442            healthy=d.get('healthy'),
20443            hostname=d.get('hostname'),
20444            id=d.get('id'),
20445            name=d.get('name'),
20446            port_override=d.get('port_override'),
20447            proxy_cluster_id=d.get('proxy_cluster_id'),
20448            secret_store_id=d.get('secret_store_id'),
20449            subdomain=d.get('subdomain'),
20450            tags=d.get('tags'),
20451            url=d.get('url'),
20452        )
class MCPGatewayOAuth:
20455class MCPGatewayOAuth:
20456    __slots__ = [
20457        'bind_interface',
20458        'egress_filter',
20459        'healthy',
20460        'hostname',
20461        'id',
20462        'name',
20463        'oauth_auth_endpoint',
20464        'oauth_scopes',
20465        'oauth_token_endpoint',
20466        'password',
20467        'port_override',
20468        'proxy_cluster_id',
20469        'secret_store_id',
20470        'subdomain',
20471        'tags',
20472        'url',
20473        'username',
20474    ]
20475
20476    def __init__(
20477        self,
20478        bind_interface=None,
20479        egress_filter=None,
20480        healthy=None,
20481        hostname=None,
20482        id=None,
20483        name=None,
20484        oauth_auth_endpoint=None,
20485        oauth_scopes=None,
20486        oauth_token_endpoint=None,
20487        password=None,
20488        port_override=None,
20489        proxy_cluster_id=None,
20490        secret_store_id=None,
20491        subdomain=None,
20492        tags=None,
20493        url=None,
20494        username=None,
20495    ):
20496        self.bind_interface = bind_interface if bind_interface is not None else ''
20497        '''
20498         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20499        '''
20500        self.egress_filter = egress_filter if egress_filter is not None else ''
20501        '''
20502         A filter applied to the routing logic to pin datasource to nodes.
20503        '''
20504        self.healthy = healthy if healthy is not None else False
20505        '''
20506         True if the datasource is reachable and the credentials are valid.
20507        '''
20508        self.hostname = hostname if hostname is not None else ''
20509        '''
20510         The host to dial to initiate a connection from the egress node to this resource.
20511        '''
20512        self.id = id if id is not None else ''
20513        '''
20514         Unique identifier of the Resource.
20515        '''
20516        self.name = name if name is not None else ''
20517        '''
20518         Unique human-readable name of the Resource.
20519        '''
20520        self.oauth_auth_endpoint = oauth_auth_endpoint if oauth_auth_endpoint is not None else ''
20521        '''
20522         The OAuth 2.0 authorization endpoint URL.
20523        '''
20524        self.oauth_scopes = oauth_scopes if oauth_scopes is not None else ''
20525        '''
20526         Space-separated list of OAuth scopes to request.
20527        '''
20528        self.oauth_token_endpoint = oauth_token_endpoint if oauth_token_endpoint is not None else ''
20529        '''
20530         The OAuth 2.0 token endpoint URL.
20531        '''
20532        self.password = password if password is not None else ''
20533        '''
20534         OAuth App Client Secret
20535        '''
20536        self.port_override = port_override if port_override is not None else 0
20537        '''
20538         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20539        '''
20540        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20541        '''
20542         ID of the proxy cluster for this resource, if any.
20543        '''
20544        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20545        '''
20546         ID of the secret store containing credentials for this resource, if any.
20547        '''
20548        self.subdomain = subdomain if subdomain is not None else ''
20549        '''
20550         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20551        '''
20552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20553        '''
20554         Tags is a map of key, value pairs.
20555        '''
20556        self.url = url if url is not None else ''
20557        '''
20558         The URL to dial to initiate a connection from the egress node to this resource.
20559        '''
20560        self.username = username if username is not None else ''
20561        '''
20562         OAuth App Client ID
20563        '''
20564
20565    def __repr__(self):
20566        return '<sdm.MCPGatewayOAuth ' + \
20567            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20568            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20569            'healthy: ' + repr(self.healthy) + ' ' +\
20570            'hostname: ' + repr(self.hostname) + ' ' +\
20571            'id: ' + repr(self.id) + ' ' +\
20572            'name: ' + repr(self.name) + ' ' +\
20573            'oauth_auth_endpoint: ' + repr(self.oauth_auth_endpoint) + ' ' +\
20574            'oauth_scopes: ' + repr(self.oauth_scopes) + ' ' +\
20575            'oauth_token_endpoint: ' + repr(self.oauth_token_endpoint) + ' ' +\
20576            'password: ' + repr(self.password) + ' ' +\
20577            'port_override: ' + repr(self.port_override) + ' ' +\
20578            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20579            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20580            'subdomain: ' + repr(self.subdomain) + ' ' +\
20581            'tags: ' + repr(self.tags) + ' ' +\
20582            'url: ' + repr(self.url) + ' ' +\
20583            'username: ' + repr(self.username) + ' ' +\
20584            '>'
20585
20586    def to_dict(self):
20587        return {
20588            'bind_interface': self.bind_interface,
20589            'egress_filter': self.egress_filter,
20590            'healthy': self.healthy,
20591            'hostname': self.hostname,
20592            'id': self.id,
20593            'name': self.name,
20594            'oauth_auth_endpoint': self.oauth_auth_endpoint,
20595            'oauth_scopes': self.oauth_scopes,
20596            'oauth_token_endpoint': self.oauth_token_endpoint,
20597            'password': self.password,
20598            'port_override': self.port_override,
20599            'proxy_cluster_id': self.proxy_cluster_id,
20600            'secret_store_id': self.secret_store_id,
20601            'subdomain': self.subdomain,
20602            'tags': self.tags,
20603            'url': self.url,
20604            'username': self.username,
20605        }
20606
20607    @classmethod
20608    def from_dict(cls, d):
20609        return cls(
20610            bind_interface=d.get('bind_interface'),
20611            egress_filter=d.get('egress_filter'),
20612            healthy=d.get('healthy'),
20613            hostname=d.get('hostname'),
20614            id=d.get('id'),
20615            name=d.get('name'),
20616            oauth_auth_endpoint=d.get('oauth_auth_endpoint'),
20617            oauth_scopes=d.get('oauth_scopes'),
20618            oauth_token_endpoint=d.get('oauth_token_endpoint'),
20619            password=d.get('password'),
20620            port_override=d.get('port_override'),
20621            proxy_cluster_id=d.get('proxy_cluster_id'),
20622            secret_store_id=d.get('secret_store_id'),
20623            subdomain=d.get('subdomain'),
20624            tags=d.get('tags'),
20625            url=d.get('url'),
20626            username=d.get('username'),
20627        )
MCPGatewayOAuth( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, oauth_auth_endpoint=None, oauth_scopes=None, oauth_token_endpoint=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None, username=None)
20476    def __init__(
20477        self,
20478        bind_interface=None,
20479        egress_filter=None,
20480        healthy=None,
20481        hostname=None,
20482        id=None,
20483        name=None,
20484        oauth_auth_endpoint=None,
20485        oauth_scopes=None,
20486        oauth_token_endpoint=None,
20487        password=None,
20488        port_override=None,
20489        proxy_cluster_id=None,
20490        secret_store_id=None,
20491        subdomain=None,
20492        tags=None,
20493        url=None,
20494        username=None,
20495    ):
20496        self.bind_interface = bind_interface if bind_interface is not None else ''
20497        '''
20498         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20499        '''
20500        self.egress_filter = egress_filter if egress_filter is not None else ''
20501        '''
20502         A filter applied to the routing logic to pin datasource to nodes.
20503        '''
20504        self.healthy = healthy if healthy is not None else False
20505        '''
20506         True if the datasource is reachable and the credentials are valid.
20507        '''
20508        self.hostname = hostname if hostname is not None else ''
20509        '''
20510         The host to dial to initiate a connection from the egress node to this resource.
20511        '''
20512        self.id = id if id is not None else ''
20513        '''
20514         Unique identifier of the Resource.
20515        '''
20516        self.name = name if name is not None else ''
20517        '''
20518         Unique human-readable name of the Resource.
20519        '''
20520        self.oauth_auth_endpoint = oauth_auth_endpoint if oauth_auth_endpoint is not None else ''
20521        '''
20522         The OAuth 2.0 authorization endpoint URL.
20523        '''
20524        self.oauth_scopes = oauth_scopes if oauth_scopes is not None else ''
20525        '''
20526         Space-separated list of OAuth scopes to request.
20527        '''
20528        self.oauth_token_endpoint = oauth_token_endpoint if oauth_token_endpoint is not None else ''
20529        '''
20530         The OAuth 2.0 token endpoint URL.
20531        '''
20532        self.password = password if password is not None else ''
20533        '''
20534         OAuth App Client Secret
20535        '''
20536        self.port_override = port_override if port_override is not None else 0
20537        '''
20538         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20539        '''
20540        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20541        '''
20542         ID of the proxy cluster for this resource, if any.
20543        '''
20544        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20545        '''
20546         ID of the secret store containing credentials for this resource, if any.
20547        '''
20548        self.subdomain = subdomain if subdomain is not None else ''
20549        '''
20550         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20551        '''
20552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20553        '''
20554         Tags is a map of key, value pairs.
20555        '''
20556        self.url = url if url is not None else ''
20557        '''
20558         The URL to dial to initiate a connection from the egress node to this resource.
20559        '''
20560        self.username = username if username is not None else ''
20561        '''
20562         OAuth App Client ID
20563        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

oauth_auth_endpoint

The OAuth 2.0 authorization endpoint URL.

oauth_scopes

Space-separated list of OAuth scopes to request.

oauth_token_endpoint

The OAuth 2.0 token endpoint URL.

password

OAuth App Client Secret

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

url

The URL to dial to initiate a connection from the egress node to this resource.

username

OAuth App Client ID

def to_dict(self)
20586    def to_dict(self):
20587        return {
20588            'bind_interface': self.bind_interface,
20589            'egress_filter': self.egress_filter,
20590            'healthy': self.healthy,
20591            'hostname': self.hostname,
20592            'id': self.id,
20593            'name': self.name,
20594            'oauth_auth_endpoint': self.oauth_auth_endpoint,
20595            'oauth_scopes': self.oauth_scopes,
20596            'oauth_token_endpoint': self.oauth_token_endpoint,
20597            'password': self.password,
20598            'port_override': self.port_override,
20599            'proxy_cluster_id': self.proxy_cluster_id,
20600            'secret_store_id': self.secret_store_id,
20601            'subdomain': self.subdomain,
20602            'tags': self.tags,
20603            'url': self.url,
20604            'username': self.username,
20605        }
@classmethod
def from_dict(cls, d)
20607    @classmethod
20608    def from_dict(cls, d):
20609        return cls(
20610            bind_interface=d.get('bind_interface'),
20611            egress_filter=d.get('egress_filter'),
20612            healthy=d.get('healthy'),
20613            hostname=d.get('hostname'),
20614            id=d.get('id'),
20615            name=d.get('name'),
20616            oauth_auth_endpoint=d.get('oauth_auth_endpoint'),
20617            oauth_scopes=d.get('oauth_scopes'),
20618            oauth_token_endpoint=d.get('oauth_token_endpoint'),
20619            password=d.get('password'),
20620            port_override=d.get('port_override'),
20621            proxy_cluster_id=d.get('proxy_cluster_id'),
20622            secret_store_id=d.get('secret_store_id'),
20623            subdomain=d.get('subdomain'),
20624            tags=d.get('tags'),
20625            url=d.get('url'),
20626            username=d.get('username'),
20627        )
class MCPGatewayOAuthDCR:
20630class MCPGatewayOAuthDCR:
20631    __slots__ = [
20632        'bind_interface',
20633        'egress_filter',
20634        'healthy',
20635        'hostname',
20636        'id',
20637        'name',
20638        'oauth_auth_endpoint',
20639        'oauth_register_endpoint',
20640        'oauth_scopes',
20641        'oauth_token_endpoint',
20642        'port_override',
20643        'proxy_cluster_id',
20644        'secret_store_id',
20645        'subdomain',
20646        'tags',
20647        'url',
20648    ]
20649
20650    def __init__(
20651        self,
20652        bind_interface=None,
20653        egress_filter=None,
20654        healthy=None,
20655        hostname=None,
20656        id=None,
20657        name=None,
20658        oauth_auth_endpoint=None,
20659        oauth_register_endpoint=None,
20660        oauth_scopes=None,
20661        oauth_token_endpoint=None,
20662        port_override=None,
20663        proxy_cluster_id=None,
20664        secret_store_id=None,
20665        subdomain=None,
20666        tags=None,
20667        url=None,
20668    ):
20669        self.bind_interface = bind_interface if bind_interface is not None else ''
20670        '''
20671         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20672        '''
20673        self.egress_filter = egress_filter if egress_filter is not None else ''
20674        '''
20675         A filter applied to the routing logic to pin datasource to nodes.
20676        '''
20677        self.healthy = healthy if healthy is not None else False
20678        '''
20679         True if the datasource is reachable and the credentials are valid.
20680        '''
20681        self.hostname = hostname if hostname is not None else ''
20682        '''
20683         The host to dial to initiate a connection from the egress node to this resource.
20684        '''
20685        self.id = id if id is not None else ''
20686        '''
20687         Unique identifier of the Resource.
20688        '''
20689        self.name = name if name is not None else ''
20690        '''
20691         Unique human-readable name of the Resource.
20692        '''
20693        self.oauth_auth_endpoint = oauth_auth_endpoint if oauth_auth_endpoint is not None else ''
20694        '''
20695         The OAuth 2.0 authorization endpoint URL.
20696        '''
20697        self.oauth_register_endpoint = oauth_register_endpoint if oauth_register_endpoint is not None else ''
20698        '''
20699         The OAuth 2.0 dynamic client registration endpoint URL.
20700        '''
20701        self.oauth_scopes = oauth_scopes if oauth_scopes is not None else ''
20702        '''
20703         Space-separated list of OAuth scopes to request.
20704        '''
20705        self.oauth_token_endpoint = oauth_token_endpoint if oauth_token_endpoint is not None else ''
20706        '''
20707         The OAuth 2.0 token endpoint URL.
20708        '''
20709        self.port_override = port_override if port_override is not None else 0
20710        '''
20711         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20712        '''
20713        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20714        '''
20715         ID of the proxy cluster for this resource, if any.
20716        '''
20717        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20718        '''
20719         ID of the secret store containing credentials for this resource, if any.
20720        '''
20721        self.subdomain = subdomain if subdomain is not None else ''
20722        '''
20723         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20724        '''
20725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20726        '''
20727         Tags is a map of key, value pairs.
20728        '''
20729        self.url = url if url is not None else ''
20730        '''
20731         The URL to dial to initiate a connection from the egress node to this resource.
20732        '''
20733
20734    def __repr__(self):
20735        return '<sdm.MCPGatewayOAuthDCR ' + \
20736            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20737            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20738            'healthy: ' + repr(self.healthy) + ' ' +\
20739            'hostname: ' + repr(self.hostname) + ' ' +\
20740            'id: ' + repr(self.id) + ' ' +\
20741            'name: ' + repr(self.name) + ' ' +\
20742            'oauth_auth_endpoint: ' + repr(self.oauth_auth_endpoint) + ' ' +\
20743            'oauth_register_endpoint: ' + repr(self.oauth_register_endpoint) + ' ' +\
20744            'oauth_scopes: ' + repr(self.oauth_scopes) + ' ' +\
20745            'oauth_token_endpoint: ' + repr(self.oauth_token_endpoint) + ' ' +\
20746            'port_override: ' + repr(self.port_override) + ' ' +\
20747            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20748            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20749            'subdomain: ' + repr(self.subdomain) + ' ' +\
20750            'tags: ' + repr(self.tags) + ' ' +\
20751            'url: ' + repr(self.url) + ' ' +\
20752            '>'
20753
20754    def to_dict(self):
20755        return {
20756            'bind_interface': self.bind_interface,
20757            'egress_filter': self.egress_filter,
20758            'healthy': self.healthy,
20759            'hostname': self.hostname,
20760            'id': self.id,
20761            'name': self.name,
20762            'oauth_auth_endpoint': self.oauth_auth_endpoint,
20763            'oauth_register_endpoint': self.oauth_register_endpoint,
20764            'oauth_scopes': self.oauth_scopes,
20765            'oauth_token_endpoint': self.oauth_token_endpoint,
20766            'port_override': self.port_override,
20767            'proxy_cluster_id': self.proxy_cluster_id,
20768            'secret_store_id': self.secret_store_id,
20769            'subdomain': self.subdomain,
20770            'tags': self.tags,
20771            'url': self.url,
20772        }
20773
20774    @classmethod
20775    def from_dict(cls, d):
20776        return cls(
20777            bind_interface=d.get('bind_interface'),
20778            egress_filter=d.get('egress_filter'),
20779            healthy=d.get('healthy'),
20780            hostname=d.get('hostname'),
20781            id=d.get('id'),
20782            name=d.get('name'),
20783            oauth_auth_endpoint=d.get('oauth_auth_endpoint'),
20784            oauth_register_endpoint=d.get('oauth_register_endpoint'),
20785            oauth_scopes=d.get('oauth_scopes'),
20786            oauth_token_endpoint=d.get('oauth_token_endpoint'),
20787            port_override=d.get('port_override'),
20788            proxy_cluster_id=d.get('proxy_cluster_id'),
20789            secret_store_id=d.get('secret_store_id'),
20790            subdomain=d.get('subdomain'),
20791            tags=d.get('tags'),
20792            url=d.get('url'),
20793        )
MCPGatewayOAuthDCR( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, oauth_auth_endpoint=None, oauth_register_endpoint=None, oauth_scopes=None, oauth_token_endpoint=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
20650    def __init__(
20651        self,
20652        bind_interface=None,
20653        egress_filter=None,
20654        healthy=None,
20655        hostname=None,
20656        id=None,
20657        name=None,
20658        oauth_auth_endpoint=None,
20659        oauth_register_endpoint=None,
20660        oauth_scopes=None,
20661        oauth_token_endpoint=None,
20662        port_override=None,
20663        proxy_cluster_id=None,
20664        secret_store_id=None,
20665        subdomain=None,
20666        tags=None,
20667        url=None,
20668    ):
20669        self.bind_interface = bind_interface if bind_interface is not None else ''
20670        '''
20671         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20672        '''
20673        self.egress_filter = egress_filter if egress_filter is not None else ''
20674        '''
20675         A filter applied to the routing logic to pin datasource to nodes.
20676        '''
20677        self.healthy = healthy if healthy is not None else False
20678        '''
20679         True if the datasource is reachable and the credentials are valid.
20680        '''
20681        self.hostname = hostname if hostname is not None else ''
20682        '''
20683         The host to dial to initiate a connection from the egress node to this resource.
20684        '''
20685        self.id = id if id is not None else ''
20686        '''
20687         Unique identifier of the Resource.
20688        '''
20689        self.name = name if name is not None else ''
20690        '''
20691         Unique human-readable name of the Resource.
20692        '''
20693        self.oauth_auth_endpoint = oauth_auth_endpoint if oauth_auth_endpoint is not None else ''
20694        '''
20695         The OAuth 2.0 authorization endpoint URL.
20696        '''
20697        self.oauth_register_endpoint = oauth_register_endpoint if oauth_register_endpoint is not None else ''
20698        '''
20699         The OAuth 2.0 dynamic client registration endpoint URL.
20700        '''
20701        self.oauth_scopes = oauth_scopes if oauth_scopes is not None else ''
20702        '''
20703         Space-separated list of OAuth scopes to request.
20704        '''
20705        self.oauth_token_endpoint = oauth_token_endpoint if oauth_token_endpoint is not None else ''
20706        '''
20707         The OAuth 2.0 token endpoint URL.
20708        '''
20709        self.port_override = port_override if port_override is not None else 0
20710        '''
20711         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20712        '''
20713        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20714        '''
20715         ID of the proxy cluster for this resource, if any.
20716        '''
20717        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20718        '''
20719         ID of the secret store containing credentials for this resource, if any.
20720        '''
20721        self.subdomain = subdomain if subdomain is not None else ''
20722        '''
20723         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20724        '''
20725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20726        '''
20727         Tags is a map of key, value pairs.
20728        '''
20729        self.url = url if url is not None else ''
20730        '''
20731         The URL to dial to initiate a connection from the egress node to this resource.
20732        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

oauth_auth_endpoint

The OAuth 2.0 authorization endpoint URL.

oauth_register_endpoint

The OAuth 2.0 dynamic client registration endpoint URL.

oauth_scopes

Space-separated list of OAuth scopes to request.

oauth_token_endpoint

The OAuth 2.0 token endpoint URL.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

url

The URL to dial to initiate a connection from the egress node to this resource.

def to_dict(self)
20754    def to_dict(self):
20755        return {
20756            'bind_interface': self.bind_interface,
20757            'egress_filter': self.egress_filter,
20758            'healthy': self.healthy,
20759            'hostname': self.hostname,
20760            'id': self.id,
20761            'name': self.name,
20762            'oauth_auth_endpoint': self.oauth_auth_endpoint,
20763            'oauth_register_endpoint': self.oauth_register_endpoint,
20764            'oauth_scopes': self.oauth_scopes,
20765            'oauth_token_endpoint': self.oauth_token_endpoint,
20766            'port_override': self.port_override,
20767            'proxy_cluster_id': self.proxy_cluster_id,
20768            'secret_store_id': self.secret_store_id,
20769            'subdomain': self.subdomain,
20770            'tags': self.tags,
20771            'url': self.url,
20772        }
@classmethod
def from_dict(cls, d)
20774    @classmethod
20775    def from_dict(cls, d):
20776        return cls(
20777            bind_interface=d.get('bind_interface'),
20778            egress_filter=d.get('egress_filter'),
20779            healthy=d.get('healthy'),
20780            hostname=d.get('hostname'),
20781            id=d.get('id'),
20782            name=d.get('name'),
20783            oauth_auth_endpoint=d.get('oauth_auth_endpoint'),
20784            oauth_register_endpoint=d.get('oauth_register_endpoint'),
20785            oauth_scopes=d.get('oauth_scopes'),
20786            oauth_token_endpoint=d.get('oauth_token_endpoint'),
20787            port_override=d.get('port_override'),
20788            proxy_cluster_id=d.get('proxy_cluster_id'),
20789            secret_store_id=d.get('secret_store_id'),
20790            subdomain=d.get('subdomain'),
20791            tags=d.get('tags'),
20792            url=d.get('url'),
20793        )
class MCPGatewayPAT:
20796class MCPGatewayPAT:
20797    __slots__ = [
20798        'bind_interface',
20799        'egress_filter',
20800        'healthy',
20801        'hostname',
20802        'id',
20803        'name',
20804        'password',
20805        'port_override',
20806        'proxy_cluster_id',
20807        'secret_store_id',
20808        'subdomain',
20809        'tags',
20810        'url',
20811    ]
20812
20813    def __init__(
20814        self,
20815        bind_interface=None,
20816        egress_filter=None,
20817        healthy=None,
20818        hostname=None,
20819        id=None,
20820        name=None,
20821        password=None,
20822        port_override=None,
20823        proxy_cluster_id=None,
20824        secret_store_id=None,
20825        subdomain=None,
20826        tags=None,
20827        url=None,
20828    ):
20829        self.bind_interface = bind_interface if bind_interface is not None else ''
20830        '''
20831         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20832        '''
20833        self.egress_filter = egress_filter if egress_filter is not None else ''
20834        '''
20835         A filter applied to the routing logic to pin datasource to nodes.
20836        '''
20837        self.healthy = healthy if healthy is not None else False
20838        '''
20839         True if the datasource is reachable and the credentials are valid.
20840        '''
20841        self.hostname = hostname if hostname is not None else ''
20842        '''
20843         The host to dial to initiate a connection from the egress node to this resource.
20844        '''
20845        self.id = id if id is not None else ''
20846        '''
20847         Unique identifier of the Resource.
20848        '''
20849        self.name = name if name is not None else ''
20850        '''
20851         Unique human-readable name of the Resource.
20852        '''
20853        self.password = password if password is not None else ''
20854        '''
20855         The password to authenticate with.
20856        '''
20857        self.port_override = port_override if port_override is not None else 0
20858        '''
20859         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20860        '''
20861        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20862        '''
20863         ID of the proxy cluster for this resource, if any.
20864        '''
20865        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20866        '''
20867         ID of the secret store containing credentials for this resource, if any.
20868        '''
20869        self.subdomain = subdomain if subdomain is not None else ''
20870        '''
20871         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20872        '''
20873        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20874        '''
20875         Tags is a map of key, value pairs.
20876        '''
20877        self.url = url if url is not None else ''
20878        '''
20879         The URL to dial to initiate a connection from the egress node to this resource.
20880        '''
20881
20882    def __repr__(self):
20883        return '<sdm.MCPGatewayPAT ' + \
20884            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20885            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20886            'healthy: ' + repr(self.healthy) + ' ' +\
20887            'hostname: ' + repr(self.hostname) + ' ' +\
20888            'id: ' + repr(self.id) + ' ' +\
20889            'name: ' + repr(self.name) + ' ' +\
20890            'password: ' + repr(self.password) + ' ' +\
20891            'port_override: ' + repr(self.port_override) + ' ' +\
20892            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20893            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20894            'subdomain: ' + repr(self.subdomain) + ' ' +\
20895            'tags: ' + repr(self.tags) + ' ' +\
20896            'url: ' + repr(self.url) + ' ' +\
20897            '>'
20898
20899    def to_dict(self):
20900        return {
20901            'bind_interface': self.bind_interface,
20902            'egress_filter': self.egress_filter,
20903            'healthy': self.healthy,
20904            'hostname': self.hostname,
20905            'id': self.id,
20906            'name': self.name,
20907            'password': self.password,
20908            'port_override': self.port_override,
20909            'proxy_cluster_id': self.proxy_cluster_id,
20910            'secret_store_id': self.secret_store_id,
20911            'subdomain': self.subdomain,
20912            'tags': self.tags,
20913            'url': self.url,
20914        }
20915
20916    @classmethod
20917    def from_dict(cls, d):
20918        return cls(
20919            bind_interface=d.get('bind_interface'),
20920            egress_filter=d.get('egress_filter'),
20921            healthy=d.get('healthy'),
20922            hostname=d.get('hostname'),
20923            id=d.get('id'),
20924            name=d.get('name'),
20925            password=d.get('password'),
20926            port_override=d.get('port_override'),
20927            proxy_cluster_id=d.get('proxy_cluster_id'),
20928            secret_store_id=d.get('secret_store_id'),
20929            subdomain=d.get('subdomain'),
20930            tags=d.get('tags'),
20931            url=d.get('url'),
20932        )
MCPGatewayPAT( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
20813    def __init__(
20814        self,
20815        bind_interface=None,
20816        egress_filter=None,
20817        healthy=None,
20818        hostname=None,
20819        id=None,
20820        name=None,
20821        password=None,
20822        port_override=None,
20823        proxy_cluster_id=None,
20824        secret_store_id=None,
20825        subdomain=None,
20826        tags=None,
20827        url=None,
20828    ):
20829        self.bind_interface = bind_interface if bind_interface is not None else ''
20830        '''
20831         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20832        '''
20833        self.egress_filter = egress_filter if egress_filter is not None else ''
20834        '''
20835         A filter applied to the routing logic to pin datasource to nodes.
20836        '''
20837        self.healthy = healthy if healthy is not None else False
20838        '''
20839         True if the datasource is reachable and the credentials are valid.
20840        '''
20841        self.hostname = hostname if hostname is not None else ''
20842        '''
20843         The host to dial to initiate a connection from the egress node to this resource.
20844        '''
20845        self.id = id if id is not None else ''
20846        '''
20847         Unique identifier of the Resource.
20848        '''
20849        self.name = name if name is not None else ''
20850        '''
20851         Unique human-readable name of the Resource.
20852        '''
20853        self.password = password if password is not None else ''
20854        '''
20855         The password to authenticate with.
20856        '''
20857        self.port_override = port_override if port_override is not None else 0
20858        '''
20859         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20860        '''
20861        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20862        '''
20863         ID of the proxy cluster for this resource, if any.
20864        '''
20865        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20866        '''
20867         ID of the secret store containing credentials for this resource, if any.
20868        '''
20869        self.subdomain = subdomain if subdomain is not None else ''
20870        '''
20871         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20872        '''
20873        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20874        '''
20875         Tags is a map of key, value pairs.
20876        '''
20877        self.url = url if url is not None else ''
20878        '''
20879         The URL to dial to initiate a connection from the egress node to this resource.
20880        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

url

The URL to dial to initiate a connection from the egress node to this resource.

def to_dict(self)
20899    def to_dict(self):
20900        return {
20901            'bind_interface': self.bind_interface,
20902            'egress_filter': self.egress_filter,
20903            'healthy': self.healthy,
20904            'hostname': self.hostname,
20905            'id': self.id,
20906            'name': self.name,
20907            'password': self.password,
20908            'port_override': self.port_override,
20909            'proxy_cluster_id': self.proxy_cluster_id,
20910            'secret_store_id': self.secret_store_id,
20911            'subdomain': self.subdomain,
20912            'tags': self.tags,
20913            'url': self.url,
20914        }
@classmethod
def from_dict(cls, d)
20916    @classmethod
20917    def from_dict(cls, d):
20918        return cls(
20919            bind_interface=d.get('bind_interface'),
20920            egress_filter=d.get('egress_filter'),
20921            healthy=d.get('healthy'),
20922            hostname=d.get('hostname'),
20923            id=d.get('id'),
20924            name=d.get('name'),
20925            password=d.get('password'),
20926            port_override=d.get('port_override'),
20927            proxy_cluster_id=d.get('proxy_cluster_id'),
20928            secret_store_id=d.get('secret_store_id'),
20929            subdomain=d.get('subdomain'),
20930            tags=d.get('tags'),
20931            url=d.get('url'),
20932        )
class MFAConfig:
20935class MFAConfig:
20936    __slots__ = [
20937        'enabled',
20938        'okta',
20939        'provider',
20940    ]
20941
20942    def __init__(
20943        self,
20944        enabled=None,
20945        okta=None,
20946        provider=None,
20947    ):
20948        self.enabled = enabled if enabled is not None else False
20949        '''
20950         Indicates if MFA is enabled for the organization.
20951        '''
20952        self.okta = okta if okta is not None else None
20953        '''
20954         Okta MFA configuration. Future providers will be added to this wrapper.
20955        '''
20956        self.provider = provider if provider is not None else ''
20957        '''
20958         The MFA provider, one of the MFAProvider constants.
20959        '''
20960
20961    def __repr__(self):
20962        return '<sdm.MFAConfig ' + \
20963            'enabled: ' + repr(self.enabled) + ' ' +\
20964            'okta: ' + repr(self.okta) + ' ' +\
20965            'provider: ' + repr(self.provider) + ' ' +\
20966            '>'
20967
20968    def to_dict(self):
20969        return {
20970            'enabled': self.enabled,
20971            'okta': self.okta,
20972            'provider': self.provider,
20973        }
20974
20975    @classmethod
20976    def from_dict(cls, d):
20977        return cls(
20978            enabled=d.get('enabled'),
20979            okta=d.get('okta'),
20980            provider=d.get('provider'),
20981        )
MFAConfig(enabled=None, okta=None, provider=None)
20942    def __init__(
20943        self,
20944        enabled=None,
20945        okta=None,
20946        provider=None,
20947    ):
20948        self.enabled = enabled if enabled is not None else False
20949        '''
20950         Indicates if MFA is enabled for the organization.
20951        '''
20952        self.okta = okta if okta is not None else None
20953        '''
20954         Okta MFA configuration. Future providers will be added to this wrapper.
20955        '''
20956        self.provider = provider if provider is not None else ''
20957        '''
20958         The MFA provider, one of the MFAProvider constants.
20959        '''
enabled

Indicates if MFA is enabled for the organization.

okta

Okta MFA configuration. Future providers will be added to this wrapper.

provider

The MFA provider, one of the MFAProvider constants.

def to_dict(self)
20968    def to_dict(self):
20969        return {
20970            'enabled': self.enabled,
20971            'okta': self.okta,
20972            'provider': self.provider,
20973        }
@classmethod
def from_dict(cls, d)
20975    @classmethod
20976    def from_dict(cls, d):
20977        return cls(
20978            enabled=d.get('enabled'),
20979            okta=d.get('okta'),
20980            provider=d.get('provider'),
20981        )
class MTLSMysql:
20984class MTLSMysql:
20985    __slots__ = [
20986        'bind_interface',
20987        'certificate_authority',
20988        'client_certificate',
20989        'client_key',
20990        'database',
20991        'egress_filter',
20992        'healthy',
20993        'hostname',
20994        'id',
20995        'name',
20996        'password',
20997        'port',
20998        'port_override',
20999        'proxy_cluster_id',
21000        'require_native_auth',
21001        'secret_store_id',
21002        'server_name',
21003        'subdomain',
21004        'tags',
21005        'use_azure_single_server_usernames',
21006        'username',
21007    ]
21008
21009    def __init__(
21010        self,
21011        bind_interface=None,
21012        certificate_authority=None,
21013        client_certificate=None,
21014        client_key=None,
21015        database=None,
21016        egress_filter=None,
21017        healthy=None,
21018        hostname=None,
21019        id=None,
21020        name=None,
21021        password=None,
21022        port=None,
21023        port_override=None,
21024        proxy_cluster_id=None,
21025        require_native_auth=None,
21026        secret_store_id=None,
21027        server_name=None,
21028        subdomain=None,
21029        tags=None,
21030        use_azure_single_server_usernames=None,
21031        username=None,
21032    ):
21033        self.bind_interface = bind_interface if bind_interface is not None else ''
21034        '''
21035         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21036        '''
21037        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
21038        '''
21039         The CA to authenticate TLS connections with.
21040        '''
21041        self.client_certificate = client_certificate if client_certificate is not None else ''
21042        '''
21043         The certificate to authenticate TLS connections with.
21044        '''
21045        self.client_key = client_key if client_key is not None else ''
21046        '''
21047         The key to authenticate TLS connections with.
21048        '''
21049        self.database = database if database is not None else ''
21050        '''
21051         The database for healthchecks. Does not affect client requests.
21052        '''
21053        self.egress_filter = egress_filter if egress_filter is not None else ''
21054        '''
21055         A filter applied to the routing logic to pin datasource to nodes.
21056        '''
21057        self.healthy = healthy if healthy is not None else False
21058        '''
21059         True if the datasource is reachable and the credentials are valid.
21060        '''
21061        self.hostname = hostname if hostname is not None else ''
21062        '''
21063         The host to dial to initiate a connection from the egress node to this resource.
21064        '''
21065        self.id = id if id is not None else ''
21066        '''
21067         Unique identifier of the Resource.
21068        '''
21069        self.name = name if name is not None else ''
21070        '''
21071         Unique human-readable name of the Resource.
21072        '''
21073        self.password = password if password is not None else ''
21074        '''
21075         The password to authenticate with.
21076        '''
21077        self.port = port if port is not None else 0
21078        '''
21079         The port to dial to initiate a connection from the egress node to this resource.
21080        '''
21081        self.port_override = port_override if port_override is not None else 0
21082        '''
21083         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21084        '''
21085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21086        '''
21087         ID of the proxy cluster for this resource, if any.
21088        '''
21089        self.require_native_auth = require_native_auth if require_native_auth is not None else False
21090        '''
21091         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
21092        '''
21093        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21094        '''
21095         ID of the secret store containing credentials for this resource, if any.
21096        '''
21097        self.server_name = server_name if server_name is not None else ''
21098        '''
21099         Server name for TLS verification (unverified by StrongDM if empty)
21100        '''
21101        self.subdomain = subdomain if subdomain is not None else ''
21102        '''
21103         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21104        '''
21105        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21106        '''
21107         Tags is a map of key, value pairs.
21108        '''
21109        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
21110        '''
21111         If true, appends the hostname to the username when hitting a database.azure.com address
21112        '''
21113        self.username = username if username is not None else ''
21114        '''
21115         The username to authenticate with.
21116        '''
21117
21118    def __repr__(self):
21119        return '<sdm.MTLSMysql ' + \
21120            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21121            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
21122            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
21123            'client_key: ' + repr(self.client_key) + ' ' +\
21124            'database: ' + repr(self.database) + ' ' +\
21125            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21126            'healthy: ' + repr(self.healthy) + ' ' +\
21127            'hostname: ' + repr(self.hostname) + ' ' +\
21128            'id: ' + repr(self.id) + ' ' +\
21129            'name: ' + repr(self.name) + ' ' +\
21130            'password: ' + repr(self.password) + ' ' +\
21131            'port: ' + repr(self.port) + ' ' +\
21132            'port_override: ' + repr(self.port_override) + ' ' +\
21133            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21134            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
21135            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21136            'server_name: ' + repr(self.server_name) + ' ' +\
21137            'subdomain: ' + repr(self.subdomain) + ' ' +\
21138            'tags: ' + repr(self.tags) + ' ' +\
21139            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
21140            'username: ' + repr(self.username) + ' ' +\
21141            '>'
21142
21143    def to_dict(self):
21144        return {
21145            'bind_interface': self.bind_interface,
21146            'certificate_authority': self.certificate_authority,
21147            'client_certificate': self.client_certificate,
21148            'client_key': self.client_key,
21149            'database': self.database,
21150            'egress_filter': self.egress_filter,
21151            'healthy': self.healthy,
21152            'hostname': self.hostname,
21153            'id': self.id,
21154            'name': self.name,
21155            'password': self.password,
21156            'port': self.port,
21157            'port_override': self.port_override,
21158            'proxy_cluster_id': self.proxy_cluster_id,
21159            'require_native_auth': self.require_native_auth,
21160            'secret_store_id': self.secret_store_id,
21161            'server_name': self.server_name,
21162            'subdomain': self.subdomain,
21163            'tags': self.tags,
21164            'use_azure_single_server_usernames':
21165            self.use_azure_single_server_usernames,
21166            'username': self.username,
21167        }
21168
21169    @classmethod
21170    def from_dict(cls, d):
21171        return cls(
21172            bind_interface=d.get('bind_interface'),
21173            certificate_authority=d.get('certificate_authority'),
21174            client_certificate=d.get('client_certificate'),
21175            client_key=d.get('client_key'),
21176            database=d.get('database'),
21177            egress_filter=d.get('egress_filter'),
21178            healthy=d.get('healthy'),
21179            hostname=d.get('hostname'),
21180            id=d.get('id'),
21181            name=d.get('name'),
21182            password=d.get('password'),
21183            port=d.get('port'),
21184            port_override=d.get('port_override'),
21185            proxy_cluster_id=d.get('proxy_cluster_id'),
21186            require_native_auth=d.get('require_native_auth'),
21187            secret_store_id=d.get('secret_store_id'),
21188            server_name=d.get('server_name'),
21189            subdomain=d.get('subdomain'),
21190            tags=d.get('tags'),
21191            use_azure_single_server_usernames=d.get(
21192                'use_azure_single_server_usernames'),
21193            username=d.get('username'),
21194        )
MTLSMysql( bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, server_name=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
21009    def __init__(
21010        self,
21011        bind_interface=None,
21012        certificate_authority=None,
21013        client_certificate=None,
21014        client_key=None,
21015        database=None,
21016        egress_filter=None,
21017        healthy=None,
21018        hostname=None,
21019        id=None,
21020        name=None,
21021        password=None,
21022        port=None,
21023        port_override=None,
21024        proxy_cluster_id=None,
21025        require_native_auth=None,
21026        secret_store_id=None,
21027        server_name=None,
21028        subdomain=None,
21029        tags=None,
21030        use_azure_single_server_usernames=None,
21031        username=None,
21032    ):
21033        self.bind_interface = bind_interface if bind_interface is not None else ''
21034        '''
21035         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21036        '''
21037        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
21038        '''
21039         The CA to authenticate TLS connections with.
21040        '''
21041        self.client_certificate = client_certificate if client_certificate is not None else ''
21042        '''
21043         The certificate to authenticate TLS connections with.
21044        '''
21045        self.client_key = client_key if client_key is not None else ''
21046        '''
21047         The key to authenticate TLS connections with.
21048        '''
21049        self.database = database if database is not None else ''
21050        '''
21051         The database for healthchecks. Does not affect client requests.
21052        '''
21053        self.egress_filter = egress_filter if egress_filter is not None else ''
21054        '''
21055         A filter applied to the routing logic to pin datasource to nodes.
21056        '''
21057        self.healthy = healthy if healthy is not None else False
21058        '''
21059         True if the datasource is reachable and the credentials are valid.
21060        '''
21061        self.hostname = hostname if hostname is not None else ''
21062        '''
21063         The host to dial to initiate a connection from the egress node to this resource.
21064        '''
21065        self.id = id if id is not None else ''
21066        '''
21067         Unique identifier of the Resource.
21068        '''
21069        self.name = name if name is not None else ''
21070        '''
21071         Unique human-readable name of the Resource.
21072        '''
21073        self.password = password if password is not None else ''
21074        '''
21075         The password to authenticate with.
21076        '''
21077        self.port = port if port is not None else 0
21078        '''
21079         The port to dial to initiate a connection from the egress node to this resource.
21080        '''
21081        self.port_override = port_override if port_override is not None else 0
21082        '''
21083         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21084        '''
21085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21086        '''
21087         ID of the proxy cluster for this resource, if any.
21088        '''
21089        self.require_native_auth = require_native_auth if require_native_auth is not None else False
21090        '''
21091         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
21092        '''
21093        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21094        '''
21095         ID of the secret store containing credentials for this resource, if any.
21096        '''
21097        self.server_name = server_name if server_name is not None else ''
21098        '''
21099         Server name for TLS verification (unverified by StrongDM if empty)
21100        '''
21101        self.subdomain = subdomain if subdomain is not None else ''
21102        '''
21103         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21104        '''
21105        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21106        '''
21107         Tags is a map of key, value pairs.
21108        '''
21109        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
21110        '''
21111         If true, appends the hostname to the username when hitting a database.azure.com address
21112        '''
21113        self.username = username if username is not None else ''
21114        '''
21115         The username to authenticate with.
21116        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

server_name

Server name for TLS verification (unverified by StrongDM if empty)

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
21143    def to_dict(self):
21144        return {
21145            'bind_interface': self.bind_interface,
21146            'certificate_authority': self.certificate_authority,
21147            'client_certificate': self.client_certificate,
21148            'client_key': self.client_key,
21149            'database': self.database,
21150            'egress_filter': self.egress_filter,
21151            'healthy': self.healthy,
21152            'hostname': self.hostname,
21153            'id': self.id,
21154            'name': self.name,
21155            'password': self.password,
21156            'port': self.port,
21157            'port_override': self.port_override,
21158            'proxy_cluster_id': self.proxy_cluster_id,
21159            'require_native_auth': self.require_native_auth,
21160            'secret_store_id': self.secret_store_id,
21161            'server_name': self.server_name,
21162            'subdomain': self.subdomain,
21163            'tags': self.tags,
21164            'use_azure_single_server_usernames':
21165            self.use_azure_single_server_usernames,
21166            'username': self.username,
21167        }
@classmethod
def from_dict(cls, d)
21169    @classmethod
21170    def from_dict(cls, d):
21171        return cls(
21172            bind_interface=d.get('bind_interface'),
21173            certificate_authority=d.get('certificate_authority'),
21174            client_certificate=d.get('client_certificate'),
21175            client_key=d.get('client_key'),
21176            database=d.get('database'),
21177            egress_filter=d.get('egress_filter'),
21178            healthy=d.get('healthy'),
21179            hostname=d.get('hostname'),
21180            id=d.get('id'),
21181            name=d.get('name'),
21182            password=d.get('password'),
21183            port=d.get('port'),
21184            port_override=d.get('port_override'),
21185            proxy_cluster_id=d.get('proxy_cluster_id'),
21186            require_native_auth=d.get('require_native_auth'),
21187            secret_store_id=d.get('secret_store_id'),
21188            server_name=d.get('server_name'),
21189            subdomain=d.get('subdomain'),
21190            tags=d.get('tags'),
21191            use_azure_single_server_usernames=d.get(
21192                'use_azure_single_server_usernames'),
21193            username=d.get('username'),
21194        )
class MTLSPostgres:
21197class MTLSPostgres:
21198    __slots__ = [
21199        'bind_interface',
21200        'certificate_authority',
21201        'client_certificate',
21202        'client_key',
21203        'database',
21204        'egress_filter',
21205        'healthy',
21206        'hostname',
21207        'id',
21208        'name',
21209        'override_database',
21210        'password',
21211        'port',
21212        'port_override',
21213        'proxy_cluster_id',
21214        'secret_store_id',
21215        'server_name',
21216        'subdomain',
21217        'tags',
21218        'username',
21219    ]
21220
21221    def __init__(
21222        self,
21223        bind_interface=None,
21224        certificate_authority=None,
21225        client_certificate=None,
21226        client_key=None,
21227        database=None,
21228        egress_filter=None,
21229        healthy=None,
21230        hostname=None,
21231        id=None,
21232        name=None,
21233        override_database=None,
21234        password=None,
21235        port=None,
21236        port_override=None,
21237        proxy_cluster_id=None,
21238        secret_store_id=None,
21239        server_name=None,
21240        subdomain=None,
21241        tags=None,
21242        username=None,
21243    ):
21244        self.bind_interface = bind_interface if bind_interface is not None else ''
21245        '''
21246         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21247        '''
21248        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
21249        '''
21250         The CA to authenticate TLS connections with.
21251        '''
21252        self.client_certificate = client_certificate if client_certificate is not None else ''
21253        '''
21254         The certificate to authenticate TLS connections with.
21255        '''
21256        self.client_key = client_key if client_key is not None else ''
21257        '''
21258         The key to authenticate TLS connections with.
21259        '''
21260        self.database = database if database is not None else ''
21261        '''
21262         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21263        '''
21264        self.egress_filter = egress_filter if egress_filter is not None else ''
21265        '''
21266         A filter applied to the routing logic to pin datasource to nodes.
21267        '''
21268        self.healthy = healthy if healthy is not None else False
21269        '''
21270         True if the datasource is reachable and the credentials are valid.
21271        '''
21272        self.hostname = hostname if hostname is not None else ''
21273        '''
21274         The host to dial to initiate a connection from the egress node to this resource.
21275        '''
21276        self.id = id if id is not None else ''
21277        '''
21278         Unique identifier of the Resource.
21279        '''
21280        self.name = name if name is not None else ''
21281        '''
21282         Unique human-readable name of the Resource.
21283        '''
21284        self.override_database = override_database if override_database is not None else False
21285        '''
21286         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21287        '''
21288        self.password = password if password is not None else ''
21289        '''
21290         The password to authenticate with.
21291        '''
21292        self.port = port if port is not None else 0
21293        '''
21294         The port to dial to initiate a connection from the egress node to this resource.
21295        '''
21296        self.port_override = port_override if port_override is not None else 0
21297        '''
21298         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21299        '''
21300        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21301        '''
21302         ID of the proxy cluster for this resource, if any.
21303        '''
21304        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21305        '''
21306         ID of the secret store containing credentials for this resource, if any.
21307        '''
21308        self.server_name = server_name if server_name is not None else ''
21309        '''
21310         Server name for TLS verification (unverified by StrongDM if empty)
21311        '''
21312        self.subdomain = subdomain if subdomain is not None else ''
21313        '''
21314         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21315        '''
21316        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21317        '''
21318         Tags is a map of key, value pairs.
21319        '''
21320        self.username = username if username is not None else ''
21321        '''
21322         The username to authenticate with.
21323        '''
21324
21325    def __repr__(self):
21326        return '<sdm.MTLSPostgres ' + \
21327            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21328            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
21329            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
21330            'client_key: ' + repr(self.client_key) + ' ' +\
21331            'database: ' + repr(self.database) + ' ' +\
21332            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21333            'healthy: ' + repr(self.healthy) + ' ' +\
21334            'hostname: ' + repr(self.hostname) + ' ' +\
21335            'id: ' + repr(self.id) + ' ' +\
21336            'name: ' + repr(self.name) + ' ' +\
21337            'override_database: ' + repr(self.override_database) + ' ' +\
21338            'password: ' + repr(self.password) + ' ' +\
21339            'port: ' + repr(self.port) + ' ' +\
21340            'port_override: ' + repr(self.port_override) + ' ' +\
21341            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21342            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21343            'server_name: ' + repr(self.server_name) + ' ' +\
21344            'subdomain: ' + repr(self.subdomain) + ' ' +\
21345            'tags: ' + repr(self.tags) + ' ' +\
21346            'username: ' + repr(self.username) + ' ' +\
21347            '>'
21348
21349    def to_dict(self):
21350        return {
21351            'bind_interface': self.bind_interface,
21352            'certificate_authority': self.certificate_authority,
21353            'client_certificate': self.client_certificate,
21354            'client_key': self.client_key,
21355            'database': self.database,
21356            'egress_filter': self.egress_filter,
21357            'healthy': self.healthy,
21358            'hostname': self.hostname,
21359            'id': self.id,
21360            'name': self.name,
21361            'override_database': self.override_database,
21362            'password': self.password,
21363            'port': self.port,
21364            'port_override': self.port_override,
21365            'proxy_cluster_id': self.proxy_cluster_id,
21366            'secret_store_id': self.secret_store_id,
21367            'server_name': self.server_name,
21368            'subdomain': self.subdomain,
21369            'tags': self.tags,
21370            'username': self.username,
21371        }
21372
21373    @classmethod
21374    def from_dict(cls, d):
21375        return cls(
21376            bind_interface=d.get('bind_interface'),
21377            certificate_authority=d.get('certificate_authority'),
21378            client_certificate=d.get('client_certificate'),
21379            client_key=d.get('client_key'),
21380            database=d.get('database'),
21381            egress_filter=d.get('egress_filter'),
21382            healthy=d.get('healthy'),
21383            hostname=d.get('hostname'),
21384            id=d.get('id'),
21385            name=d.get('name'),
21386            override_database=d.get('override_database'),
21387            password=d.get('password'),
21388            port=d.get('port'),
21389            port_override=d.get('port_override'),
21390            proxy_cluster_id=d.get('proxy_cluster_id'),
21391            secret_store_id=d.get('secret_store_id'),
21392            server_name=d.get('server_name'),
21393            subdomain=d.get('subdomain'),
21394            tags=d.get('tags'),
21395            username=d.get('username'),
21396        )
MTLSPostgres( bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, server_name=None, subdomain=None, tags=None, username=None)
21221    def __init__(
21222        self,
21223        bind_interface=None,
21224        certificate_authority=None,
21225        client_certificate=None,
21226        client_key=None,
21227        database=None,
21228        egress_filter=None,
21229        healthy=None,
21230        hostname=None,
21231        id=None,
21232        name=None,
21233        override_database=None,
21234        password=None,
21235        port=None,
21236        port_override=None,
21237        proxy_cluster_id=None,
21238        secret_store_id=None,
21239        server_name=None,
21240        subdomain=None,
21241        tags=None,
21242        username=None,
21243    ):
21244        self.bind_interface = bind_interface if bind_interface is not None else ''
21245        '''
21246         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21247        '''
21248        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
21249        '''
21250         The CA to authenticate TLS connections with.
21251        '''
21252        self.client_certificate = client_certificate if client_certificate is not None else ''
21253        '''
21254         The certificate to authenticate TLS connections with.
21255        '''
21256        self.client_key = client_key if client_key is not None else ''
21257        '''
21258         The key to authenticate TLS connections with.
21259        '''
21260        self.database = database if database is not None else ''
21261        '''
21262         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21263        '''
21264        self.egress_filter = egress_filter if egress_filter is not None else ''
21265        '''
21266         A filter applied to the routing logic to pin datasource to nodes.
21267        '''
21268        self.healthy = healthy if healthy is not None else False
21269        '''
21270         True if the datasource is reachable and the credentials are valid.
21271        '''
21272        self.hostname = hostname if hostname is not None else ''
21273        '''
21274         The host to dial to initiate a connection from the egress node to this resource.
21275        '''
21276        self.id = id if id is not None else ''
21277        '''
21278         Unique identifier of the Resource.
21279        '''
21280        self.name = name if name is not None else ''
21281        '''
21282         Unique human-readable name of the Resource.
21283        '''
21284        self.override_database = override_database if override_database is not None else False
21285        '''
21286         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21287        '''
21288        self.password = password if password is not None else ''
21289        '''
21290         The password to authenticate with.
21291        '''
21292        self.port = port if port is not None else 0
21293        '''
21294         The port to dial to initiate a connection from the egress node to this resource.
21295        '''
21296        self.port_override = port_override if port_override is not None else 0
21297        '''
21298         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21299        '''
21300        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21301        '''
21302         ID of the proxy cluster for this resource, if any.
21303        '''
21304        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21305        '''
21306         ID of the secret store containing credentials for this resource, if any.
21307        '''
21308        self.server_name = server_name if server_name is not None else ''
21309        '''
21310         Server name for TLS verification (unverified by StrongDM if empty)
21311        '''
21312        self.subdomain = subdomain if subdomain is not None else ''
21313        '''
21314         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21315        '''
21316        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21317        '''
21318         Tags is a map of key, value pairs.
21319        '''
21320        self.username = username if username is not None else ''
21321        '''
21322         The username to authenticate with.
21323        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

server_name

Server name for TLS verification (unverified by StrongDM if empty)

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
21349    def to_dict(self):
21350        return {
21351            'bind_interface': self.bind_interface,
21352            'certificate_authority': self.certificate_authority,
21353            'client_certificate': self.client_certificate,
21354            'client_key': self.client_key,
21355            'database': self.database,
21356            'egress_filter': self.egress_filter,
21357            'healthy': self.healthy,
21358            'hostname': self.hostname,
21359            'id': self.id,
21360            'name': self.name,
21361            'override_database': self.override_database,
21362            'password': self.password,
21363            'port': self.port,
21364            'port_override': self.port_override,
21365            'proxy_cluster_id': self.proxy_cluster_id,
21366            'secret_store_id': self.secret_store_id,
21367            'server_name': self.server_name,
21368            'subdomain': self.subdomain,
21369            'tags': self.tags,
21370            'username': self.username,
21371        }
@classmethod
def from_dict(cls, d)
21373    @classmethod
21374    def from_dict(cls, d):
21375        return cls(
21376            bind_interface=d.get('bind_interface'),
21377            certificate_authority=d.get('certificate_authority'),
21378            client_certificate=d.get('client_certificate'),
21379            client_key=d.get('client_key'),
21380            database=d.get('database'),
21381            egress_filter=d.get('egress_filter'),
21382            healthy=d.get('healthy'),
21383            hostname=d.get('hostname'),
21384            id=d.get('id'),
21385            name=d.get('name'),
21386            override_database=d.get('override_database'),
21387            password=d.get('password'),
21388            port=d.get('port'),
21389            port_override=d.get('port_override'),
21390            proxy_cluster_id=d.get('proxy_cluster_id'),
21391            secret_store_id=d.get('secret_store_id'),
21392            server_name=d.get('server_name'),
21393            subdomain=d.get('subdomain'),
21394            tags=d.get('tags'),
21395            username=d.get('username'),
21396        )
class ManagedSecret:
21399class ManagedSecret:
21400    '''
21401         ManagedSecret contains details about managed secret
21402    '''
21403    __slots__ = [
21404        'config',
21405        'expires_at',
21406        'id',
21407        'last_rotated_at',
21408        'lock_required',
21409        'name',
21410        'policy',
21411        'secret_engine_id',
21412        'secret_store_path',
21413        'tags',
21414        'value',
21415    ]
21416
21417    def __init__(
21418        self,
21419        config=None,
21420        expires_at=None,
21421        id=None,
21422        last_rotated_at=None,
21423        lock_required=None,
21424        name=None,
21425        policy=None,
21426        secret_engine_id=None,
21427        secret_store_path=None,
21428        tags=None,
21429        value=None,
21430    ):
21431        self.config = config if config is not None else ''
21432        '''
21433         public part of the secret value
21434        '''
21435        self.expires_at = expires_at if expires_at is not None else None
21436        '''
21437         Timestamp of when secret is going to be rotated
21438        '''
21439        self.id = id if id is not None else ''
21440        '''
21441         Unique identifier of the Managed Secret.
21442        '''
21443        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
21444        '''
21445         Timestamp of when secret was last rotated
21446        '''
21447        self.lock_required = lock_required if lock_required is not None else False
21448        '''
21449         Whether the secret requires a lock to access
21450        '''
21451        self.name = name if name is not None else ''
21452        '''
21453         Unique human-readable name of the Managed Secret.
21454        '''
21455        self.policy = policy if policy is not None else None
21456        '''
21457         Password and rotation policy for the secret
21458        '''
21459        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
21460        '''
21461         An ID of a Secret Engine linked with the Managed Secret.
21462        '''
21463        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
21464        '''
21465         Path in a secret store.
21466        '''
21467        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21468        '''
21469         Tags is a map of key, value pairs.
21470        '''
21471        self.value = value if value is not None else b''
21472        '''
21473         Sensitive value of the secret.
21474        '''
21475
21476    def __repr__(self):
21477        return '<sdm.ManagedSecret ' + \
21478            'config: ' + repr(self.config) + ' ' +\
21479            'expires_at: ' + repr(self.expires_at) + ' ' +\
21480            'id: ' + repr(self.id) + ' ' +\
21481            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
21482            'lock_required: ' + repr(self.lock_required) + ' ' +\
21483            'name: ' + repr(self.name) + ' ' +\
21484            'policy: ' + repr(self.policy) + ' ' +\
21485            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
21486            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
21487            'tags: ' + repr(self.tags) + ' ' +\
21488            'value: ' + repr(self.value) + ' ' +\
21489            '>'
21490
21491    def to_dict(self):
21492        return {
21493            'config': self.config,
21494            'expires_at': self.expires_at,
21495            'id': self.id,
21496            'last_rotated_at': self.last_rotated_at,
21497            'lock_required': self.lock_required,
21498            'name': self.name,
21499            'policy': self.policy,
21500            'secret_engine_id': self.secret_engine_id,
21501            'secret_store_path': self.secret_store_path,
21502            'tags': self.tags,
21503            'value': self.value,
21504        }
21505
21506    @classmethod
21507    def from_dict(cls, d):
21508        return cls(
21509            config=d.get('config'),
21510            expires_at=d.get('expires_at'),
21511            id=d.get('id'),
21512            last_rotated_at=d.get('last_rotated_at'),
21513            lock_required=d.get('lock_required'),
21514            name=d.get('name'),
21515            policy=d.get('policy'),
21516            secret_engine_id=d.get('secret_engine_id'),
21517            secret_store_path=d.get('secret_store_path'),
21518            tags=d.get('tags'),
21519            value=d.get('value'),
21520        )

ManagedSecret contains details about managed secret

ManagedSecret( config=None, expires_at=None, id=None, last_rotated_at=None, lock_required=None, name=None, policy=None, secret_engine_id=None, secret_store_path=None, tags=None, value=None)
21417    def __init__(
21418        self,
21419        config=None,
21420        expires_at=None,
21421        id=None,
21422        last_rotated_at=None,
21423        lock_required=None,
21424        name=None,
21425        policy=None,
21426        secret_engine_id=None,
21427        secret_store_path=None,
21428        tags=None,
21429        value=None,
21430    ):
21431        self.config = config if config is not None else ''
21432        '''
21433         public part of the secret value
21434        '''
21435        self.expires_at = expires_at if expires_at is not None else None
21436        '''
21437         Timestamp of when secret is going to be rotated
21438        '''
21439        self.id = id if id is not None else ''
21440        '''
21441         Unique identifier of the Managed Secret.
21442        '''
21443        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
21444        '''
21445         Timestamp of when secret was last rotated
21446        '''
21447        self.lock_required = lock_required if lock_required is not None else False
21448        '''
21449         Whether the secret requires a lock to access
21450        '''
21451        self.name = name if name is not None else ''
21452        '''
21453         Unique human-readable name of the Managed Secret.
21454        '''
21455        self.policy = policy if policy is not None else None
21456        '''
21457         Password and rotation policy for the secret
21458        '''
21459        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
21460        '''
21461         An ID of a Secret Engine linked with the Managed Secret.
21462        '''
21463        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
21464        '''
21465         Path in a secret store.
21466        '''
21467        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21468        '''
21469         Tags is a map of key, value pairs.
21470        '''
21471        self.value = value if value is not None else b''
21472        '''
21473         Sensitive value of the secret.
21474        '''
config

public part of the secret value

expires_at

Timestamp of when secret is going to be rotated

id

Unique identifier of the Managed Secret.

last_rotated_at

Timestamp of when secret was last rotated

lock_required

Whether the secret requires a lock to access

name

Unique human-readable name of the Managed Secret.

policy

Password and rotation policy for the secret

secret_engine_id

An ID of a Secret Engine linked with the Managed Secret.

secret_store_path

Path in a secret store.

tags

Tags is a map of key, value pairs.

value

Sensitive value of the secret.

def to_dict(self)
21491    def to_dict(self):
21492        return {
21493            'config': self.config,
21494            'expires_at': self.expires_at,
21495            'id': self.id,
21496            'last_rotated_at': self.last_rotated_at,
21497            'lock_required': self.lock_required,
21498            'name': self.name,
21499            'policy': self.policy,
21500            'secret_engine_id': self.secret_engine_id,
21501            'secret_store_path': self.secret_store_path,
21502            'tags': self.tags,
21503            'value': self.value,
21504        }
@classmethod
def from_dict(cls, d)
21506    @classmethod
21507    def from_dict(cls, d):
21508        return cls(
21509            config=d.get('config'),
21510            expires_at=d.get('expires_at'),
21511            id=d.get('id'),
21512            last_rotated_at=d.get('last_rotated_at'),
21513            lock_required=d.get('lock_required'),
21514            name=d.get('name'),
21515            policy=d.get('policy'),
21516            secret_engine_id=d.get('secret_engine_id'),
21517            secret_store_path=d.get('secret_store_path'),
21518            tags=d.get('tags'),
21519            value=d.get('value'),
21520        )
class ManagedSecretCreateRequest:
21523class ManagedSecretCreateRequest:
21524    '''
21525         ManagedSecretCreateRequest specifies a Managed Secret to create.
21526    '''
21527    __slots__ = [
21528        'managed_secret',
21529    ]
21530
21531    def __init__(
21532        self,
21533        managed_secret=None,
21534    ):
21535        self.managed_secret = managed_secret if managed_secret is not None else None
21536        '''
21537         Parameters to define the new Managed Secret.
21538        '''
21539
21540    def __repr__(self):
21541        return '<sdm.ManagedSecretCreateRequest ' + \
21542            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
21543            '>'
21544
21545    def to_dict(self):
21546        return {
21547            'managed_secret': self.managed_secret,
21548        }
21549
21550    @classmethod
21551    def from_dict(cls, d):
21552        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretCreateRequest specifies a Managed Secret to create.

ManagedSecretCreateRequest(managed_secret=None)
21531    def __init__(
21532        self,
21533        managed_secret=None,
21534    ):
21535        self.managed_secret = managed_secret if managed_secret is not None else None
21536        '''
21537         Parameters to define the new Managed Secret.
21538        '''
managed_secret

Parameters to define the new Managed Secret.

def to_dict(self)
21545    def to_dict(self):
21546        return {
21547            'managed_secret': self.managed_secret,
21548        }
@classmethod
def from_dict(cls, d)
21550    @classmethod
21551    def from_dict(cls, d):
21552        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretCreateResponse:
21555class ManagedSecretCreateResponse:
21556    '''
21557         ManagedSecretCreateResponse contains information about a Managed Secret after
21558     successful creation.
21559    '''
21560    __slots__ = [
21561        'managed_secret',
21562        'meta',
21563        'rate_limit',
21564    ]
21565
21566    def __init__(
21567        self,
21568        managed_secret=None,
21569        meta=None,
21570        rate_limit=None,
21571    ):
21572        self.managed_secret = managed_secret if managed_secret is not None else None
21573        '''
21574         The requested Managed Secret.
21575        '''
21576        self.meta = meta if meta is not None else None
21577        '''
21578         Reserved for future use.
21579        '''
21580        self.rate_limit = rate_limit if rate_limit is not None else None
21581        '''
21582         Rate limit information.
21583        '''
21584
21585    def __repr__(self):
21586        return '<sdm.ManagedSecretCreateResponse ' + \
21587            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
21588            'meta: ' + repr(self.meta) + ' ' +\
21589            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21590            '>'
21591
21592    def to_dict(self):
21593        return {
21594            'managed_secret': self.managed_secret,
21595            'meta': self.meta,
21596            'rate_limit': self.rate_limit,
21597        }
21598
21599    @classmethod
21600    def from_dict(cls, d):
21601        return cls(
21602            managed_secret=d.get('managed_secret'),
21603            meta=d.get('meta'),
21604            rate_limit=d.get('rate_limit'),
21605        )

ManagedSecretCreateResponse contains information about a Managed Secret after successful creation.

ManagedSecretCreateResponse(managed_secret=None, meta=None, rate_limit=None)
21566    def __init__(
21567        self,
21568        managed_secret=None,
21569        meta=None,
21570        rate_limit=None,
21571    ):
21572        self.managed_secret = managed_secret if managed_secret is not None else None
21573        '''
21574         The requested Managed Secret.
21575        '''
21576        self.meta = meta if meta is not None else None
21577        '''
21578         Reserved for future use.
21579        '''
21580        self.rate_limit = rate_limit if rate_limit is not None else None
21581        '''
21582         Rate limit information.
21583        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21592    def to_dict(self):
21593        return {
21594            'managed_secret': self.managed_secret,
21595            'meta': self.meta,
21596            'rate_limit': self.rate_limit,
21597        }
@classmethod
def from_dict(cls, d)
21599    @classmethod
21600    def from_dict(cls, d):
21601        return cls(
21602            managed_secret=d.get('managed_secret'),
21603            meta=d.get('meta'),
21604            rate_limit=d.get('rate_limit'),
21605        )
class ManagedSecretDeleteRequest:
21608class ManagedSecretDeleteRequest:
21609    '''
21610         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
21611     deleted.
21612    '''
21613    __slots__ = [
21614        'id',
21615    ]
21616
21617    def __init__(
21618        self,
21619        id=None,
21620    ):
21621        self.id = id if id is not None else ''
21622        '''
21623         The unique identifier of the Managed Secret to delete.
21624        '''
21625
21626    def __repr__(self):
21627        return '<sdm.ManagedSecretDeleteRequest ' + \
21628            'id: ' + repr(self.id) + ' ' +\
21629            '>'
21630
21631    def to_dict(self):
21632        return {
21633            'id': self.id,
21634        }
21635
21636    @classmethod
21637    def from_dict(cls, d):
21638        return cls(id=d.get('id'), )

ManagedSecretDeleteRequest specified the ID of a Managed Secret to be deleted.

ManagedSecretDeleteRequest(id=None)
21617    def __init__(
21618        self,
21619        id=None,
21620    ):
21621        self.id = id if id is not None else ''
21622        '''
21623         The unique identifier of the Managed Secret to delete.
21624        '''
id

The unique identifier of the Managed Secret to delete.

def to_dict(self)
21631    def to_dict(self):
21632        return {
21633            'id': self.id,
21634        }
@classmethod
def from_dict(cls, d)
21636    @classmethod
21637    def from_dict(cls, d):
21638        return cls(id=d.get('id'), )
class ManagedSecretDeleteResponse:
21641class ManagedSecretDeleteResponse:
21642    '''
21643         ManagedSecretDeleteResponse contains information about a Managed Secret after
21644     it was deleted.
21645    '''
21646    __slots__ = [
21647        'rate_limit',
21648    ]
21649
21650    def __init__(
21651        self,
21652        rate_limit=None,
21653    ):
21654        self.rate_limit = rate_limit if rate_limit is not None else None
21655        '''
21656         Rate limit information.
21657        '''
21658
21659    def __repr__(self):
21660        return '<sdm.ManagedSecretDeleteResponse ' + \
21661            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21662            '>'
21663
21664    def to_dict(self):
21665        return {
21666            'rate_limit': self.rate_limit,
21667        }
21668
21669    @classmethod
21670    def from_dict(cls, d):
21671        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretDeleteResponse contains information about a Managed Secret after it was deleted.

ManagedSecretDeleteResponse(rate_limit=None)
21650    def __init__(
21651        self,
21652        rate_limit=None,
21653    ):
21654        self.rate_limit = rate_limit if rate_limit is not None else None
21655        '''
21656         Rate limit information.
21657        '''
rate_limit

Rate limit information.

def to_dict(self)
21664    def to_dict(self):
21665        return {
21666            'rate_limit': self.rate_limit,
21667        }
@classmethod
def from_dict(cls, d)
21669    @classmethod
21670    def from_dict(cls, d):
21671        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretGetRequest:
21674class ManagedSecretGetRequest:
21675    '''
21676         ManagedSecretGetRequest specifies which Managed Secret to retrieve
21677    '''
21678    __slots__ = [
21679        'id',
21680    ]
21681
21682    def __init__(
21683        self,
21684        id=None,
21685    ):
21686        self.id = id if id is not None else ''
21687        '''
21688         The unique identifier of the Managed Secret to retrieve.
21689        '''
21690
21691    def __repr__(self):
21692        return '<sdm.ManagedSecretGetRequest ' + \
21693            'id: ' + repr(self.id) + ' ' +\
21694            '>'
21695
21696    def to_dict(self):
21697        return {
21698            'id': self.id,
21699        }
21700
21701    @classmethod
21702    def from_dict(cls, d):
21703        return cls(id=d.get('id'), )

ManagedSecretGetRequest specifies which Managed Secret to retrieve

ManagedSecretGetRequest(id=None)
21682    def __init__(
21683        self,
21684        id=None,
21685    ):
21686        self.id = id if id is not None else ''
21687        '''
21688         The unique identifier of the Managed Secret to retrieve.
21689        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
21696    def to_dict(self):
21697        return {
21698            'id': self.id,
21699        }
@classmethod
def from_dict(cls, d)
21701    @classmethod
21702    def from_dict(cls, d):
21703        return cls(id=d.get('id'), )
class ManagedSecretGetResponse:
21706class ManagedSecretGetResponse:
21707    '''
21708         ManagedSecretGetResponse contains information about requested Managed Secret
21709    '''
21710    __slots__ = [
21711        'managed_secret',
21712        'meta',
21713        'rate_limit',
21714    ]
21715
21716    def __init__(
21717        self,
21718        managed_secret=None,
21719        meta=None,
21720        rate_limit=None,
21721    ):
21722        self.managed_secret = managed_secret if managed_secret is not None else None
21723        '''
21724         The requested Managed Secret.
21725        '''
21726        self.meta = meta if meta is not None else None
21727        '''
21728         Reserved for future use.
21729        '''
21730        self.rate_limit = rate_limit if rate_limit is not None else None
21731        '''
21732         Rate limit information.
21733        '''
21734
21735    def __repr__(self):
21736        return '<sdm.ManagedSecretGetResponse ' + \
21737            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
21738            'meta: ' + repr(self.meta) + ' ' +\
21739            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21740            '>'
21741
21742    def to_dict(self):
21743        return {
21744            'managed_secret': self.managed_secret,
21745            'meta': self.meta,
21746            'rate_limit': self.rate_limit,
21747        }
21748
21749    @classmethod
21750    def from_dict(cls, d):
21751        return cls(
21752            managed_secret=d.get('managed_secret'),
21753            meta=d.get('meta'),
21754            rate_limit=d.get('rate_limit'),
21755        )

ManagedSecretGetResponse contains information about requested Managed Secret

ManagedSecretGetResponse(managed_secret=None, meta=None, rate_limit=None)
21716    def __init__(
21717        self,
21718        managed_secret=None,
21719        meta=None,
21720        rate_limit=None,
21721    ):
21722        self.managed_secret = managed_secret if managed_secret is not None else None
21723        '''
21724         The requested Managed Secret.
21725        '''
21726        self.meta = meta if meta is not None else None
21727        '''
21728         Reserved for future use.
21729        '''
21730        self.rate_limit = rate_limit if rate_limit is not None else None
21731        '''
21732         Rate limit information.
21733        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21742    def to_dict(self):
21743        return {
21744            'managed_secret': self.managed_secret,
21745            'meta': self.meta,
21746            'rate_limit': self.rate_limit,
21747        }
@classmethod
def from_dict(cls, d)
21749    @classmethod
21750    def from_dict(cls, d):
21751        return cls(
21752            managed_secret=d.get('managed_secret'),
21753            meta=d.get('meta'),
21754            rate_limit=d.get('rate_limit'),
21755        )
class ManagedSecretListRequest:
21758class ManagedSecretListRequest:
21759    '''
21760         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
21761     Secrets.
21762    '''
21763    __slots__ = [
21764        'filter',
21765    ]
21766
21767    def __init__(
21768        self,
21769        filter=None,
21770    ):
21771        self.filter = filter if filter is not None else ''
21772        '''
21773         A human-readable filter query string.
21774        '''
21775
21776    def __repr__(self):
21777        return '<sdm.ManagedSecretListRequest ' + \
21778            'filter: ' + repr(self.filter) + ' ' +\
21779            '>'
21780
21781    def to_dict(self):
21782        return {
21783            'filter': self.filter,
21784        }
21785
21786    @classmethod
21787    def from_dict(cls, d):
21788        return cls(filter=d.get('filter'), )

ManagedSecretListRequest specifies criteria for retrieving a list of Managed Secrets.

ManagedSecretListRequest(filter=None)
21767    def __init__(
21768        self,
21769        filter=None,
21770    ):
21771        self.filter = filter if filter is not None else ''
21772        '''
21773         A human-readable filter query string.
21774        '''
filter

A human-readable filter query string.

def to_dict(self)
21781    def to_dict(self):
21782        return {
21783            'filter': self.filter,
21784        }
@classmethod
def from_dict(cls, d)
21786    @classmethod
21787    def from_dict(cls, d):
21788        return cls(filter=d.get('filter'), )
class ManagedSecretListResponse:
21791class ManagedSecretListResponse:
21792    '''
21793         ManagedSecretListResponse contains a list of requested Managed Secrets
21794    '''
21795    __slots__ = [
21796        'rate_limit',
21797    ]
21798
21799    def __init__(
21800        self,
21801        rate_limit=None,
21802    ):
21803        self.rate_limit = rate_limit if rate_limit is not None else None
21804        '''
21805         Rate limit information.
21806        '''
21807
21808    def __repr__(self):
21809        return '<sdm.ManagedSecretListResponse ' + \
21810            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21811            '>'
21812
21813    def to_dict(self):
21814        return {
21815            'rate_limit': self.rate_limit,
21816        }
21817
21818    @classmethod
21819    def from_dict(cls, d):
21820        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretListResponse contains a list of requested Managed Secrets

ManagedSecretListResponse(rate_limit=None)
21799    def __init__(
21800        self,
21801        rate_limit=None,
21802    ):
21803        self.rate_limit = rate_limit if rate_limit is not None else None
21804        '''
21805         Rate limit information.
21806        '''
rate_limit

Rate limit information.

def to_dict(self)
21813    def to_dict(self):
21814        return {
21815            'rate_limit': self.rate_limit,
21816        }
@classmethod
def from_dict(cls, d)
21818    @classmethod
21819    def from_dict(cls, d):
21820        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretLog:
21823class ManagedSecretLog:
21824    '''
21825         ManagedSecretLog contains details about action performed against a managed
21826     secret
21827    '''
21828    __slots__ = [
21829        'account_id',
21830        'action',
21831        'created_at',
21832        'debug',
21833        'id',
21834        'managed_secret_id',
21835        'secret_engine_id',
21836    ]
21837
21838    def __init__(
21839        self,
21840        account_id=None,
21841        action=None,
21842        created_at=None,
21843        debug=None,
21844        id=None,
21845        managed_secret_id=None,
21846        secret_engine_id=None,
21847    ):
21848        self.account_id = account_id if account_id is not None else ''
21849        '''
21850         An ID of the account the action was performed by.
21851        '''
21852        self.action = action if action is not None else ''
21853        '''
21854         The action performed by the account against the managed secret.
21855        '''
21856        self.created_at = created_at if created_at is not None else None
21857        '''
21858         Timestamp of when action was performed.
21859        '''
21860        self.debug = debug if debug is not None else ''
21861        '''
21862         Any debug logs associated with the action.
21863        '''
21864        self.id = id if id is not None else ''
21865        '''
21866         Unique identifier of the Managed Secret Log.
21867        '''
21868        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
21869        '''
21870         An ID of the Managed Secret the action was performed against.
21871        '''
21872        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
21873        '''
21874         An ID of the Secret Engine linked with the Managed Secret.
21875        '''
21876
21877    def __repr__(self):
21878        return '<sdm.ManagedSecretLog ' + \
21879            'account_id: ' + repr(self.account_id) + ' ' +\
21880            'action: ' + repr(self.action) + ' ' +\
21881            'created_at: ' + repr(self.created_at) + ' ' +\
21882            'debug: ' + repr(self.debug) + ' ' +\
21883            'id: ' + repr(self.id) + ' ' +\
21884            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
21885            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
21886            '>'
21887
21888    def to_dict(self):
21889        return {
21890            'account_id': self.account_id,
21891            'action': self.action,
21892            'created_at': self.created_at,
21893            'debug': self.debug,
21894            'id': self.id,
21895            'managed_secret_id': self.managed_secret_id,
21896            'secret_engine_id': self.secret_engine_id,
21897        }
21898
21899    @classmethod
21900    def from_dict(cls, d):
21901        return cls(
21902            account_id=d.get('account_id'),
21903            action=d.get('action'),
21904            created_at=d.get('created_at'),
21905            debug=d.get('debug'),
21906            id=d.get('id'),
21907            managed_secret_id=d.get('managed_secret_id'),
21908            secret_engine_id=d.get('secret_engine_id'),
21909        )

ManagedSecretLog contains details about action performed against a managed secret

ManagedSecretLog( account_id=None, action=None, created_at=None, debug=None, id=None, managed_secret_id=None, secret_engine_id=None)
21838    def __init__(
21839        self,
21840        account_id=None,
21841        action=None,
21842        created_at=None,
21843        debug=None,
21844        id=None,
21845        managed_secret_id=None,
21846        secret_engine_id=None,
21847    ):
21848        self.account_id = account_id if account_id is not None else ''
21849        '''
21850         An ID of the account the action was performed by.
21851        '''
21852        self.action = action if action is not None else ''
21853        '''
21854         The action performed by the account against the managed secret.
21855        '''
21856        self.created_at = created_at if created_at is not None else None
21857        '''
21858         Timestamp of when action was performed.
21859        '''
21860        self.debug = debug if debug is not None else ''
21861        '''
21862         Any debug logs associated with the action.
21863        '''
21864        self.id = id if id is not None else ''
21865        '''
21866         Unique identifier of the Managed Secret Log.
21867        '''
21868        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
21869        '''
21870         An ID of the Managed Secret the action was performed against.
21871        '''
21872        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
21873        '''
21874         An ID of the Secret Engine linked with the Managed Secret.
21875        '''
account_id

An ID of the account the action was performed by.

action

The action performed by the account against the managed secret.

created_at

Timestamp of when action was performed.

debug

Any debug logs associated with the action.

id

Unique identifier of the Managed Secret Log.

managed_secret_id

An ID of the Managed Secret the action was performed against.

secret_engine_id

An ID of the Secret Engine linked with the Managed Secret.

def to_dict(self)
21888    def to_dict(self):
21889        return {
21890            'account_id': self.account_id,
21891            'action': self.action,
21892            'created_at': self.created_at,
21893            'debug': self.debug,
21894            'id': self.id,
21895            'managed_secret_id': self.managed_secret_id,
21896            'secret_engine_id': self.secret_engine_id,
21897        }
@classmethod
def from_dict(cls, d)
21899    @classmethod
21900    def from_dict(cls, d):
21901        return cls(
21902            account_id=d.get('account_id'),
21903            action=d.get('action'),
21904            created_at=d.get('created_at'),
21905            debug=d.get('debug'),
21906            id=d.get('id'),
21907            managed_secret_id=d.get('managed_secret_id'),
21908            secret_engine_id=d.get('secret_engine_id'),
21909        )
class ManagedSecretLogsRequest:
21912class ManagedSecretLogsRequest:
21913    '''
21914         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
21915     Secrets actions.
21916    '''
21917    __slots__ = [
21918        'filter',
21919    ]
21920
21921    def __init__(
21922        self,
21923        filter=None,
21924    ):
21925        self.filter = filter if filter is not None else ''
21926        '''
21927         A human-readable filter query string.
21928        '''
21929
21930    def __repr__(self):
21931        return '<sdm.ManagedSecretLogsRequest ' + \
21932            'filter: ' + repr(self.filter) + ' ' +\
21933            '>'
21934
21935    def to_dict(self):
21936        return {
21937            'filter': self.filter,
21938        }
21939
21940    @classmethod
21941    def from_dict(cls, d):
21942        return cls(filter=d.get('filter'), )

ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed Secrets actions.

ManagedSecretLogsRequest(filter=None)
21921    def __init__(
21922        self,
21923        filter=None,
21924    ):
21925        self.filter = filter if filter is not None else ''
21926        '''
21927         A human-readable filter query string.
21928        '''
filter

A human-readable filter query string.

def to_dict(self)
21935    def to_dict(self):
21936        return {
21937            'filter': self.filter,
21938        }
@classmethod
def from_dict(cls, d)
21940    @classmethod
21941    def from_dict(cls, d):
21942        return cls(filter=d.get('filter'), )
class ManagedSecretLogsResponse:
21945class ManagedSecretLogsResponse:
21946    '''
21947         ManagedSecretLogsResponse contains a list of requested Managed Secrets
21948    '''
21949    __slots__ = [
21950        'rate_limit',
21951    ]
21952
21953    def __init__(
21954        self,
21955        rate_limit=None,
21956    ):
21957        self.rate_limit = rate_limit if rate_limit is not None else None
21958        '''
21959         Rate limit information.
21960        '''
21961
21962    def __repr__(self):
21963        return '<sdm.ManagedSecretLogsResponse ' + \
21964            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21965            '>'
21966
21967    def to_dict(self):
21968        return {
21969            'rate_limit': self.rate_limit,
21970        }
21971
21972    @classmethod
21973    def from_dict(cls, d):
21974        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretLogsResponse contains a list of requested Managed Secrets

ManagedSecretLogsResponse(rate_limit=None)
21953    def __init__(
21954        self,
21955        rate_limit=None,
21956    ):
21957        self.rate_limit = rate_limit if rate_limit is not None else None
21958        '''
21959         Rate limit information.
21960        '''
rate_limit

Rate limit information.

def to_dict(self)
21967    def to_dict(self):
21968        return {
21969            'rate_limit': self.rate_limit,
21970        }
@classmethod
def from_dict(cls, d)
21972    @classmethod
21973    def from_dict(cls, d):
21974        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretPasswordPolicy:
21977class ManagedSecretPasswordPolicy:
21978    __slots__ = [
21979        'allow_repeat',
21980        'exclude_characters',
21981        'exclude_upper_case',
21982        'length',
21983        'num_digits',
21984        'num_symbols',
21985    ]
21986
21987    def __init__(
21988        self,
21989        allow_repeat=None,
21990        exclude_characters=None,
21991        exclude_upper_case=None,
21992        length=None,
21993        num_digits=None,
21994        num_symbols=None,
21995    ):
21996        self.allow_repeat = allow_repeat if allow_repeat is not None else False
21997        '''
21998         If set to true allows for consecutive characters to repeat itself
21999        '''
22000        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
22001        '''
22002         Characters to exclude when generating password
22003        '''
22004        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
22005        '''
22006         If set to true do not include upper case letters when generating password
22007        '''
22008        self.length = length if length is not None else 0
22009        '''
22010         Password length
22011        '''
22012        self.num_digits = num_digits if num_digits is not None else 0
22013        '''
22014         Numbers of digits to use when generating password
22015        '''
22016        self.num_symbols = num_symbols if num_symbols is not None else 0
22017        '''
22018         Number of symbols to use when generating password
22019        '''
22020
22021    def __repr__(self):
22022        return '<sdm.ManagedSecretPasswordPolicy ' + \
22023            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
22024            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
22025            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
22026            'length: ' + repr(self.length) + ' ' +\
22027            'num_digits: ' + repr(self.num_digits) + ' ' +\
22028            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
22029            '>'
22030
22031    def to_dict(self):
22032        return {
22033            'allow_repeat': self.allow_repeat,
22034            'exclude_characters': self.exclude_characters,
22035            'exclude_upper_case': self.exclude_upper_case,
22036            'length': self.length,
22037            'num_digits': self.num_digits,
22038            'num_symbols': self.num_symbols,
22039        }
22040
22041    @classmethod
22042    def from_dict(cls, d):
22043        return cls(
22044            allow_repeat=d.get('allow_repeat'),
22045            exclude_characters=d.get('exclude_characters'),
22046            exclude_upper_case=d.get('exclude_upper_case'),
22047            length=d.get('length'),
22048            num_digits=d.get('num_digits'),
22049            num_symbols=d.get('num_symbols'),
22050        )
ManagedSecretPasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
21987    def __init__(
21988        self,
21989        allow_repeat=None,
21990        exclude_characters=None,
21991        exclude_upper_case=None,
21992        length=None,
21993        num_digits=None,
21994        num_symbols=None,
21995    ):
21996        self.allow_repeat = allow_repeat if allow_repeat is not None else False
21997        '''
21998         If set to true allows for consecutive characters to repeat itself
21999        '''
22000        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
22001        '''
22002         Characters to exclude when generating password
22003        '''
22004        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
22005        '''
22006         If set to true do not include upper case letters when generating password
22007        '''
22008        self.length = length if length is not None else 0
22009        '''
22010         Password length
22011        '''
22012        self.num_digits = num_digits if num_digits is not None else 0
22013        '''
22014         Numbers of digits to use when generating password
22015        '''
22016        self.num_symbols = num_symbols if num_symbols is not None else 0
22017        '''
22018         Number of symbols to use when generating password
22019        '''
allow_repeat

If set to true allows for consecutive characters to repeat itself

exclude_characters

Characters to exclude when generating password

exclude_upper_case

If set to true do not include upper case letters when generating password

length

Password length

num_digits

Numbers of digits to use when generating password

num_symbols

Number of symbols to use when generating password

def to_dict(self)
22031    def to_dict(self):
22032        return {
22033            'allow_repeat': self.allow_repeat,
22034            'exclude_characters': self.exclude_characters,
22035            'exclude_upper_case': self.exclude_upper_case,
22036            'length': self.length,
22037            'num_digits': self.num_digits,
22038            'num_symbols': self.num_symbols,
22039        }
@classmethod
def from_dict(cls, d)
22041    @classmethod
22042    def from_dict(cls, d):
22043        return cls(
22044            allow_repeat=d.get('allow_repeat'),
22045            exclude_characters=d.get('exclude_characters'),
22046            exclude_upper_case=d.get('exclude_upper_case'),
22047            length=d.get('length'),
22048            num_digits=d.get('num_digits'),
22049            num_symbols=d.get('num_symbols'),
22050        )
class ManagedSecretPolicy:
22053class ManagedSecretPolicy:
22054    '''
22055         ManagedSecretPolicy contains password and rotation policy for managed secret
22056    '''
22057    __slots__ = [
22058        'password_policy',
22059        'rotation_policy',
22060    ]
22061
22062    def __init__(
22063        self,
22064        password_policy=None,
22065        rotation_policy=None,
22066    ):
22067        self.password_policy = password_policy if password_policy is not None else None
22068        '''
22069         Password policy for a managed secret
22070        '''
22071        self.rotation_policy = rotation_policy if rotation_policy is not None else None
22072        '''
22073         Rotation policy for a managed secret
22074        '''
22075
22076    def __repr__(self):
22077        return '<sdm.ManagedSecretPolicy ' + \
22078            'password_policy: ' + repr(self.password_policy) + ' ' +\
22079            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
22080            '>'
22081
22082    def to_dict(self):
22083        return {
22084            'password_policy': self.password_policy,
22085            'rotation_policy': self.rotation_policy,
22086        }
22087
22088    @classmethod
22089    def from_dict(cls, d):
22090        return cls(
22091            password_policy=d.get('password_policy'),
22092            rotation_policy=d.get('rotation_policy'),
22093        )

ManagedSecretPolicy contains password and rotation policy for managed secret

ManagedSecretPolicy(password_policy=None, rotation_policy=None)
22062    def __init__(
22063        self,
22064        password_policy=None,
22065        rotation_policy=None,
22066    ):
22067        self.password_policy = password_policy if password_policy is not None else None
22068        '''
22069         Password policy for a managed secret
22070        '''
22071        self.rotation_policy = rotation_policy if rotation_policy is not None else None
22072        '''
22073         Rotation policy for a managed secret
22074        '''
password_policy

Password policy for a managed secret

rotation_policy

Rotation policy for a managed secret

def to_dict(self)
22082    def to_dict(self):
22083        return {
22084            'password_policy': self.password_policy,
22085            'rotation_policy': self.rotation_policy,
22086        }
@classmethod
def from_dict(cls, d)
22088    @classmethod
22089    def from_dict(cls, d):
22090        return cls(
22091            password_policy=d.get('password_policy'),
22092            rotation_policy=d.get('rotation_policy'),
22093        )
class ManagedSecretRetrieveRequest:
22096class ManagedSecretRetrieveRequest:
22097    '''
22098         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
22099    '''
22100    __slots__ = [
22101        'id',
22102    ]
22103
22104    def __init__(
22105        self,
22106        id=None,
22107    ):
22108        self.id = id if id is not None else ''
22109        '''
22110         The unique identifier of the Managed Secret to retrieve.
22111        '''
22112
22113    def __repr__(self):
22114        return '<sdm.ManagedSecretRetrieveRequest ' + \
22115            'id: ' + repr(self.id) + ' ' +\
22116            '>'
22117
22118    def to_dict(self):
22119        return {
22120            'id': self.id,
22121        }
22122
22123    @classmethod
22124    def from_dict(cls, d):
22125        return cls(id=d.get('id'), )

ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve

ManagedSecretRetrieveRequest(id=None)
22104    def __init__(
22105        self,
22106        id=None,
22107    ):
22108        self.id = id if id is not None else ''
22109        '''
22110         The unique identifier of the Managed Secret to retrieve.
22111        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
22118    def to_dict(self):
22119        return {
22120            'id': self.id,
22121        }
@classmethod
def from_dict(cls, d)
22123    @classmethod
22124    def from_dict(cls, d):
22125        return cls(id=d.get('id'), )
class ManagedSecretRetrieveResponse:
22128class ManagedSecretRetrieveResponse:
22129    '''
22130         ManagedSecretRetrieveResponse contains information about requested Managed
22131     Secret
22132    '''
22133    __slots__ = [
22134        'managed_secret',
22135        'meta',
22136        'rate_limit',
22137    ]
22138
22139    def __init__(
22140        self,
22141        managed_secret=None,
22142        meta=None,
22143        rate_limit=None,
22144    ):
22145        self.managed_secret = managed_secret if managed_secret is not None else None
22146        '''
22147         The requested Managed Secret.
22148        '''
22149        self.meta = meta if meta is not None else None
22150        '''
22151         Reserved for future use.
22152        '''
22153        self.rate_limit = rate_limit if rate_limit is not None else None
22154        '''
22155         Rate limit information.
22156        '''
22157
22158    def __repr__(self):
22159        return '<sdm.ManagedSecretRetrieveResponse ' + \
22160            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
22161            'meta: ' + repr(self.meta) + ' ' +\
22162            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22163            '>'
22164
22165    def to_dict(self):
22166        return {
22167            'managed_secret': self.managed_secret,
22168            'meta': self.meta,
22169            'rate_limit': self.rate_limit,
22170        }
22171
22172    @classmethod
22173    def from_dict(cls, d):
22174        return cls(
22175            managed_secret=d.get('managed_secret'),
22176            meta=d.get('meta'),
22177            rate_limit=d.get('rate_limit'),
22178        )

ManagedSecretRetrieveResponse contains information about requested Managed Secret

ManagedSecretRetrieveResponse(managed_secret=None, meta=None, rate_limit=None)
22139    def __init__(
22140        self,
22141        managed_secret=None,
22142        meta=None,
22143        rate_limit=None,
22144    ):
22145        self.managed_secret = managed_secret if managed_secret is not None else None
22146        '''
22147         The requested Managed Secret.
22148        '''
22149        self.meta = meta if meta is not None else None
22150        '''
22151         Reserved for future use.
22152        '''
22153        self.rate_limit = rate_limit if rate_limit is not None else None
22154        '''
22155         Rate limit information.
22156        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22165    def to_dict(self):
22166        return {
22167            'managed_secret': self.managed_secret,
22168            'meta': self.meta,
22169            'rate_limit': self.rate_limit,
22170        }
@classmethod
def from_dict(cls, d)
22172    @classmethod
22173    def from_dict(cls, d):
22174        return cls(
22175            managed_secret=d.get('managed_secret'),
22176            meta=d.get('meta'),
22177            rate_limit=d.get('rate_limit'),
22178        )
class ManagedSecretRotateRequest:
22181class ManagedSecretRotateRequest:
22182    '''
22183         ManagedSecretRotateRequest specifies Managed Secret to rotate
22184    '''
22185    __slots__ = [
22186        'id',
22187    ]
22188
22189    def __init__(
22190        self,
22191        id=None,
22192    ):
22193        self.id = id if id is not None else ''
22194        '''
22195         The unique identifier of the Managed Secret to rotate.
22196        '''
22197
22198    def __repr__(self):
22199        return '<sdm.ManagedSecretRotateRequest ' + \
22200            'id: ' + repr(self.id) + ' ' +\
22201            '>'
22202
22203    def to_dict(self):
22204        return {
22205            'id': self.id,
22206        }
22207
22208    @classmethod
22209    def from_dict(cls, d):
22210        return cls(id=d.get('id'), )

ManagedSecretRotateRequest specifies Managed Secret to rotate

ManagedSecretRotateRequest(id=None)
22189    def __init__(
22190        self,
22191        id=None,
22192    ):
22193        self.id = id if id is not None else ''
22194        '''
22195         The unique identifier of the Managed Secret to rotate.
22196        '''
id

The unique identifier of the Managed Secret to rotate.

def to_dict(self)
22203    def to_dict(self):
22204        return {
22205            'id': self.id,
22206        }
@classmethod
def from_dict(cls, d)
22208    @classmethod
22209    def from_dict(cls, d):
22210        return cls(id=d.get('id'), )
class ManagedSecretRotateResponse:
22213class ManagedSecretRotateResponse:
22214    '''
22215         ManagedSecretRotateResponse contains information about Secret Engine after
22216     successful rotation.
22217    '''
22218    __slots__ = [
22219        'meta',
22220        'rate_limit',
22221    ]
22222
22223    def __init__(
22224        self,
22225        meta=None,
22226        rate_limit=None,
22227    ):
22228        self.meta = meta if meta is not None else None
22229        '''
22230         Reserved for future use.
22231        '''
22232        self.rate_limit = rate_limit if rate_limit is not None else None
22233        '''
22234         Rate limit information.
22235        '''
22236
22237    def __repr__(self):
22238        return '<sdm.ManagedSecretRotateResponse ' + \
22239            'meta: ' + repr(self.meta) + ' ' +\
22240            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22241            '>'
22242
22243    def to_dict(self):
22244        return {
22245            'meta': self.meta,
22246            'rate_limit': self.rate_limit,
22247        }
22248
22249    @classmethod
22250    def from_dict(cls, d):
22251        return cls(
22252            meta=d.get('meta'),
22253            rate_limit=d.get('rate_limit'),
22254        )

ManagedSecretRotateResponse contains information about Secret Engine after successful rotation.

ManagedSecretRotateResponse(meta=None, rate_limit=None)
22223    def __init__(
22224        self,
22225        meta=None,
22226        rate_limit=None,
22227    ):
22228        self.meta = meta if meta is not None else None
22229        '''
22230         Reserved for future use.
22231        '''
22232        self.rate_limit = rate_limit if rate_limit is not None else None
22233        '''
22234         Rate limit information.
22235        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22243    def to_dict(self):
22244        return {
22245            'meta': self.meta,
22246            'rate_limit': self.rate_limit,
22247        }
@classmethod
def from_dict(cls, d)
22249    @classmethod
22250    def from_dict(cls, d):
22251        return cls(
22252            meta=d.get('meta'),
22253            rate_limit=d.get('rate_limit'),
22254        )
class ManagedSecretRotationPolicy:
22257class ManagedSecretRotationPolicy:
22258    __slots__ = []
22259
22260    def __init__(self, ):
22261        pass
22262
22263    def __repr__(self):
22264        return '<sdm.ManagedSecretRotationPolicy ' + \
22265            '>'
22266
22267    def to_dict(self):
22268        return {}
22269
22270    @classmethod
22271    def from_dict(cls, d):
22272        return cls()
ManagedSecretRotationPolicy()
22260    def __init__(self, ):
22261        pass
def to_dict(self)
22267    def to_dict(self):
22268        return {}
@classmethod
def from_dict(cls, d)
22270    @classmethod
22271    def from_dict(cls, d):
22272        return cls()
class ManagedSecretUpdateRequest:
22275class ManagedSecretUpdateRequest:
22276    '''
22277         ManagedSecretUpdateRequest specifies Managed Secret to update
22278    '''
22279    __slots__ = [
22280        'managed_secret',
22281    ]
22282
22283    def __init__(
22284        self,
22285        managed_secret=None,
22286    ):
22287        self.managed_secret = managed_secret if managed_secret is not None else None
22288        '''
22289         Managed Secret to update
22290        '''
22291
22292    def __repr__(self):
22293        return '<sdm.ManagedSecretUpdateRequest ' + \
22294            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
22295            '>'
22296
22297    def to_dict(self):
22298        return {
22299            'managed_secret': self.managed_secret,
22300        }
22301
22302    @classmethod
22303    def from_dict(cls, d):
22304        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretUpdateRequest specifies Managed Secret to update

ManagedSecretUpdateRequest(managed_secret=None)
22283    def __init__(
22284        self,
22285        managed_secret=None,
22286    ):
22287        self.managed_secret = managed_secret if managed_secret is not None else None
22288        '''
22289         Managed Secret to update
22290        '''
managed_secret

Managed Secret to update

def to_dict(self)
22297    def to_dict(self):
22298        return {
22299            'managed_secret': self.managed_secret,
22300        }
@classmethod
def from_dict(cls, d)
22302    @classmethod
22303    def from_dict(cls, d):
22304        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretUpdateResponse:
22307class ManagedSecretUpdateResponse:
22308    '''
22309         ManagedSecretUpdateResponse contains information about Secret Engine after
22310     successful update.
22311    '''
22312    __slots__ = [
22313        'managed_secret',
22314        'meta',
22315        'rate_limit',
22316    ]
22317
22318    def __init__(
22319        self,
22320        managed_secret=None,
22321        meta=None,
22322        rate_limit=None,
22323    ):
22324        self.managed_secret = managed_secret if managed_secret is not None else None
22325        '''
22326         The requested Managed Secret.
22327        '''
22328        self.meta = meta if meta is not None else None
22329        '''
22330         Reserved for future use.
22331        '''
22332        self.rate_limit = rate_limit if rate_limit is not None else None
22333        '''
22334         Rate limit information.
22335        '''
22336
22337    def __repr__(self):
22338        return '<sdm.ManagedSecretUpdateResponse ' + \
22339            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
22340            'meta: ' + repr(self.meta) + ' ' +\
22341            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22342            '>'
22343
22344    def to_dict(self):
22345        return {
22346            'managed_secret': self.managed_secret,
22347            'meta': self.meta,
22348            'rate_limit': self.rate_limit,
22349        }
22350
22351    @classmethod
22352    def from_dict(cls, d):
22353        return cls(
22354            managed_secret=d.get('managed_secret'),
22355            meta=d.get('meta'),
22356            rate_limit=d.get('rate_limit'),
22357        )

ManagedSecretUpdateResponse contains information about Secret Engine after successful update.

ManagedSecretUpdateResponse(managed_secret=None, meta=None, rate_limit=None)
22318    def __init__(
22319        self,
22320        managed_secret=None,
22321        meta=None,
22322        rate_limit=None,
22323    ):
22324        self.managed_secret = managed_secret if managed_secret is not None else None
22325        '''
22326         The requested Managed Secret.
22327        '''
22328        self.meta = meta if meta is not None else None
22329        '''
22330         Reserved for future use.
22331        '''
22332        self.rate_limit = rate_limit if rate_limit is not None else None
22333        '''
22334         Rate limit information.
22335        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22344    def to_dict(self):
22345        return {
22346            'managed_secret': self.managed_secret,
22347            'meta': self.meta,
22348            'rate_limit': self.rate_limit,
22349        }
@classmethod
def from_dict(cls, d)
22351    @classmethod
22352    def from_dict(cls, d):
22353        return cls(
22354            managed_secret=d.get('managed_secret'),
22355            meta=d.get('meta'),
22356            rate_limit=d.get('rate_limit'),
22357        )
class ManagedSecretValidateRequest:
22360class ManagedSecretValidateRequest:
22361    '''
22362         ManagedSecretValidateRequest specifies which Managed Secret to validate
22363    '''
22364    __slots__ = [
22365        'id',
22366    ]
22367
22368    def __init__(
22369        self,
22370        id=None,
22371    ):
22372        self.id = id if id is not None else ''
22373        '''
22374         The unique identifier of the Managed Secret to validate.
22375        '''
22376
22377    def __repr__(self):
22378        return '<sdm.ManagedSecretValidateRequest ' + \
22379            'id: ' + repr(self.id) + ' ' +\
22380            '>'
22381
22382    def to_dict(self):
22383        return {
22384            'id': self.id,
22385        }
22386
22387    @classmethod
22388    def from_dict(cls, d):
22389        return cls(id=d.get('id'), )

ManagedSecretValidateRequest specifies which Managed Secret to validate

ManagedSecretValidateRequest(id=None)
22368    def __init__(
22369        self,
22370        id=None,
22371    ):
22372        self.id = id if id is not None else ''
22373        '''
22374         The unique identifier of the Managed Secret to validate.
22375        '''
id

The unique identifier of the Managed Secret to validate.

def to_dict(self)
22382    def to_dict(self):
22383        return {
22384            'id': self.id,
22385        }
@classmethod
def from_dict(cls, d)
22387    @classmethod
22388    def from_dict(cls, d):
22389        return cls(id=d.get('id'), )
class ManagedSecretValidateResponse:
22392class ManagedSecretValidateResponse:
22393    '''
22394         ManagedSecretValidateResponse contains validity of requested Managed
22395     Secret
22396    '''
22397    __slots__ = [
22398        'invalid_info',
22399        'meta',
22400        'rate_limit',
22401        'valid',
22402    ]
22403
22404    def __init__(
22405        self,
22406        invalid_info=None,
22407        meta=None,
22408        rate_limit=None,
22409        valid=None,
22410    ):
22411        self.invalid_info = invalid_info if invalid_info is not None else ''
22412        '''
22413         Information about why secret is invalid
22414        '''
22415        self.meta = meta if meta is not None else None
22416        '''
22417         Reserved for future use.
22418        '''
22419        self.rate_limit = rate_limit if rate_limit is not None else None
22420        '''
22421         Rate limit information.
22422        '''
22423        self.valid = valid if valid is not None else False
22424        '''
22425         Whether the secret is valid
22426        '''
22427
22428    def __repr__(self):
22429        return '<sdm.ManagedSecretValidateResponse ' + \
22430            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
22431            'meta: ' + repr(self.meta) + ' ' +\
22432            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22433            'valid: ' + repr(self.valid) + ' ' +\
22434            '>'
22435
22436    def to_dict(self):
22437        return {
22438            'invalid_info': self.invalid_info,
22439            'meta': self.meta,
22440            'rate_limit': self.rate_limit,
22441            'valid': self.valid,
22442        }
22443
22444    @classmethod
22445    def from_dict(cls, d):
22446        return cls(
22447            invalid_info=d.get('invalid_info'),
22448            meta=d.get('meta'),
22449            rate_limit=d.get('rate_limit'),
22450            valid=d.get('valid'),
22451        )

ManagedSecretValidateResponse contains validity of requested Managed Secret

ManagedSecretValidateResponse(invalid_info=None, meta=None, rate_limit=None, valid=None)
22404    def __init__(
22405        self,
22406        invalid_info=None,
22407        meta=None,
22408        rate_limit=None,
22409        valid=None,
22410    ):
22411        self.invalid_info = invalid_info if invalid_info is not None else ''
22412        '''
22413         Information about why secret is invalid
22414        '''
22415        self.meta = meta if meta is not None else None
22416        '''
22417         Reserved for future use.
22418        '''
22419        self.rate_limit = rate_limit if rate_limit is not None else None
22420        '''
22421         Rate limit information.
22422        '''
22423        self.valid = valid if valid is not None else False
22424        '''
22425         Whether the secret is valid
22426        '''
invalid_info

Information about why secret is invalid

meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Whether the secret is valid

def to_dict(self)
22436    def to_dict(self):
22437        return {
22438            'invalid_info': self.invalid_info,
22439            'meta': self.meta,
22440            'rate_limit': self.rate_limit,
22441            'valid': self.valid,
22442        }
@classmethod
def from_dict(cls, d)
22444    @classmethod
22445    def from_dict(cls, d):
22446        return cls(
22447            invalid_info=d.get('invalid_info'),
22448            meta=d.get('meta'),
22449            rate_limit=d.get('rate_limit'),
22450            valid=d.get('valid'),
22451        )
class MappedIdentities:
22454class MappedIdentities:
22455    '''
22456         MappedIdentities represents the mapped identity privileges granted alongside an entitlement.
22457    '''
22458    __slots__ = [
22459        'kubernetes',
22460    ]
22461
22462    def __init__(
22463        self,
22464        kubernetes=None,
22465    ):
22466        self.kubernetes = kubernetes if kubernetes is not None else None
22467        '''
22468         Kubernetes group memberships.
22469        '''
22470
22471    def __repr__(self):
22472        return '<sdm.MappedIdentities ' + \
22473            'kubernetes: ' + repr(self.kubernetes) + ' ' +\
22474            '>'
22475
22476    def to_dict(self):
22477        return {
22478            'kubernetes': self.kubernetes,
22479        }
22480
22481    @classmethod
22482    def from_dict(cls, d):
22483        return cls(kubernetes=d.get('kubernetes'), )

MappedIdentities represents the mapped identity privileges granted alongside an entitlement.

MappedIdentities(kubernetes=None)
22462    def __init__(
22463        self,
22464        kubernetes=None,
22465    ):
22466        self.kubernetes = kubernetes if kubernetes is not None else None
22467        '''
22468         Kubernetes group memberships.
22469        '''
kubernetes

Kubernetes group memberships.

def to_dict(self)
22476    def to_dict(self):
22477        return {
22478            'kubernetes': self.kubernetes,
22479        }
@classmethod
def from_dict(cls, d)
22481    @classmethod
22482    def from_dict(cls, d):
22483        return cls(kubernetes=d.get('kubernetes'), )
class Maria:
22486class Maria:
22487    __slots__ = [
22488        'bind_interface',
22489        'database',
22490        'egress_filter',
22491        'healthy',
22492        'hostname',
22493        'id',
22494        'name',
22495        'password',
22496        'port',
22497        'port_override',
22498        'proxy_cluster_id',
22499        'require_native_auth',
22500        'secret_store_id',
22501        'subdomain',
22502        'tags',
22503        'use_azure_single_server_usernames',
22504        'username',
22505    ]
22506
22507    def __init__(
22508        self,
22509        bind_interface=None,
22510        database=None,
22511        egress_filter=None,
22512        healthy=None,
22513        hostname=None,
22514        id=None,
22515        name=None,
22516        password=None,
22517        port=None,
22518        port_override=None,
22519        proxy_cluster_id=None,
22520        require_native_auth=None,
22521        secret_store_id=None,
22522        subdomain=None,
22523        tags=None,
22524        use_azure_single_server_usernames=None,
22525        username=None,
22526    ):
22527        self.bind_interface = bind_interface if bind_interface is not None else ''
22528        '''
22529         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22530        '''
22531        self.database = database if database is not None else ''
22532        '''
22533         The database for healthchecks. Does not affect client requests.
22534        '''
22535        self.egress_filter = egress_filter if egress_filter is not None else ''
22536        '''
22537         A filter applied to the routing logic to pin datasource to nodes.
22538        '''
22539        self.healthy = healthy if healthy is not None else False
22540        '''
22541         True if the datasource is reachable and the credentials are valid.
22542        '''
22543        self.hostname = hostname if hostname is not None else ''
22544        '''
22545         The host to dial to initiate a connection from the egress node to this resource.
22546        '''
22547        self.id = id if id is not None else ''
22548        '''
22549         Unique identifier of the Resource.
22550        '''
22551        self.name = name if name is not None else ''
22552        '''
22553         Unique human-readable name of the Resource.
22554        '''
22555        self.password = password if password is not None else ''
22556        '''
22557         The password to authenticate with.
22558        '''
22559        self.port = port if port is not None else 0
22560        '''
22561         The port to dial to initiate a connection from the egress node to this resource.
22562        '''
22563        self.port_override = port_override if port_override is not None else 0
22564        '''
22565         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22566        '''
22567        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22568        '''
22569         ID of the proxy cluster for this resource, if any.
22570        '''
22571        self.require_native_auth = require_native_auth if require_native_auth is not None else False
22572        '''
22573         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
22574        '''
22575        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22576        '''
22577         ID of the secret store containing credentials for this resource, if any.
22578        '''
22579        self.subdomain = subdomain if subdomain is not None else ''
22580        '''
22581         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22582        '''
22583        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22584        '''
22585         Tags is a map of key, value pairs.
22586        '''
22587        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
22588        '''
22589         If true, appends the hostname to the username when hitting a database.azure.com address
22590        '''
22591        self.username = username if username is not None else ''
22592        '''
22593         The username to authenticate with.
22594        '''
22595
22596    def __repr__(self):
22597        return '<sdm.Maria ' + \
22598            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22599            'database: ' + repr(self.database) + ' ' +\
22600            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22601            'healthy: ' + repr(self.healthy) + ' ' +\
22602            'hostname: ' + repr(self.hostname) + ' ' +\
22603            'id: ' + repr(self.id) + ' ' +\
22604            'name: ' + repr(self.name) + ' ' +\
22605            'password: ' + repr(self.password) + ' ' +\
22606            'port: ' + repr(self.port) + ' ' +\
22607            'port_override: ' + repr(self.port_override) + ' ' +\
22608            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22609            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
22610            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22611            'subdomain: ' + repr(self.subdomain) + ' ' +\
22612            'tags: ' + repr(self.tags) + ' ' +\
22613            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
22614            'username: ' + repr(self.username) + ' ' +\
22615            '>'
22616
22617    def to_dict(self):
22618        return {
22619            'bind_interface': self.bind_interface,
22620            'database': self.database,
22621            'egress_filter': self.egress_filter,
22622            'healthy': self.healthy,
22623            'hostname': self.hostname,
22624            'id': self.id,
22625            'name': self.name,
22626            'password': self.password,
22627            'port': self.port,
22628            'port_override': self.port_override,
22629            'proxy_cluster_id': self.proxy_cluster_id,
22630            'require_native_auth': self.require_native_auth,
22631            'secret_store_id': self.secret_store_id,
22632            'subdomain': self.subdomain,
22633            'tags': self.tags,
22634            'use_azure_single_server_usernames':
22635            self.use_azure_single_server_usernames,
22636            'username': self.username,
22637        }
22638
22639    @classmethod
22640    def from_dict(cls, d):
22641        return cls(
22642            bind_interface=d.get('bind_interface'),
22643            database=d.get('database'),
22644            egress_filter=d.get('egress_filter'),
22645            healthy=d.get('healthy'),
22646            hostname=d.get('hostname'),
22647            id=d.get('id'),
22648            name=d.get('name'),
22649            password=d.get('password'),
22650            port=d.get('port'),
22651            port_override=d.get('port_override'),
22652            proxy_cluster_id=d.get('proxy_cluster_id'),
22653            require_native_auth=d.get('require_native_auth'),
22654            secret_store_id=d.get('secret_store_id'),
22655            subdomain=d.get('subdomain'),
22656            tags=d.get('tags'),
22657            use_azure_single_server_usernames=d.get(
22658                'use_azure_single_server_usernames'),
22659            username=d.get('username'),
22660        )
Maria( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
22507    def __init__(
22508        self,
22509        bind_interface=None,
22510        database=None,
22511        egress_filter=None,
22512        healthy=None,
22513        hostname=None,
22514        id=None,
22515        name=None,
22516        password=None,
22517        port=None,
22518        port_override=None,
22519        proxy_cluster_id=None,
22520        require_native_auth=None,
22521        secret_store_id=None,
22522        subdomain=None,
22523        tags=None,
22524        use_azure_single_server_usernames=None,
22525        username=None,
22526    ):
22527        self.bind_interface = bind_interface if bind_interface is not None else ''
22528        '''
22529         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22530        '''
22531        self.database = database if database is not None else ''
22532        '''
22533         The database for healthchecks. Does not affect client requests.
22534        '''
22535        self.egress_filter = egress_filter if egress_filter is not None else ''
22536        '''
22537         A filter applied to the routing logic to pin datasource to nodes.
22538        '''
22539        self.healthy = healthy if healthy is not None else False
22540        '''
22541         True if the datasource is reachable and the credentials are valid.
22542        '''
22543        self.hostname = hostname if hostname is not None else ''
22544        '''
22545         The host to dial to initiate a connection from the egress node to this resource.
22546        '''
22547        self.id = id if id is not None else ''
22548        '''
22549         Unique identifier of the Resource.
22550        '''
22551        self.name = name if name is not None else ''
22552        '''
22553         Unique human-readable name of the Resource.
22554        '''
22555        self.password = password if password is not None else ''
22556        '''
22557         The password to authenticate with.
22558        '''
22559        self.port = port if port is not None else 0
22560        '''
22561         The port to dial to initiate a connection from the egress node to this resource.
22562        '''
22563        self.port_override = port_override if port_override is not None else 0
22564        '''
22565         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22566        '''
22567        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22568        '''
22569         ID of the proxy cluster for this resource, if any.
22570        '''
22571        self.require_native_auth = require_native_auth if require_native_auth is not None else False
22572        '''
22573         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
22574        '''
22575        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22576        '''
22577         ID of the secret store containing credentials for this resource, if any.
22578        '''
22579        self.subdomain = subdomain if subdomain is not None else ''
22580        '''
22581         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22582        '''
22583        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22584        '''
22585         Tags is a map of key, value pairs.
22586        '''
22587        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
22588        '''
22589         If true, appends the hostname to the username when hitting a database.azure.com address
22590        '''
22591        self.username = username if username is not None else ''
22592        '''
22593         The username to authenticate with.
22594        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
22617    def to_dict(self):
22618        return {
22619            'bind_interface': self.bind_interface,
22620            'database': self.database,
22621            'egress_filter': self.egress_filter,
22622            'healthy': self.healthy,
22623            'hostname': self.hostname,
22624            'id': self.id,
22625            'name': self.name,
22626            'password': self.password,
22627            'port': self.port,
22628            'port_override': self.port_override,
22629            'proxy_cluster_id': self.proxy_cluster_id,
22630            'require_native_auth': self.require_native_auth,
22631            'secret_store_id': self.secret_store_id,
22632            'subdomain': self.subdomain,
22633            'tags': self.tags,
22634            'use_azure_single_server_usernames':
22635            self.use_azure_single_server_usernames,
22636            'username': self.username,
22637        }
@classmethod
def from_dict(cls, d)
22639    @classmethod
22640    def from_dict(cls, d):
22641        return cls(
22642            bind_interface=d.get('bind_interface'),
22643            database=d.get('database'),
22644            egress_filter=d.get('egress_filter'),
22645            healthy=d.get('healthy'),
22646            hostname=d.get('hostname'),
22647            id=d.get('id'),
22648            name=d.get('name'),
22649            password=d.get('password'),
22650            port=d.get('port'),
22651            port_override=d.get('port_override'),
22652            proxy_cluster_id=d.get('proxy_cluster_id'),
22653            require_native_auth=d.get('require_native_auth'),
22654            secret_store_id=d.get('secret_store_id'),
22655            subdomain=d.get('subdomain'),
22656            tags=d.get('tags'),
22657            use_azure_single_server_usernames=d.get(
22658                'use_azure_single_server_usernames'),
22659            username=d.get('username'),
22660        )
class Memcached:
22663class Memcached:
22664    __slots__ = [
22665        'bind_interface',
22666        'egress_filter',
22667        'healthy',
22668        'hostname',
22669        'id',
22670        'name',
22671        'port',
22672        'port_override',
22673        'proxy_cluster_id',
22674        'secret_store_id',
22675        'subdomain',
22676        'tags',
22677    ]
22678
22679    def __init__(
22680        self,
22681        bind_interface=None,
22682        egress_filter=None,
22683        healthy=None,
22684        hostname=None,
22685        id=None,
22686        name=None,
22687        port=None,
22688        port_override=None,
22689        proxy_cluster_id=None,
22690        secret_store_id=None,
22691        subdomain=None,
22692        tags=None,
22693    ):
22694        self.bind_interface = bind_interface if bind_interface is not None else ''
22695        '''
22696         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22697        '''
22698        self.egress_filter = egress_filter if egress_filter is not None else ''
22699        '''
22700         A filter applied to the routing logic to pin datasource to nodes.
22701        '''
22702        self.healthy = healthy if healthy is not None else False
22703        '''
22704         True if the datasource is reachable and the credentials are valid.
22705        '''
22706        self.hostname = hostname if hostname is not None else ''
22707        '''
22708         The host to dial to initiate a connection from the egress node to this resource.
22709        '''
22710        self.id = id if id is not None else ''
22711        '''
22712         Unique identifier of the Resource.
22713        '''
22714        self.name = name if name is not None else ''
22715        '''
22716         Unique human-readable name of the Resource.
22717        '''
22718        self.port = port if port is not None else 0
22719        '''
22720         The port to dial to initiate a connection from the egress node to this resource.
22721        '''
22722        self.port_override = port_override if port_override is not None else 0
22723        '''
22724         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22725        '''
22726        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22727        '''
22728         ID of the proxy cluster for this resource, if any.
22729        '''
22730        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22731        '''
22732         ID of the secret store containing credentials for this resource, if any.
22733        '''
22734        self.subdomain = subdomain if subdomain is not None else ''
22735        '''
22736         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22737        '''
22738        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22739        '''
22740         Tags is a map of key, value pairs.
22741        '''
22742
22743    def __repr__(self):
22744        return '<sdm.Memcached ' + \
22745            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22746            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22747            'healthy: ' + repr(self.healthy) + ' ' +\
22748            'hostname: ' + repr(self.hostname) + ' ' +\
22749            'id: ' + repr(self.id) + ' ' +\
22750            'name: ' + repr(self.name) + ' ' +\
22751            'port: ' + repr(self.port) + ' ' +\
22752            'port_override: ' + repr(self.port_override) + ' ' +\
22753            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22754            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22755            'subdomain: ' + repr(self.subdomain) + ' ' +\
22756            'tags: ' + repr(self.tags) + ' ' +\
22757            '>'
22758
22759    def to_dict(self):
22760        return {
22761            'bind_interface': self.bind_interface,
22762            'egress_filter': self.egress_filter,
22763            'healthy': self.healthy,
22764            'hostname': self.hostname,
22765            'id': self.id,
22766            'name': self.name,
22767            'port': self.port,
22768            'port_override': self.port_override,
22769            'proxy_cluster_id': self.proxy_cluster_id,
22770            'secret_store_id': self.secret_store_id,
22771            'subdomain': self.subdomain,
22772            'tags': self.tags,
22773        }
22774
22775    @classmethod
22776    def from_dict(cls, d):
22777        return cls(
22778            bind_interface=d.get('bind_interface'),
22779            egress_filter=d.get('egress_filter'),
22780            healthy=d.get('healthy'),
22781            hostname=d.get('hostname'),
22782            id=d.get('id'),
22783            name=d.get('name'),
22784            port=d.get('port'),
22785            port_override=d.get('port_override'),
22786            proxy_cluster_id=d.get('proxy_cluster_id'),
22787            secret_store_id=d.get('secret_store_id'),
22788            subdomain=d.get('subdomain'),
22789            tags=d.get('tags'),
22790        )
Memcached( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
22679    def __init__(
22680        self,
22681        bind_interface=None,
22682        egress_filter=None,
22683        healthy=None,
22684        hostname=None,
22685        id=None,
22686        name=None,
22687        port=None,
22688        port_override=None,
22689        proxy_cluster_id=None,
22690        secret_store_id=None,
22691        subdomain=None,
22692        tags=None,
22693    ):
22694        self.bind_interface = bind_interface if bind_interface is not None else ''
22695        '''
22696         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22697        '''
22698        self.egress_filter = egress_filter if egress_filter is not None else ''
22699        '''
22700         A filter applied to the routing logic to pin datasource to nodes.
22701        '''
22702        self.healthy = healthy if healthy is not None else False
22703        '''
22704         True if the datasource is reachable and the credentials are valid.
22705        '''
22706        self.hostname = hostname if hostname is not None else ''
22707        '''
22708         The host to dial to initiate a connection from the egress node to this resource.
22709        '''
22710        self.id = id if id is not None else ''
22711        '''
22712         Unique identifier of the Resource.
22713        '''
22714        self.name = name if name is not None else ''
22715        '''
22716         Unique human-readable name of the Resource.
22717        '''
22718        self.port = port if port is not None else 0
22719        '''
22720         The port to dial to initiate a connection from the egress node to this resource.
22721        '''
22722        self.port_override = port_override if port_override is not None else 0
22723        '''
22724         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22725        '''
22726        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22727        '''
22728         ID of the proxy cluster for this resource, if any.
22729        '''
22730        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22731        '''
22732         ID of the secret store containing credentials for this resource, if any.
22733        '''
22734        self.subdomain = subdomain if subdomain is not None else ''
22735        '''
22736         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22737        '''
22738        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22739        '''
22740         Tags is a map of key, value pairs.
22741        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
22759    def to_dict(self):
22760        return {
22761            'bind_interface': self.bind_interface,
22762            'egress_filter': self.egress_filter,
22763            'healthy': self.healthy,
22764            'hostname': self.hostname,
22765            'id': self.id,
22766            'name': self.name,
22767            'port': self.port,
22768            'port_override': self.port_override,
22769            'proxy_cluster_id': self.proxy_cluster_id,
22770            'secret_store_id': self.secret_store_id,
22771            'subdomain': self.subdomain,
22772            'tags': self.tags,
22773        }
@classmethod
def from_dict(cls, d)
22775    @classmethod
22776    def from_dict(cls, d):
22777        return cls(
22778            bind_interface=d.get('bind_interface'),
22779            egress_filter=d.get('egress_filter'),
22780            healthy=d.get('healthy'),
22781            hostname=d.get('hostname'),
22782            id=d.get('id'),
22783            name=d.get('name'),
22784            port=d.get('port'),
22785            port_override=d.get('port_override'),
22786            proxy_cluster_id=d.get('proxy_cluster_id'),
22787            secret_store_id=d.get('secret_store_id'),
22788            subdomain=d.get('subdomain'),
22789            tags=d.get('tags'),
22790        )
class Memsql:
22793class Memsql:
22794    __slots__ = [
22795        'bind_interface',
22796        'database',
22797        'egress_filter',
22798        'healthy',
22799        'hostname',
22800        'id',
22801        'name',
22802        'password',
22803        'port',
22804        'port_override',
22805        'proxy_cluster_id',
22806        'require_native_auth',
22807        'secret_store_id',
22808        'subdomain',
22809        'tags',
22810        'use_azure_single_server_usernames',
22811        'username',
22812    ]
22813
22814    def __init__(
22815        self,
22816        bind_interface=None,
22817        database=None,
22818        egress_filter=None,
22819        healthy=None,
22820        hostname=None,
22821        id=None,
22822        name=None,
22823        password=None,
22824        port=None,
22825        port_override=None,
22826        proxy_cluster_id=None,
22827        require_native_auth=None,
22828        secret_store_id=None,
22829        subdomain=None,
22830        tags=None,
22831        use_azure_single_server_usernames=None,
22832        username=None,
22833    ):
22834        self.bind_interface = bind_interface if bind_interface is not None else ''
22835        '''
22836         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22837        '''
22838        self.database = database if database is not None else ''
22839        '''
22840         The database for healthchecks. Does not affect client requests.
22841        '''
22842        self.egress_filter = egress_filter if egress_filter is not None else ''
22843        '''
22844         A filter applied to the routing logic to pin datasource to nodes.
22845        '''
22846        self.healthy = healthy if healthy is not None else False
22847        '''
22848         True if the datasource is reachable and the credentials are valid.
22849        '''
22850        self.hostname = hostname if hostname is not None else ''
22851        '''
22852         The host to dial to initiate a connection from the egress node to this resource.
22853        '''
22854        self.id = id if id is not None else ''
22855        '''
22856         Unique identifier of the Resource.
22857        '''
22858        self.name = name if name is not None else ''
22859        '''
22860         Unique human-readable name of the Resource.
22861        '''
22862        self.password = password if password is not None else ''
22863        '''
22864         The password to authenticate with.
22865        '''
22866        self.port = port if port is not None else 0
22867        '''
22868         The port to dial to initiate a connection from the egress node to this resource.
22869        '''
22870        self.port_override = port_override if port_override is not None else 0
22871        '''
22872         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22873        '''
22874        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22875        '''
22876         ID of the proxy cluster for this resource, if any.
22877        '''
22878        self.require_native_auth = require_native_auth if require_native_auth is not None else False
22879        '''
22880         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
22881        '''
22882        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22883        '''
22884         ID of the secret store containing credentials for this resource, if any.
22885        '''
22886        self.subdomain = subdomain if subdomain is not None else ''
22887        '''
22888         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22889        '''
22890        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22891        '''
22892         Tags is a map of key, value pairs.
22893        '''
22894        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
22895        '''
22896         If true, appends the hostname to the username when hitting a database.azure.com address
22897        '''
22898        self.username = username if username is not None else ''
22899        '''
22900         The username to authenticate with.
22901        '''
22902
22903    def __repr__(self):
22904        return '<sdm.Memsql ' + \
22905            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22906            'database: ' + repr(self.database) + ' ' +\
22907            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22908            'healthy: ' + repr(self.healthy) + ' ' +\
22909            'hostname: ' + repr(self.hostname) + ' ' +\
22910            'id: ' + repr(self.id) + ' ' +\
22911            'name: ' + repr(self.name) + ' ' +\
22912            'password: ' + repr(self.password) + ' ' +\
22913            'port: ' + repr(self.port) + ' ' +\
22914            'port_override: ' + repr(self.port_override) + ' ' +\
22915            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22916            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
22917            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22918            'subdomain: ' + repr(self.subdomain) + ' ' +\
22919            'tags: ' + repr(self.tags) + ' ' +\
22920            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
22921            'username: ' + repr(self.username) + ' ' +\
22922            '>'
22923
22924    def to_dict(self):
22925        return {
22926            'bind_interface': self.bind_interface,
22927            'database': self.database,
22928            'egress_filter': self.egress_filter,
22929            'healthy': self.healthy,
22930            'hostname': self.hostname,
22931            'id': self.id,
22932            'name': self.name,
22933            'password': self.password,
22934            'port': self.port,
22935            'port_override': self.port_override,
22936            'proxy_cluster_id': self.proxy_cluster_id,
22937            'require_native_auth': self.require_native_auth,
22938            'secret_store_id': self.secret_store_id,
22939            'subdomain': self.subdomain,
22940            'tags': self.tags,
22941            'use_azure_single_server_usernames':
22942            self.use_azure_single_server_usernames,
22943            'username': self.username,
22944        }
22945
22946    @classmethod
22947    def from_dict(cls, d):
22948        return cls(
22949            bind_interface=d.get('bind_interface'),
22950            database=d.get('database'),
22951            egress_filter=d.get('egress_filter'),
22952            healthy=d.get('healthy'),
22953            hostname=d.get('hostname'),
22954            id=d.get('id'),
22955            name=d.get('name'),
22956            password=d.get('password'),
22957            port=d.get('port'),
22958            port_override=d.get('port_override'),
22959            proxy_cluster_id=d.get('proxy_cluster_id'),
22960            require_native_auth=d.get('require_native_auth'),
22961            secret_store_id=d.get('secret_store_id'),
22962            subdomain=d.get('subdomain'),
22963            tags=d.get('tags'),
22964            use_azure_single_server_usernames=d.get(
22965                'use_azure_single_server_usernames'),
22966            username=d.get('username'),
22967        )
Memsql( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
22814    def __init__(
22815        self,
22816        bind_interface=None,
22817        database=None,
22818        egress_filter=None,
22819        healthy=None,
22820        hostname=None,
22821        id=None,
22822        name=None,
22823        password=None,
22824        port=None,
22825        port_override=None,
22826        proxy_cluster_id=None,
22827        require_native_auth=None,
22828        secret_store_id=None,
22829        subdomain=None,
22830        tags=None,
22831        use_azure_single_server_usernames=None,
22832        username=None,
22833    ):
22834        self.bind_interface = bind_interface if bind_interface is not None else ''
22835        '''
22836         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22837        '''
22838        self.database = database if database is not None else ''
22839        '''
22840         The database for healthchecks. Does not affect client requests.
22841        '''
22842        self.egress_filter = egress_filter if egress_filter is not None else ''
22843        '''
22844         A filter applied to the routing logic to pin datasource to nodes.
22845        '''
22846        self.healthy = healthy if healthy is not None else False
22847        '''
22848         True if the datasource is reachable and the credentials are valid.
22849        '''
22850        self.hostname = hostname if hostname is not None else ''
22851        '''
22852         The host to dial to initiate a connection from the egress node to this resource.
22853        '''
22854        self.id = id if id is not None else ''
22855        '''
22856         Unique identifier of the Resource.
22857        '''
22858        self.name = name if name is not None else ''
22859        '''
22860         Unique human-readable name of the Resource.
22861        '''
22862        self.password = password if password is not None else ''
22863        '''
22864         The password to authenticate with.
22865        '''
22866        self.port = port if port is not None else 0
22867        '''
22868         The port to dial to initiate a connection from the egress node to this resource.
22869        '''
22870        self.port_override = port_override if port_override is not None else 0
22871        '''
22872         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22873        '''
22874        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22875        '''
22876         ID of the proxy cluster for this resource, if any.
22877        '''
22878        self.require_native_auth = require_native_auth if require_native_auth is not None else False
22879        '''
22880         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
22881        '''
22882        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22883        '''
22884         ID of the secret store containing credentials for this resource, if any.
22885        '''
22886        self.subdomain = subdomain if subdomain is not None else ''
22887        '''
22888         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22889        '''
22890        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22891        '''
22892         Tags is a map of key, value pairs.
22893        '''
22894        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
22895        '''
22896         If true, appends the hostname to the username when hitting a database.azure.com address
22897        '''
22898        self.username = username if username is not None else ''
22899        '''
22900         The username to authenticate with.
22901        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
22924    def to_dict(self):
22925        return {
22926            'bind_interface': self.bind_interface,
22927            'database': self.database,
22928            'egress_filter': self.egress_filter,
22929            'healthy': self.healthy,
22930            'hostname': self.hostname,
22931            'id': self.id,
22932            'name': self.name,
22933            'password': self.password,
22934            'port': self.port,
22935            'port_override': self.port_override,
22936            'proxy_cluster_id': self.proxy_cluster_id,
22937            'require_native_auth': self.require_native_auth,
22938            'secret_store_id': self.secret_store_id,
22939            'subdomain': self.subdomain,
22940            'tags': self.tags,
22941            'use_azure_single_server_usernames':
22942            self.use_azure_single_server_usernames,
22943            'username': self.username,
22944        }
@classmethod
def from_dict(cls, d)
22946    @classmethod
22947    def from_dict(cls, d):
22948        return cls(
22949            bind_interface=d.get('bind_interface'),
22950            database=d.get('database'),
22951            egress_filter=d.get('egress_filter'),
22952            healthy=d.get('healthy'),
22953            hostname=d.get('hostname'),
22954            id=d.get('id'),
22955            name=d.get('name'),
22956            password=d.get('password'),
22957            port=d.get('port'),
22958            port_override=d.get('port_override'),
22959            proxy_cluster_id=d.get('proxy_cluster_id'),
22960            require_native_auth=d.get('require_native_auth'),
22961            secret_store_id=d.get('secret_store_id'),
22962            subdomain=d.get('subdomain'),
22963            tags=d.get('tags'),
22964            use_azure_single_server_usernames=d.get(
22965                'use_azure_single_server_usernames'),
22966            username=d.get('username'),
22967        )
class MongoHost:
22970class MongoHost:
22971    __slots__ = [
22972        'auth_database',
22973        'bind_interface',
22974        'egress_filter',
22975        'healthy',
22976        'hostname',
22977        'id',
22978        'name',
22979        'password',
22980        'port',
22981        'port_override',
22982        'proxy_cluster_id',
22983        'secret_store_id',
22984        'subdomain',
22985        'tags',
22986        'tls_required',
22987        'username',
22988    ]
22989
22990    def __init__(
22991        self,
22992        auth_database=None,
22993        bind_interface=None,
22994        egress_filter=None,
22995        healthy=None,
22996        hostname=None,
22997        id=None,
22998        name=None,
22999        password=None,
23000        port=None,
23001        port_override=None,
23002        proxy_cluster_id=None,
23003        secret_store_id=None,
23004        subdomain=None,
23005        tags=None,
23006        tls_required=None,
23007        username=None,
23008    ):
23009        self.auth_database = auth_database if auth_database is not None else ''
23010        '''
23011         The authentication database to use.
23012        '''
23013        self.bind_interface = bind_interface if bind_interface is not None else ''
23014        '''
23015         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23016        '''
23017        self.egress_filter = egress_filter if egress_filter is not None else ''
23018        '''
23019         A filter applied to the routing logic to pin datasource to nodes.
23020        '''
23021        self.healthy = healthy if healthy is not None else False
23022        '''
23023         True if the datasource is reachable and the credentials are valid.
23024        '''
23025        self.hostname = hostname if hostname is not None else ''
23026        '''
23027         The host to dial to initiate a connection from the egress node to this resource.
23028        '''
23029        self.id = id if id is not None else ''
23030        '''
23031         Unique identifier of the Resource.
23032        '''
23033        self.name = name if name is not None else ''
23034        '''
23035         Unique human-readable name of the Resource.
23036        '''
23037        self.password = password if password is not None else ''
23038        '''
23039         The password to authenticate with.
23040        '''
23041        self.port = port if port is not None else 0
23042        '''
23043         The port to dial to initiate a connection from the egress node to this resource.
23044        '''
23045        self.port_override = port_override if port_override is not None else 0
23046        '''
23047         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23048        '''
23049        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23050        '''
23051         ID of the proxy cluster for this resource, if any.
23052        '''
23053        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23054        '''
23055         ID of the secret store containing credentials for this resource, if any.
23056        '''
23057        self.subdomain = subdomain if subdomain is not None else ''
23058        '''
23059         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23060        '''
23061        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23062        '''
23063         Tags is a map of key, value pairs.
23064        '''
23065        self.tls_required = tls_required if tls_required is not None else False
23066        '''
23067         If set, TLS must be used to connect to this resource.
23068        '''
23069        self.username = username if username is not None else ''
23070        '''
23071         The username to authenticate with.
23072        '''
23073
23074    def __repr__(self):
23075        return '<sdm.MongoHost ' + \
23076            'auth_database: ' + repr(self.auth_database) + ' ' +\
23077            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23078            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23079            'healthy: ' + repr(self.healthy) + ' ' +\
23080            'hostname: ' + repr(self.hostname) + ' ' +\
23081            'id: ' + repr(self.id) + ' ' +\
23082            'name: ' + repr(self.name) + ' ' +\
23083            'password: ' + repr(self.password) + ' ' +\
23084            'port: ' + repr(self.port) + ' ' +\
23085            'port_override: ' + repr(self.port_override) + ' ' +\
23086            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23087            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23088            'subdomain: ' + repr(self.subdomain) + ' ' +\
23089            'tags: ' + repr(self.tags) + ' ' +\
23090            'tls_required: ' + repr(self.tls_required) + ' ' +\
23091            'username: ' + repr(self.username) + ' ' +\
23092            '>'
23093
23094    def to_dict(self):
23095        return {
23096            'auth_database': self.auth_database,
23097            'bind_interface': self.bind_interface,
23098            'egress_filter': self.egress_filter,
23099            'healthy': self.healthy,
23100            'hostname': self.hostname,
23101            'id': self.id,
23102            'name': self.name,
23103            'password': self.password,
23104            'port': self.port,
23105            'port_override': self.port_override,
23106            'proxy_cluster_id': self.proxy_cluster_id,
23107            'secret_store_id': self.secret_store_id,
23108            'subdomain': self.subdomain,
23109            'tags': self.tags,
23110            'tls_required': self.tls_required,
23111            'username': self.username,
23112        }
23113
23114    @classmethod
23115    def from_dict(cls, d):
23116        return cls(
23117            auth_database=d.get('auth_database'),
23118            bind_interface=d.get('bind_interface'),
23119            egress_filter=d.get('egress_filter'),
23120            healthy=d.get('healthy'),
23121            hostname=d.get('hostname'),
23122            id=d.get('id'),
23123            name=d.get('name'),
23124            password=d.get('password'),
23125            port=d.get('port'),
23126            port_override=d.get('port_override'),
23127            proxy_cluster_id=d.get('proxy_cluster_id'),
23128            secret_store_id=d.get('secret_store_id'),
23129            subdomain=d.get('subdomain'),
23130            tags=d.get('tags'),
23131            tls_required=d.get('tls_required'),
23132            username=d.get('username'),
23133        )
MongoHost( auth_database=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
22990    def __init__(
22991        self,
22992        auth_database=None,
22993        bind_interface=None,
22994        egress_filter=None,
22995        healthy=None,
22996        hostname=None,
22997        id=None,
22998        name=None,
22999        password=None,
23000        port=None,
23001        port_override=None,
23002        proxy_cluster_id=None,
23003        secret_store_id=None,
23004        subdomain=None,
23005        tags=None,
23006        tls_required=None,
23007        username=None,
23008    ):
23009        self.auth_database = auth_database if auth_database is not None else ''
23010        '''
23011         The authentication database to use.
23012        '''
23013        self.bind_interface = bind_interface if bind_interface is not None else ''
23014        '''
23015         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23016        '''
23017        self.egress_filter = egress_filter if egress_filter is not None else ''
23018        '''
23019         A filter applied to the routing logic to pin datasource to nodes.
23020        '''
23021        self.healthy = healthy if healthy is not None else False
23022        '''
23023         True if the datasource is reachable and the credentials are valid.
23024        '''
23025        self.hostname = hostname if hostname is not None else ''
23026        '''
23027         The host to dial to initiate a connection from the egress node to this resource.
23028        '''
23029        self.id = id if id is not None else ''
23030        '''
23031         Unique identifier of the Resource.
23032        '''
23033        self.name = name if name is not None else ''
23034        '''
23035         Unique human-readable name of the Resource.
23036        '''
23037        self.password = password if password is not None else ''
23038        '''
23039         The password to authenticate with.
23040        '''
23041        self.port = port if port is not None else 0
23042        '''
23043         The port to dial to initiate a connection from the egress node to this resource.
23044        '''
23045        self.port_override = port_override if port_override is not None else 0
23046        '''
23047         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23048        '''
23049        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23050        '''
23051         ID of the proxy cluster for this resource, if any.
23052        '''
23053        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23054        '''
23055         ID of the secret store containing credentials for this resource, if any.
23056        '''
23057        self.subdomain = subdomain if subdomain is not None else ''
23058        '''
23059         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23060        '''
23061        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23062        '''
23063         Tags is a map of key, value pairs.
23064        '''
23065        self.tls_required = tls_required if tls_required is not None else False
23066        '''
23067         If set, TLS must be used to connect to this resource.
23068        '''
23069        self.username = username if username is not None else ''
23070        '''
23071         The username to authenticate with.
23072        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
23094    def to_dict(self):
23095        return {
23096            'auth_database': self.auth_database,
23097            'bind_interface': self.bind_interface,
23098            'egress_filter': self.egress_filter,
23099            'healthy': self.healthy,
23100            'hostname': self.hostname,
23101            'id': self.id,
23102            'name': self.name,
23103            'password': self.password,
23104            'port': self.port,
23105            'port_override': self.port_override,
23106            'proxy_cluster_id': self.proxy_cluster_id,
23107            'secret_store_id': self.secret_store_id,
23108            'subdomain': self.subdomain,
23109            'tags': self.tags,
23110            'tls_required': self.tls_required,
23111            'username': self.username,
23112        }
@classmethod
def from_dict(cls, d)
23114    @classmethod
23115    def from_dict(cls, d):
23116        return cls(
23117            auth_database=d.get('auth_database'),
23118            bind_interface=d.get('bind_interface'),
23119            egress_filter=d.get('egress_filter'),
23120            healthy=d.get('healthy'),
23121            hostname=d.get('hostname'),
23122            id=d.get('id'),
23123            name=d.get('name'),
23124            password=d.get('password'),
23125            port=d.get('port'),
23126            port_override=d.get('port_override'),
23127            proxy_cluster_id=d.get('proxy_cluster_id'),
23128            secret_store_id=d.get('secret_store_id'),
23129            subdomain=d.get('subdomain'),
23130            tags=d.get('tags'),
23131            tls_required=d.get('tls_required'),
23132            username=d.get('username'),
23133        )
class MongoLegacyHost:
23136class MongoLegacyHost:
23137    '''
23138    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
23139    without a major version bump.
23140    '''
23141    __slots__ = [
23142        'auth_database',
23143        'bind_interface',
23144        'egress_filter',
23145        'healthy',
23146        'hostname',
23147        'id',
23148        'name',
23149        'password',
23150        'port',
23151        'port_override',
23152        'proxy_cluster_id',
23153        'secret_store_id',
23154        'subdomain',
23155        'tags',
23156        'tls_required',
23157        'username',
23158    ]
23159
23160    def __init__(
23161        self,
23162        auth_database=None,
23163        bind_interface=None,
23164        egress_filter=None,
23165        healthy=None,
23166        hostname=None,
23167        id=None,
23168        name=None,
23169        password=None,
23170        port=None,
23171        port_override=None,
23172        proxy_cluster_id=None,
23173        secret_store_id=None,
23174        subdomain=None,
23175        tags=None,
23176        tls_required=None,
23177        username=None,
23178    ):
23179        self.auth_database = auth_database if auth_database is not None else ''
23180        '''
23181         The authentication database to use.
23182        '''
23183        self.bind_interface = bind_interface if bind_interface is not None else ''
23184        '''
23185         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23186        '''
23187        self.egress_filter = egress_filter if egress_filter is not None else ''
23188        '''
23189         A filter applied to the routing logic to pin datasource to nodes.
23190        '''
23191        self.healthy = healthy if healthy is not None else False
23192        '''
23193         True if the datasource is reachable and the credentials are valid.
23194        '''
23195        self.hostname = hostname if hostname is not None else ''
23196        '''
23197         The host to dial to initiate a connection from the egress node to this resource.
23198        '''
23199        self.id = id if id is not None else ''
23200        '''
23201         Unique identifier of the Resource.
23202        '''
23203        self.name = name if name is not None else ''
23204        '''
23205         Unique human-readable name of the Resource.
23206        '''
23207        self.password = password if password is not None else ''
23208        '''
23209         The password to authenticate with.
23210        '''
23211        self.port = port if port is not None else 0
23212        '''
23213         The port to dial to initiate a connection from the egress node to this resource.
23214        '''
23215        self.port_override = port_override if port_override is not None else 0
23216        '''
23217         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23218        '''
23219        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23220        '''
23221         ID of the proxy cluster for this resource, if any.
23222        '''
23223        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23224        '''
23225         ID of the secret store containing credentials for this resource, if any.
23226        '''
23227        self.subdomain = subdomain if subdomain is not None else ''
23228        '''
23229         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23230        '''
23231        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23232        '''
23233         Tags is a map of key, value pairs.
23234        '''
23235        self.tls_required = tls_required if tls_required is not None else False
23236        '''
23237         If set, TLS must be used to connect to this resource.
23238        '''
23239        self.username = username if username is not None else ''
23240        '''
23241         The username to authenticate with.
23242        '''
23243
23244    def __repr__(self):
23245        return '<sdm.MongoLegacyHost ' + \
23246            'auth_database: ' + repr(self.auth_database) + ' ' +\
23247            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23248            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23249            'healthy: ' + repr(self.healthy) + ' ' +\
23250            'hostname: ' + repr(self.hostname) + ' ' +\
23251            'id: ' + repr(self.id) + ' ' +\
23252            'name: ' + repr(self.name) + ' ' +\
23253            'password: ' + repr(self.password) + ' ' +\
23254            'port: ' + repr(self.port) + ' ' +\
23255            'port_override: ' + repr(self.port_override) + ' ' +\
23256            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23257            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23258            'subdomain: ' + repr(self.subdomain) + ' ' +\
23259            'tags: ' + repr(self.tags) + ' ' +\
23260            'tls_required: ' + repr(self.tls_required) + ' ' +\
23261            'username: ' + repr(self.username) + ' ' +\
23262            '>'
23263
23264    def to_dict(self):
23265        return {
23266            'auth_database': self.auth_database,
23267            'bind_interface': self.bind_interface,
23268            'egress_filter': self.egress_filter,
23269            'healthy': self.healthy,
23270            'hostname': self.hostname,
23271            'id': self.id,
23272            'name': self.name,
23273            'password': self.password,
23274            'port': self.port,
23275            'port_override': self.port_override,
23276            'proxy_cluster_id': self.proxy_cluster_id,
23277            'secret_store_id': self.secret_store_id,
23278            'subdomain': self.subdomain,
23279            'tags': self.tags,
23280            'tls_required': self.tls_required,
23281            'username': self.username,
23282        }
23283
23284    @classmethod
23285    def from_dict(cls, d):
23286        return cls(
23287            auth_database=d.get('auth_database'),
23288            bind_interface=d.get('bind_interface'),
23289            egress_filter=d.get('egress_filter'),
23290            healthy=d.get('healthy'),
23291            hostname=d.get('hostname'),
23292            id=d.get('id'),
23293            name=d.get('name'),
23294            password=d.get('password'),
23295            port=d.get('port'),
23296            port_override=d.get('port_override'),
23297            proxy_cluster_id=d.get('proxy_cluster_id'),
23298            secret_store_id=d.get('secret_store_id'),
23299            subdomain=d.get('subdomain'),
23300            tags=d.get('tags'),
23301            tls_required=d.get('tls_required'),
23302            username=d.get('username'),
23303        )

MongoLegacyHost is currently unstable, and its API may change, or it may be removed, without a major version bump.

MongoLegacyHost( auth_database=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
23160    def __init__(
23161        self,
23162        auth_database=None,
23163        bind_interface=None,
23164        egress_filter=None,
23165        healthy=None,
23166        hostname=None,
23167        id=None,
23168        name=None,
23169        password=None,
23170        port=None,
23171        port_override=None,
23172        proxy_cluster_id=None,
23173        secret_store_id=None,
23174        subdomain=None,
23175        tags=None,
23176        tls_required=None,
23177        username=None,
23178    ):
23179        self.auth_database = auth_database if auth_database is not None else ''
23180        '''
23181         The authentication database to use.
23182        '''
23183        self.bind_interface = bind_interface if bind_interface is not None else ''
23184        '''
23185         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23186        '''
23187        self.egress_filter = egress_filter if egress_filter is not None else ''
23188        '''
23189         A filter applied to the routing logic to pin datasource to nodes.
23190        '''
23191        self.healthy = healthy if healthy is not None else False
23192        '''
23193         True if the datasource is reachable and the credentials are valid.
23194        '''
23195        self.hostname = hostname if hostname is not None else ''
23196        '''
23197         The host to dial to initiate a connection from the egress node to this resource.
23198        '''
23199        self.id = id if id is not None else ''
23200        '''
23201         Unique identifier of the Resource.
23202        '''
23203        self.name = name if name is not None else ''
23204        '''
23205         Unique human-readable name of the Resource.
23206        '''
23207        self.password = password if password is not None else ''
23208        '''
23209         The password to authenticate with.
23210        '''
23211        self.port = port if port is not None else 0
23212        '''
23213         The port to dial to initiate a connection from the egress node to this resource.
23214        '''
23215        self.port_override = port_override if port_override is not None else 0
23216        '''
23217         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23218        '''
23219        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23220        '''
23221         ID of the proxy cluster for this resource, if any.
23222        '''
23223        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23224        '''
23225         ID of the secret store containing credentials for this resource, if any.
23226        '''
23227        self.subdomain = subdomain if subdomain is not None else ''
23228        '''
23229         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23230        '''
23231        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23232        '''
23233         Tags is a map of key, value pairs.
23234        '''
23235        self.tls_required = tls_required if tls_required is not None else False
23236        '''
23237         If set, TLS must be used to connect to this resource.
23238        '''
23239        self.username = username if username is not None else ''
23240        '''
23241         The username to authenticate with.
23242        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
23264    def to_dict(self):
23265        return {
23266            'auth_database': self.auth_database,
23267            'bind_interface': self.bind_interface,
23268            'egress_filter': self.egress_filter,
23269            'healthy': self.healthy,
23270            'hostname': self.hostname,
23271            'id': self.id,
23272            'name': self.name,
23273            'password': self.password,
23274            'port': self.port,
23275            'port_override': self.port_override,
23276            'proxy_cluster_id': self.proxy_cluster_id,
23277            'secret_store_id': self.secret_store_id,
23278            'subdomain': self.subdomain,
23279            'tags': self.tags,
23280            'tls_required': self.tls_required,
23281            'username': self.username,
23282        }
@classmethod
def from_dict(cls, d)
23284    @classmethod
23285    def from_dict(cls, d):
23286        return cls(
23287            auth_database=d.get('auth_database'),
23288            bind_interface=d.get('bind_interface'),
23289            egress_filter=d.get('egress_filter'),
23290            healthy=d.get('healthy'),
23291            hostname=d.get('hostname'),
23292            id=d.get('id'),
23293            name=d.get('name'),
23294            password=d.get('password'),
23295            port=d.get('port'),
23296            port_override=d.get('port_override'),
23297            proxy_cluster_id=d.get('proxy_cluster_id'),
23298            secret_store_id=d.get('secret_store_id'),
23299            subdomain=d.get('subdomain'),
23300            tags=d.get('tags'),
23301            tls_required=d.get('tls_required'),
23302            username=d.get('username'),
23303        )
class MongoLegacyReplicaset:
23306class MongoLegacyReplicaset:
23307    '''
23308    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
23309    without a major version bump.
23310    '''
23311    __slots__ = [
23312        'auth_database',
23313        'bind_interface',
23314        'connect_to_replica',
23315        'egress_filter',
23316        'healthy',
23317        'hostname',
23318        'id',
23319        'name',
23320        'password',
23321        'port',
23322        'port_override',
23323        'proxy_cluster_id',
23324        'secret_store_id',
23325        'subdomain',
23326        'tags',
23327        'tls_required',
23328        'username',
23329    ]
23330
23331    def __init__(
23332        self,
23333        auth_database=None,
23334        bind_interface=None,
23335        connect_to_replica=None,
23336        egress_filter=None,
23337        healthy=None,
23338        hostname=None,
23339        id=None,
23340        name=None,
23341        password=None,
23342        port=None,
23343        port_override=None,
23344        proxy_cluster_id=None,
23345        secret_store_id=None,
23346        subdomain=None,
23347        tags=None,
23348        tls_required=None,
23349        username=None,
23350    ):
23351        self.auth_database = auth_database if auth_database is not None else ''
23352        '''
23353         The authentication database to use.
23354        '''
23355        self.bind_interface = bind_interface if bind_interface is not None else ''
23356        '''
23357         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23358        '''
23359        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
23360        '''
23361         Set to connect to a replica instead of the primary node.
23362        '''
23363        self.egress_filter = egress_filter if egress_filter is not None else ''
23364        '''
23365         A filter applied to the routing logic to pin datasource to nodes.
23366        '''
23367        self.healthy = healthy if healthy is not None else False
23368        '''
23369         True if the datasource is reachable and the credentials are valid.
23370        '''
23371        self.hostname = hostname if hostname is not None else ''
23372        '''
23373         The host to dial to initiate a connection from the egress node to this resource.
23374        '''
23375        self.id = id if id is not None else ''
23376        '''
23377         Unique identifier of the Resource.
23378        '''
23379        self.name = name if name is not None else ''
23380        '''
23381         Unique human-readable name of the Resource.
23382        '''
23383        self.password = password if password is not None else ''
23384        '''
23385         The password to authenticate with.
23386        '''
23387        self.port = port if port is not None else 0
23388        '''
23389         The port to dial to initiate a connection from the egress node to this resource.
23390        '''
23391        self.port_override = port_override if port_override is not None else 0
23392        '''
23393         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23394        '''
23395        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23396        '''
23397         ID of the proxy cluster for this resource, if any.
23398        '''
23399        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23400        '''
23401         ID of the secret store containing credentials for this resource, if any.
23402        '''
23403        self.subdomain = subdomain if subdomain is not None else ''
23404        '''
23405         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23406        '''
23407        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23408        '''
23409         Tags is a map of key, value pairs.
23410        '''
23411        self.tls_required = tls_required if tls_required is not None else False
23412        '''
23413         If set, TLS must be used to connect to this resource.
23414        '''
23415        self.username = username if username is not None else ''
23416        '''
23417         The username to authenticate with.
23418        '''
23419
23420    def __repr__(self):
23421        return '<sdm.MongoLegacyReplicaset ' + \
23422            'auth_database: ' + repr(self.auth_database) + ' ' +\
23423            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23424            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
23425            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23426            'healthy: ' + repr(self.healthy) + ' ' +\
23427            'hostname: ' + repr(self.hostname) + ' ' +\
23428            'id: ' + repr(self.id) + ' ' +\
23429            'name: ' + repr(self.name) + ' ' +\
23430            'password: ' + repr(self.password) + ' ' +\
23431            'port: ' + repr(self.port) + ' ' +\
23432            'port_override: ' + repr(self.port_override) + ' ' +\
23433            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23434            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23435            'subdomain: ' + repr(self.subdomain) + ' ' +\
23436            'tags: ' + repr(self.tags) + ' ' +\
23437            'tls_required: ' + repr(self.tls_required) + ' ' +\
23438            'username: ' + repr(self.username) + ' ' +\
23439            '>'
23440
23441    def to_dict(self):
23442        return {
23443            'auth_database': self.auth_database,
23444            'bind_interface': self.bind_interface,
23445            'connect_to_replica': self.connect_to_replica,
23446            'egress_filter': self.egress_filter,
23447            'healthy': self.healthy,
23448            'hostname': self.hostname,
23449            'id': self.id,
23450            'name': self.name,
23451            'password': self.password,
23452            'port': self.port,
23453            'port_override': self.port_override,
23454            'proxy_cluster_id': self.proxy_cluster_id,
23455            'secret_store_id': self.secret_store_id,
23456            'subdomain': self.subdomain,
23457            'tags': self.tags,
23458            'tls_required': self.tls_required,
23459            'username': self.username,
23460        }
23461
23462    @classmethod
23463    def from_dict(cls, d):
23464        return cls(
23465            auth_database=d.get('auth_database'),
23466            bind_interface=d.get('bind_interface'),
23467            connect_to_replica=d.get('connect_to_replica'),
23468            egress_filter=d.get('egress_filter'),
23469            healthy=d.get('healthy'),
23470            hostname=d.get('hostname'),
23471            id=d.get('id'),
23472            name=d.get('name'),
23473            password=d.get('password'),
23474            port=d.get('port'),
23475            port_override=d.get('port_override'),
23476            proxy_cluster_id=d.get('proxy_cluster_id'),
23477            secret_store_id=d.get('secret_store_id'),
23478            subdomain=d.get('subdomain'),
23479            tags=d.get('tags'),
23480            tls_required=d.get('tls_required'),
23481            username=d.get('username'),
23482        )

MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed, without a major version bump.

MongoLegacyReplicaset( auth_database=None, bind_interface=None, connect_to_replica=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
23331    def __init__(
23332        self,
23333        auth_database=None,
23334        bind_interface=None,
23335        connect_to_replica=None,
23336        egress_filter=None,
23337        healthy=None,
23338        hostname=None,
23339        id=None,
23340        name=None,
23341        password=None,
23342        port=None,
23343        port_override=None,
23344        proxy_cluster_id=None,
23345        secret_store_id=None,
23346        subdomain=None,
23347        tags=None,
23348        tls_required=None,
23349        username=None,
23350    ):
23351        self.auth_database = auth_database if auth_database is not None else ''
23352        '''
23353         The authentication database to use.
23354        '''
23355        self.bind_interface = bind_interface if bind_interface is not None else ''
23356        '''
23357         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23358        '''
23359        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
23360        '''
23361         Set to connect to a replica instead of the primary node.
23362        '''
23363        self.egress_filter = egress_filter if egress_filter is not None else ''
23364        '''
23365         A filter applied to the routing logic to pin datasource to nodes.
23366        '''
23367        self.healthy = healthy if healthy is not None else False
23368        '''
23369         True if the datasource is reachable and the credentials are valid.
23370        '''
23371        self.hostname = hostname if hostname is not None else ''
23372        '''
23373         The host to dial to initiate a connection from the egress node to this resource.
23374        '''
23375        self.id = id if id is not None else ''
23376        '''
23377         Unique identifier of the Resource.
23378        '''
23379        self.name = name if name is not None else ''
23380        '''
23381         Unique human-readable name of the Resource.
23382        '''
23383        self.password = password if password is not None else ''
23384        '''
23385         The password to authenticate with.
23386        '''
23387        self.port = port if port is not None else 0
23388        '''
23389         The port to dial to initiate a connection from the egress node to this resource.
23390        '''
23391        self.port_override = port_override if port_override is not None else 0
23392        '''
23393         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23394        '''
23395        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23396        '''
23397         ID of the proxy cluster for this resource, if any.
23398        '''
23399        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23400        '''
23401         ID of the secret store containing credentials for this resource, if any.
23402        '''
23403        self.subdomain = subdomain if subdomain is not None else ''
23404        '''
23405         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23406        '''
23407        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23408        '''
23409         Tags is a map of key, value pairs.
23410        '''
23411        self.tls_required = tls_required if tls_required is not None else False
23412        '''
23413         If set, TLS must be used to connect to this resource.
23414        '''
23415        self.username = username if username is not None else ''
23416        '''
23417         The username to authenticate with.
23418        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

connect_to_replica

Set to connect to a replica instead of the primary node.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
23441    def to_dict(self):
23442        return {
23443            'auth_database': self.auth_database,
23444            'bind_interface': self.bind_interface,
23445            'connect_to_replica': self.connect_to_replica,
23446            'egress_filter': self.egress_filter,
23447            'healthy': self.healthy,
23448            'hostname': self.hostname,
23449            'id': self.id,
23450            'name': self.name,
23451            'password': self.password,
23452            'port': self.port,
23453            'port_override': self.port_override,
23454            'proxy_cluster_id': self.proxy_cluster_id,
23455            'secret_store_id': self.secret_store_id,
23456            'subdomain': self.subdomain,
23457            'tags': self.tags,
23458            'tls_required': self.tls_required,
23459            'username': self.username,
23460        }
@classmethod
def from_dict(cls, d)
23462    @classmethod
23463    def from_dict(cls, d):
23464        return cls(
23465            auth_database=d.get('auth_database'),
23466            bind_interface=d.get('bind_interface'),
23467            connect_to_replica=d.get('connect_to_replica'),
23468            egress_filter=d.get('egress_filter'),
23469            healthy=d.get('healthy'),
23470            hostname=d.get('hostname'),
23471            id=d.get('id'),
23472            name=d.get('name'),
23473            password=d.get('password'),
23474            port=d.get('port'),
23475            port_override=d.get('port_override'),
23476            proxy_cluster_id=d.get('proxy_cluster_id'),
23477            secret_store_id=d.get('secret_store_id'),
23478            subdomain=d.get('subdomain'),
23479            tags=d.get('tags'),
23480            tls_required=d.get('tls_required'),
23481            username=d.get('username'),
23482        )
class MongoReplicaSet:
23485class MongoReplicaSet:
23486    __slots__ = [
23487        'auth_database',
23488        'bind_interface',
23489        'connect_to_replica',
23490        'egress_filter',
23491        'healthy',
23492        'hostname',
23493        'id',
23494        'name',
23495        'password',
23496        'port',
23497        'port_override',
23498        'proxy_cluster_id',
23499        'secret_store_id',
23500        'subdomain',
23501        'tags',
23502        'tls_required',
23503        'username',
23504    ]
23505
23506    def __init__(
23507        self,
23508        auth_database=None,
23509        bind_interface=None,
23510        connect_to_replica=None,
23511        egress_filter=None,
23512        healthy=None,
23513        hostname=None,
23514        id=None,
23515        name=None,
23516        password=None,
23517        port=None,
23518        port_override=None,
23519        proxy_cluster_id=None,
23520        secret_store_id=None,
23521        subdomain=None,
23522        tags=None,
23523        tls_required=None,
23524        username=None,
23525    ):
23526        self.auth_database = auth_database if auth_database is not None else ''
23527        '''
23528         The authentication database to use.
23529        '''
23530        self.bind_interface = bind_interface if bind_interface is not None else ''
23531        '''
23532         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23533        '''
23534        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
23535        '''
23536         Set to connect to a replica instead of the primary node.
23537        '''
23538        self.egress_filter = egress_filter if egress_filter is not None else ''
23539        '''
23540         A filter applied to the routing logic to pin datasource to nodes.
23541        '''
23542        self.healthy = healthy if healthy is not None else False
23543        '''
23544         True if the datasource is reachable and the credentials are valid.
23545        '''
23546        self.hostname = hostname if hostname is not None else ''
23547        '''
23548         The host to dial to initiate a connection from the egress node to this resource.
23549        '''
23550        self.id = id if id is not None else ''
23551        '''
23552         Unique identifier of the Resource.
23553        '''
23554        self.name = name if name is not None else ''
23555        '''
23556         Unique human-readable name of the Resource.
23557        '''
23558        self.password = password if password is not None else ''
23559        '''
23560         The password to authenticate with.
23561        '''
23562        self.port = port if port is not None else 0
23563        '''
23564         The port to dial to initiate a connection from the egress node to this resource.
23565        '''
23566        self.port_override = port_override if port_override is not None else 0
23567        '''
23568         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23569        '''
23570        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23571        '''
23572         ID of the proxy cluster for this resource, if any.
23573        '''
23574        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23575        '''
23576         ID of the secret store containing credentials for this resource, if any.
23577        '''
23578        self.subdomain = subdomain if subdomain is not None else ''
23579        '''
23580         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23581        '''
23582        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23583        '''
23584         Tags is a map of key, value pairs.
23585        '''
23586        self.tls_required = tls_required if tls_required is not None else False
23587        '''
23588         If set, TLS must be used to connect to this resource.
23589        '''
23590        self.username = username if username is not None else ''
23591        '''
23592         The username to authenticate with.
23593        '''
23594
23595    def __repr__(self):
23596        return '<sdm.MongoReplicaSet ' + \
23597            'auth_database: ' + repr(self.auth_database) + ' ' +\
23598            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23599            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
23600            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23601            'healthy: ' + repr(self.healthy) + ' ' +\
23602            'hostname: ' + repr(self.hostname) + ' ' +\
23603            'id: ' + repr(self.id) + ' ' +\
23604            'name: ' + repr(self.name) + ' ' +\
23605            'password: ' + repr(self.password) + ' ' +\
23606            'port: ' + repr(self.port) + ' ' +\
23607            'port_override: ' + repr(self.port_override) + ' ' +\
23608            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23609            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23610            'subdomain: ' + repr(self.subdomain) + ' ' +\
23611            'tags: ' + repr(self.tags) + ' ' +\
23612            'tls_required: ' + repr(self.tls_required) + ' ' +\
23613            'username: ' + repr(self.username) + ' ' +\
23614            '>'
23615
23616    def to_dict(self):
23617        return {
23618            'auth_database': self.auth_database,
23619            'bind_interface': self.bind_interface,
23620            'connect_to_replica': self.connect_to_replica,
23621            'egress_filter': self.egress_filter,
23622            'healthy': self.healthy,
23623            'hostname': self.hostname,
23624            'id': self.id,
23625            'name': self.name,
23626            'password': self.password,
23627            'port': self.port,
23628            'port_override': self.port_override,
23629            'proxy_cluster_id': self.proxy_cluster_id,
23630            'secret_store_id': self.secret_store_id,
23631            'subdomain': self.subdomain,
23632            'tags': self.tags,
23633            'tls_required': self.tls_required,
23634            'username': self.username,
23635        }
23636
23637    @classmethod
23638    def from_dict(cls, d):
23639        return cls(
23640            auth_database=d.get('auth_database'),
23641            bind_interface=d.get('bind_interface'),
23642            connect_to_replica=d.get('connect_to_replica'),
23643            egress_filter=d.get('egress_filter'),
23644            healthy=d.get('healthy'),
23645            hostname=d.get('hostname'),
23646            id=d.get('id'),
23647            name=d.get('name'),
23648            password=d.get('password'),
23649            port=d.get('port'),
23650            port_override=d.get('port_override'),
23651            proxy_cluster_id=d.get('proxy_cluster_id'),
23652            secret_store_id=d.get('secret_store_id'),
23653            subdomain=d.get('subdomain'),
23654            tags=d.get('tags'),
23655            tls_required=d.get('tls_required'),
23656            username=d.get('username'),
23657        )
MongoReplicaSet( auth_database=None, bind_interface=None, connect_to_replica=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
23506    def __init__(
23507        self,
23508        auth_database=None,
23509        bind_interface=None,
23510        connect_to_replica=None,
23511        egress_filter=None,
23512        healthy=None,
23513        hostname=None,
23514        id=None,
23515        name=None,
23516        password=None,
23517        port=None,
23518        port_override=None,
23519        proxy_cluster_id=None,
23520        secret_store_id=None,
23521        subdomain=None,
23522        tags=None,
23523        tls_required=None,
23524        username=None,
23525    ):
23526        self.auth_database = auth_database if auth_database is not None else ''
23527        '''
23528         The authentication database to use.
23529        '''
23530        self.bind_interface = bind_interface if bind_interface is not None else ''
23531        '''
23532         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23533        '''
23534        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
23535        '''
23536         Set to connect to a replica instead of the primary node.
23537        '''
23538        self.egress_filter = egress_filter if egress_filter is not None else ''
23539        '''
23540         A filter applied to the routing logic to pin datasource to nodes.
23541        '''
23542        self.healthy = healthy if healthy is not None else False
23543        '''
23544         True if the datasource is reachable and the credentials are valid.
23545        '''
23546        self.hostname = hostname if hostname is not None else ''
23547        '''
23548         The host to dial to initiate a connection from the egress node to this resource.
23549        '''
23550        self.id = id if id is not None else ''
23551        '''
23552         Unique identifier of the Resource.
23553        '''
23554        self.name = name if name is not None else ''
23555        '''
23556         Unique human-readable name of the Resource.
23557        '''
23558        self.password = password if password is not None else ''
23559        '''
23560         The password to authenticate with.
23561        '''
23562        self.port = port if port is not None else 0
23563        '''
23564         The port to dial to initiate a connection from the egress node to this resource.
23565        '''
23566        self.port_override = port_override if port_override is not None else 0
23567        '''
23568         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23569        '''
23570        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23571        '''
23572         ID of the proxy cluster for this resource, if any.
23573        '''
23574        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23575        '''
23576         ID of the secret store containing credentials for this resource, if any.
23577        '''
23578        self.subdomain = subdomain if subdomain is not None else ''
23579        '''
23580         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23581        '''
23582        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23583        '''
23584         Tags is a map of key, value pairs.
23585        '''
23586        self.tls_required = tls_required if tls_required is not None else False
23587        '''
23588         If set, TLS must be used to connect to this resource.
23589        '''
23590        self.username = username if username is not None else ''
23591        '''
23592         The username to authenticate with.
23593        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

connect_to_replica

Set to connect to a replica instead of the primary node.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
23616    def to_dict(self):
23617        return {
23618            'auth_database': self.auth_database,
23619            'bind_interface': self.bind_interface,
23620            'connect_to_replica': self.connect_to_replica,
23621            'egress_filter': self.egress_filter,
23622            'healthy': self.healthy,
23623            'hostname': self.hostname,
23624            'id': self.id,
23625            'name': self.name,
23626            'password': self.password,
23627            'port': self.port,
23628            'port_override': self.port_override,
23629            'proxy_cluster_id': self.proxy_cluster_id,
23630            'secret_store_id': self.secret_store_id,
23631            'subdomain': self.subdomain,
23632            'tags': self.tags,
23633            'tls_required': self.tls_required,
23634            'username': self.username,
23635        }
@classmethod
def from_dict(cls, d)
23637    @classmethod
23638    def from_dict(cls, d):
23639        return cls(
23640            auth_database=d.get('auth_database'),
23641            bind_interface=d.get('bind_interface'),
23642            connect_to_replica=d.get('connect_to_replica'),
23643            egress_filter=d.get('egress_filter'),
23644            healthy=d.get('healthy'),
23645            hostname=d.get('hostname'),
23646            id=d.get('id'),
23647            name=d.get('name'),
23648            password=d.get('password'),
23649            port=d.get('port'),
23650            port_override=d.get('port_override'),
23651            proxy_cluster_id=d.get('proxy_cluster_id'),
23652            secret_store_id=d.get('secret_store_id'),
23653            subdomain=d.get('subdomain'),
23654            tags=d.get('tags'),
23655            tls_required=d.get('tls_required'),
23656            username=d.get('username'),
23657        )
class MongoShardedCluster:
23660class MongoShardedCluster:
23661    __slots__ = [
23662        'auth_database',
23663        'bind_interface',
23664        'egress_filter',
23665        'healthy',
23666        'hostname',
23667        'id',
23668        'name',
23669        'password',
23670        'port_override',
23671        'proxy_cluster_id',
23672        'secret_store_id',
23673        'subdomain',
23674        'tags',
23675        'tls_required',
23676        'username',
23677    ]
23678
23679    def __init__(
23680        self,
23681        auth_database=None,
23682        bind_interface=None,
23683        egress_filter=None,
23684        healthy=None,
23685        hostname=None,
23686        id=None,
23687        name=None,
23688        password=None,
23689        port_override=None,
23690        proxy_cluster_id=None,
23691        secret_store_id=None,
23692        subdomain=None,
23693        tags=None,
23694        tls_required=None,
23695        username=None,
23696    ):
23697        self.auth_database = auth_database if auth_database is not None else ''
23698        '''
23699         The authentication database to use.
23700        '''
23701        self.bind_interface = bind_interface if bind_interface is not None else ''
23702        '''
23703         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23704        '''
23705        self.egress_filter = egress_filter if egress_filter is not None else ''
23706        '''
23707         A filter applied to the routing logic to pin datasource to nodes.
23708        '''
23709        self.healthy = healthy if healthy is not None else False
23710        '''
23711         True if the datasource is reachable and the credentials are valid.
23712        '''
23713        self.hostname = hostname if hostname is not None else ''
23714        '''
23715         The host to dial to initiate a connection from the egress node to this resource.
23716        '''
23717        self.id = id if id is not None else ''
23718        '''
23719         Unique identifier of the Resource.
23720        '''
23721        self.name = name if name is not None else ''
23722        '''
23723         Unique human-readable name of the Resource.
23724        '''
23725        self.password = password if password is not None else ''
23726        '''
23727         The password to authenticate with.
23728        '''
23729        self.port_override = port_override if port_override is not None else 0
23730        '''
23731         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23732        '''
23733        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23734        '''
23735         ID of the proxy cluster for this resource, if any.
23736        '''
23737        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23738        '''
23739         ID of the secret store containing credentials for this resource, if any.
23740        '''
23741        self.subdomain = subdomain if subdomain is not None else ''
23742        '''
23743         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23744        '''
23745        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23746        '''
23747         Tags is a map of key, value pairs.
23748        '''
23749        self.tls_required = tls_required if tls_required is not None else False
23750        '''
23751         If set, TLS must be used to connect to this resource.
23752        '''
23753        self.username = username if username is not None else ''
23754        '''
23755         The username to authenticate with.
23756        '''
23757
23758    def __repr__(self):
23759        return '<sdm.MongoShardedCluster ' + \
23760            'auth_database: ' + repr(self.auth_database) + ' ' +\
23761            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23762            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23763            'healthy: ' + repr(self.healthy) + ' ' +\
23764            'hostname: ' + repr(self.hostname) + ' ' +\
23765            'id: ' + repr(self.id) + ' ' +\
23766            'name: ' + repr(self.name) + ' ' +\
23767            'password: ' + repr(self.password) + ' ' +\
23768            'port_override: ' + repr(self.port_override) + ' ' +\
23769            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23770            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23771            'subdomain: ' + repr(self.subdomain) + ' ' +\
23772            'tags: ' + repr(self.tags) + ' ' +\
23773            'tls_required: ' + repr(self.tls_required) + ' ' +\
23774            'username: ' + repr(self.username) + ' ' +\
23775            '>'
23776
23777    def to_dict(self):
23778        return {
23779            'auth_database': self.auth_database,
23780            'bind_interface': self.bind_interface,
23781            'egress_filter': self.egress_filter,
23782            'healthy': self.healthy,
23783            'hostname': self.hostname,
23784            'id': self.id,
23785            'name': self.name,
23786            'password': self.password,
23787            'port_override': self.port_override,
23788            'proxy_cluster_id': self.proxy_cluster_id,
23789            'secret_store_id': self.secret_store_id,
23790            'subdomain': self.subdomain,
23791            'tags': self.tags,
23792            'tls_required': self.tls_required,
23793            'username': self.username,
23794        }
23795
23796    @classmethod
23797    def from_dict(cls, d):
23798        return cls(
23799            auth_database=d.get('auth_database'),
23800            bind_interface=d.get('bind_interface'),
23801            egress_filter=d.get('egress_filter'),
23802            healthy=d.get('healthy'),
23803            hostname=d.get('hostname'),
23804            id=d.get('id'),
23805            name=d.get('name'),
23806            password=d.get('password'),
23807            port_override=d.get('port_override'),
23808            proxy_cluster_id=d.get('proxy_cluster_id'),
23809            secret_store_id=d.get('secret_store_id'),
23810            subdomain=d.get('subdomain'),
23811            tags=d.get('tags'),
23812            tls_required=d.get('tls_required'),
23813            username=d.get('username'),
23814        )
MongoShardedCluster( auth_database=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
23679    def __init__(
23680        self,
23681        auth_database=None,
23682        bind_interface=None,
23683        egress_filter=None,
23684        healthy=None,
23685        hostname=None,
23686        id=None,
23687        name=None,
23688        password=None,
23689        port_override=None,
23690        proxy_cluster_id=None,
23691        secret_store_id=None,
23692        subdomain=None,
23693        tags=None,
23694        tls_required=None,
23695        username=None,
23696    ):
23697        self.auth_database = auth_database if auth_database is not None else ''
23698        '''
23699         The authentication database to use.
23700        '''
23701        self.bind_interface = bind_interface if bind_interface is not None else ''
23702        '''
23703         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23704        '''
23705        self.egress_filter = egress_filter if egress_filter is not None else ''
23706        '''
23707         A filter applied to the routing logic to pin datasource to nodes.
23708        '''
23709        self.healthy = healthy if healthy is not None else False
23710        '''
23711         True if the datasource is reachable and the credentials are valid.
23712        '''
23713        self.hostname = hostname if hostname is not None else ''
23714        '''
23715         The host to dial to initiate a connection from the egress node to this resource.
23716        '''
23717        self.id = id if id is not None else ''
23718        '''
23719         Unique identifier of the Resource.
23720        '''
23721        self.name = name if name is not None else ''
23722        '''
23723         Unique human-readable name of the Resource.
23724        '''
23725        self.password = password if password is not None else ''
23726        '''
23727         The password to authenticate with.
23728        '''
23729        self.port_override = port_override if port_override is not None else 0
23730        '''
23731         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23732        '''
23733        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23734        '''
23735         ID of the proxy cluster for this resource, if any.
23736        '''
23737        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23738        '''
23739         ID of the secret store containing credentials for this resource, if any.
23740        '''
23741        self.subdomain = subdomain if subdomain is not None else ''
23742        '''
23743         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23744        '''
23745        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23746        '''
23747         Tags is a map of key, value pairs.
23748        '''
23749        self.tls_required = tls_required if tls_required is not None else False
23750        '''
23751         If set, TLS must be used to connect to this resource.
23752        '''
23753        self.username = username if username is not None else ''
23754        '''
23755         The username to authenticate with.
23756        '''
auth_database

The authentication database to use.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
23777    def to_dict(self):
23778        return {
23779            'auth_database': self.auth_database,
23780            'bind_interface': self.bind_interface,
23781            'egress_filter': self.egress_filter,
23782            'healthy': self.healthy,
23783            'hostname': self.hostname,
23784            'id': self.id,
23785            'name': self.name,
23786            'password': self.password,
23787            'port_override': self.port_override,
23788            'proxy_cluster_id': self.proxy_cluster_id,
23789            'secret_store_id': self.secret_store_id,
23790            'subdomain': self.subdomain,
23791            'tags': self.tags,
23792            'tls_required': self.tls_required,
23793            'username': self.username,
23794        }
@classmethod
def from_dict(cls, d)
23796    @classmethod
23797    def from_dict(cls, d):
23798        return cls(
23799            auth_database=d.get('auth_database'),
23800            bind_interface=d.get('bind_interface'),
23801            egress_filter=d.get('egress_filter'),
23802            healthy=d.get('healthy'),
23803            hostname=d.get('hostname'),
23804            id=d.get('id'),
23805            name=d.get('name'),
23806            password=d.get('password'),
23807            port_override=d.get('port_override'),
23808            proxy_cluster_id=d.get('proxy_cluster_id'),
23809            secret_store_id=d.get('secret_store_id'),
23810            subdomain=d.get('subdomain'),
23811            tags=d.get('tags'),
23812            tls_required=d.get('tls_required'),
23813            username=d.get('username'),
23814        )
class Mysql:
23817class Mysql:
23818    __slots__ = [
23819        'bind_interface',
23820        'database',
23821        'egress_filter',
23822        'healthy',
23823        'hostname',
23824        'id',
23825        'name',
23826        'password',
23827        'port',
23828        'port_override',
23829        'proxy_cluster_id',
23830        'require_native_auth',
23831        'secret_store_id',
23832        'subdomain',
23833        'tags',
23834        'use_azure_single_server_usernames',
23835        'username',
23836    ]
23837
23838    def __init__(
23839        self,
23840        bind_interface=None,
23841        database=None,
23842        egress_filter=None,
23843        healthy=None,
23844        hostname=None,
23845        id=None,
23846        name=None,
23847        password=None,
23848        port=None,
23849        port_override=None,
23850        proxy_cluster_id=None,
23851        require_native_auth=None,
23852        secret_store_id=None,
23853        subdomain=None,
23854        tags=None,
23855        use_azure_single_server_usernames=None,
23856        username=None,
23857    ):
23858        self.bind_interface = bind_interface if bind_interface is not None else ''
23859        '''
23860         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23861        '''
23862        self.database = database if database is not None else ''
23863        '''
23864         The database for healthchecks. Does not affect client requests.
23865        '''
23866        self.egress_filter = egress_filter if egress_filter is not None else ''
23867        '''
23868         A filter applied to the routing logic to pin datasource to nodes.
23869        '''
23870        self.healthy = healthy if healthy is not None else False
23871        '''
23872         True if the datasource is reachable and the credentials are valid.
23873        '''
23874        self.hostname = hostname if hostname is not None else ''
23875        '''
23876         The host to dial to initiate a connection from the egress node to this resource.
23877        '''
23878        self.id = id if id is not None else ''
23879        '''
23880         Unique identifier of the Resource.
23881        '''
23882        self.name = name if name is not None else ''
23883        '''
23884         Unique human-readable name of the Resource.
23885        '''
23886        self.password = password if password is not None else ''
23887        '''
23888         The password to authenticate with.
23889        '''
23890        self.port = port if port is not None else 0
23891        '''
23892         The port to dial to initiate a connection from the egress node to this resource.
23893        '''
23894        self.port_override = port_override if port_override is not None else 0
23895        '''
23896         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23897        '''
23898        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23899        '''
23900         ID of the proxy cluster for this resource, if any.
23901        '''
23902        self.require_native_auth = require_native_auth if require_native_auth is not None else False
23903        '''
23904         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
23905        '''
23906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23907        '''
23908         ID of the secret store containing credentials for this resource, if any.
23909        '''
23910        self.subdomain = subdomain if subdomain is not None else ''
23911        '''
23912         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23913        '''
23914        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23915        '''
23916         Tags is a map of key, value pairs.
23917        '''
23918        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
23919        '''
23920         If true, appends the hostname to the username when hitting a database.azure.com address
23921        '''
23922        self.username = username if username is not None else ''
23923        '''
23924         The username to authenticate with.
23925        '''
23926
23927    def __repr__(self):
23928        return '<sdm.Mysql ' + \
23929            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23930            'database: ' + repr(self.database) + ' ' +\
23931            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23932            'healthy: ' + repr(self.healthy) + ' ' +\
23933            'hostname: ' + repr(self.hostname) + ' ' +\
23934            'id: ' + repr(self.id) + ' ' +\
23935            'name: ' + repr(self.name) + ' ' +\
23936            'password: ' + repr(self.password) + ' ' +\
23937            'port: ' + repr(self.port) + ' ' +\
23938            'port_override: ' + repr(self.port_override) + ' ' +\
23939            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23940            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
23941            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23942            'subdomain: ' + repr(self.subdomain) + ' ' +\
23943            'tags: ' + repr(self.tags) + ' ' +\
23944            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
23945            'username: ' + repr(self.username) + ' ' +\
23946            '>'
23947
23948    def to_dict(self):
23949        return {
23950            'bind_interface': self.bind_interface,
23951            'database': self.database,
23952            'egress_filter': self.egress_filter,
23953            'healthy': self.healthy,
23954            'hostname': self.hostname,
23955            'id': self.id,
23956            'name': self.name,
23957            'password': self.password,
23958            'port': self.port,
23959            'port_override': self.port_override,
23960            'proxy_cluster_id': self.proxy_cluster_id,
23961            'require_native_auth': self.require_native_auth,
23962            'secret_store_id': self.secret_store_id,
23963            'subdomain': self.subdomain,
23964            'tags': self.tags,
23965            'use_azure_single_server_usernames':
23966            self.use_azure_single_server_usernames,
23967            'username': self.username,
23968        }
23969
23970    @classmethod
23971    def from_dict(cls, d):
23972        return cls(
23973            bind_interface=d.get('bind_interface'),
23974            database=d.get('database'),
23975            egress_filter=d.get('egress_filter'),
23976            healthy=d.get('healthy'),
23977            hostname=d.get('hostname'),
23978            id=d.get('id'),
23979            name=d.get('name'),
23980            password=d.get('password'),
23981            port=d.get('port'),
23982            port_override=d.get('port_override'),
23983            proxy_cluster_id=d.get('proxy_cluster_id'),
23984            require_native_auth=d.get('require_native_auth'),
23985            secret_store_id=d.get('secret_store_id'),
23986            subdomain=d.get('subdomain'),
23987            tags=d.get('tags'),
23988            use_azure_single_server_usernames=d.get(
23989                'use_azure_single_server_usernames'),
23990            username=d.get('username'),
23991        )
Mysql( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
23838    def __init__(
23839        self,
23840        bind_interface=None,
23841        database=None,
23842        egress_filter=None,
23843        healthy=None,
23844        hostname=None,
23845        id=None,
23846        name=None,
23847        password=None,
23848        port=None,
23849        port_override=None,
23850        proxy_cluster_id=None,
23851        require_native_auth=None,
23852        secret_store_id=None,
23853        subdomain=None,
23854        tags=None,
23855        use_azure_single_server_usernames=None,
23856        username=None,
23857    ):
23858        self.bind_interface = bind_interface if bind_interface is not None else ''
23859        '''
23860         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23861        '''
23862        self.database = database if database is not None else ''
23863        '''
23864         The database for healthchecks. Does not affect client requests.
23865        '''
23866        self.egress_filter = egress_filter if egress_filter is not None else ''
23867        '''
23868         A filter applied to the routing logic to pin datasource to nodes.
23869        '''
23870        self.healthy = healthy if healthy is not None else False
23871        '''
23872         True if the datasource is reachable and the credentials are valid.
23873        '''
23874        self.hostname = hostname if hostname is not None else ''
23875        '''
23876         The host to dial to initiate a connection from the egress node to this resource.
23877        '''
23878        self.id = id if id is not None else ''
23879        '''
23880         Unique identifier of the Resource.
23881        '''
23882        self.name = name if name is not None else ''
23883        '''
23884         Unique human-readable name of the Resource.
23885        '''
23886        self.password = password if password is not None else ''
23887        '''
23888         The password to authenticate with.
23889        '''
23890        self.port = port if port is not None else 0
23891        '''
23892         The port to dial to initiate a connection from the egress node to this resource.
23893        '''
23894        self.port_override = port_override if port_override is not None else 0
23895        '''
23896         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
23897        '''
23898        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23899        '''
23900         ID of the proxy cluster for this resource, if any.
23901        '''
23902        self.require_native_auth = require_native_auth if require_native_auth is not None else False
23903        '''
23904         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
23905        '''
23906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23907        '''
23908         ID of the secret store containing credentials for this resource, if any.
23909        '''
23910        self.subdomain = subdomain if subdomain is not None else ''
23911        '''
23912         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
23913        '''
23914        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23915        '''
23916         Tags is a map of key, value pairs.
23917        '''
23918        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
23919        '''
23920         If true, appends the hostname to the username when hitting a database.azure.com address
23921        '''
23922        self.username = username if username is not None else ''
23923        '''
23924         The username to authenticate with.
23925        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
23948    def to_dict(self):
23949        return {
23950            'bind_interface': self.bind_interface,
23951            'database': self.database,
23952            'egress_filter': self.egress_filter,
23953            'healthy': self.healthy,
23954            'hostname': self.hostname,
23955            'id': self.id,
23956            'name': self.name,
23957            'password': self.password,
23958            'port': self.port,
23959            'port_override': self.port_override,
23960            'proxy_cluster_id': self.proxy_cluster_id,
23961            'require_native_auth': self.require_native_auth,
23962            'secret_store_id': self.secret_store_id,
23963            'subdomain': self.subdomain,
23964            'tags': self.tags,
23965            'use_azure_single_server_usernames':
23966            self.use_azure_single_server_usernames,
23967            'username': self.username,
23968        }
@classmethod
def from_dict(cls, d)
23970    @classmethod
23971    def from_dict(cls, d):
23972        return cls(
23973            bind_interface=d.get('bind_interface'),
23974            database=d.get('database'),
23975            egress_filter=d.get('egress_filter'),
23976            healthy=d.get('healthy'),
23977            hostname=d.get('hostname'),
23978            id=d.get('id'),
23979            name=d.get('name'),
23980            password=d.get('password'),
23981            port=d.get('port'),
23982            port_override=d.get('port_override'),
23983            proxy_cluster_id=d.get('proxy_cluster_id'),
23984            require_native_auth=d.get('require_native_auth'),
23985            secret_store_id=d.get('secret_store_id'),
23986            subdomain=d.get('subdomain'),
23987            tags=d.get('tags'),
23988            use_azure_single_server_usernames=d.get(
23989                'use_azure_single_server_usernames'),
23990            username=d.get('username'),
23991        )
class MysqlEngine:
23994class MysqlEngine:
23995    __slots__ = [
23996        'after_read_ttl',
23997        'database',
23998        'hostname',
23999        'id',
24000        'key_rotation_interval_days',
24001        'name',
24002        'node_selector',
24003        'password',
24004        'policy',
24005        'port',
24006        'public_key',
24007        'secret_store_id',
24008        'secret_store_root_path',
24009        'tags',
24010        'tls',
24011        'tls_skip_verify',
24012        'ttl',
24013        'username',
24014    ]
24015
24016    def __init__(
24017        self,
24018        after_read_ttl=None,
24019        database=None,
24020        hostname=None,
24021        id=None,
24022        key_rotation_interval_days=None,
24023        name=None,
24024        node_selector=None,
24025        password=None,
24026        policy=None,
24027        port=None,
24028        public_key=None,
24029        secret_store_id=None,
24030        secret_store_root_path=None,
24031        tags=None,
24032        tls=None,
24033        tls_skip_verify=None,
24034        ttl=None,
24035        username=None,
24036    ):
24037        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
24038        '''
24039         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
24040        '''
24041        self.database = database if database is not None else ''
24042        '''
24043         Database is the database to verify credential against.
24044        '''
24045        self.hostname = hostname if hostname is not None else ''
24046        '''
24047         Hostname is the hostname or IP address of the MySQL server.
24048        '''
24049        self.id = id if id is not None else ''
24050        '''
24051         Unique identifier of the Secret Engine.
24052        '''
24053        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
24054        '''
24055         An interval of public/private key rotation for secret engine in days
24056        '''
24057        self.name = name if name is not None else ''
24058        '''
24059         Unique human-readable name of the Secret Engine.
24060        '''
24061        self.node_selector = node_selector if node_selector is not None else ''
24062        '''
24063         node selector is used to narrow down the nodes used to communicate with with secret engine
24064        '''
24065        self.password = password if password is not None else ''
24066        '''
24067         Password is the password to connect to the MySQL server.
24068        '''
24069        self.policy = policy if policy is not None else None
24070        '''
24071         Policy for password creation
24072        '''
24073        self.port = port if port is not None else 0
24074        '''
24075         Port is the port number of the MySQL server.
24076        '''
24077        self.public_key = public_key if public_key is not None else b''
24078        '''
24079         Public key linked with a secret engine
24080        '''
24081        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24082        '''
24083         Backing secret store identifier
24084        '''
24085        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
24086        '''
24087         Backing Secret Store root path where managed secrets are going to be stored
24088        '''
24089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24090        '''
24091         Tags is a map of key, value pairs.
24092        '''
24093        self.tls = tls if tls is not None else False
24094        '''
24095         TLS enables TLS/SSL when connecting to the MySQL server.
24096        '''
24097        self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
24098        '''
24099         TLS disable certificate verification
24100        '''
24101        self.ttl = ttl if ttl is not None else None
24102        '''
24103         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
24104        '''
24105        self.username = username if username is not None else ''
24106        '''
24107         Username is the username to connect to the MySQL server.
24108        '''
24109
24110    def __repr__(self):
24111        return '<sdm.MysqlEngine ' + \
24112            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
24113            'database: ' + repr(self.database) + ' ' +\
24114            'hostname: ' + repr(self.hostname) + ' ' +\
24115            'id: ' + repr(self.id) + ' ' +\
24116            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
24117            'name: ' + repr(self.name) + ' ' +\
24118            'node_selector: ' + repr(self.node_selector) + ' ' +\
24119            'password: ' + repr(self.password) + ' ' +\
24120            'policy: ' + repr(self.policy) + ' ' +\
24121            'port: ' + repr(self.port) + ' ' +\
24122            'public_key: ' + repr(self.public_key) + ' ' +\
24123            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24124            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
24125            'tags: ' + repr(self.tags) + ' ' +\
24126            'tls: ' + repr(self.tls) + ' ' +\
24127            'tls_skip_verify: ' + repr(self.tls_skip_verify) + ' ' +\
24128            'ttl: ' + repr(self.ttl) + ' ' +\
24129            'username: ' + repr(self.username) + ' ' +\
24130            '>'
24131
24132    def to_dict(self):
24133        return {
24134            'after_read_ttl': self.after_read_ttl,
24135            'database': self.database,
24136            'hostname': self.hostname,
24137            'id': self.id,
24138            'key_rotation_interval_days': self.key_rotation_interval_days,
24139            'name': self.name,
24140            'node_selector': self.node_selector,
24141            'password': self.password,
24142            'policy': self.policy,
24143            'port': self.port,
24144            'public_key': self.public_key,
24145            'secret_store_id': self.secret_store_id,
24146            'secret_store_root_path': self.secret_store_root_path,
24147            'tags': self.tags,
24148            'tls': self.tls,
24149            'tls_skip_verify': self.tls_skip_verify,
24150            'ttl': self.ttl,
24151            'username': self.username,
24152        }
24153
24154    @classmethod
24155    def from_dict(cls, d):
24156        return cls(
24157            after_read_ttl=d.get('after_read_ttl'),
24158            database=d.get('database'),
24159            hostname=d.get('hostname'),
24160            id=d.get('id'),
24161            key_rotation_interval_days=d.get('key_rotation_interval_days'),
24162            name=d.get('name'),
24163            node_selector=d.get('node_selector'),
24164            password=d.get('password'),
24165            policy=d.get('policy'),
24166            port=d.get('port'),
24167            public_key=d.get('public_key'),
24168            secret_store_id=d.get('secret_store_id'),
24169            secret_store_root_path=d.get('secret_store_root_path'),
24170            tags=d.get('tags'),
24171            tls=d.get('tls'),
24172            tls_skip_verify=d.get('tls_skip_verify'),
24173            ttl=d.get('ttl'),
24174            username=d.get('username'),
24175        )
MysqlEngine( after_read_ttl=None, database=None, hostname=None, id=None, key_rotation_interval_days=None, name=None, node_selector=None, password=None, policy=None, port=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None, tls=None, tls_skip_verify=None, ttl=None, username=None)
24016    def __init__(
24017        self,
24018        after_read_ttl=None,
24019        database=None,
24020        hostname=None,
24021        id=None,
24022        key_rotation_interval_days=None,
24023        name=None,
24024        node_selector=None,
24025        password=None,
24026        policy=None,
24027        port=None,
24028        public_key=None,
24029        secret_store_id=None,
24030        secret_store_root_path=None,
24031        tags=None,
24032        tls=None,
24033        tls_skip_verify=None,
24034        ttl=None,
24035        username=None,
24036    ):
24037        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
24038        '''
24039         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
24040        '''
24041        self.database = database if database is not None else ''
24042        '''
24043         Database is the database to verify credential against.
24044        '''
24045        self.hostname = hostname if hostname is not None else ''
24046        '''
24047         Hostname is the hostname or IP address of the MySQL server.
24048        '''
24049        self.id = id if id is not None else ''
24050        '''
24051         Unique identifier of the Secret Engine.
24052        '''
24053        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
24054        '''
24055         An interval of public/private key rotation for secret engine in days
24056        '''
24057        self.name = name if name is not None else ''
24058        '''
24059         Unique human-readable name of the Secret Engine.
24060        '''
24061        self.node_selector = node_selector if node_selector is not None else ''
24062        '''
24063         node selector is used to narrow down the nodes used to communicate with with secret engine
24064        '''
24065        self.password = password if password is not None else ''
24066        '''
24067         Password is the password to connect to the MySQL server.
24068        '''
24069        self.policy = policy if policy is not None else None
24070        '''
24071         Policy for password creation
24072        '''
24073        self.port = port if port is not None else 0
24074        '''
24075         Port is the port number of the MySQL server.
24076        '''
24077        self.public_key = public_key if public_key is not None else b''
24078        '''
24079         Public key linked with a secret engine
24080        '''
24081        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24082        '''
24083         Backing secret store identifier
24084        '''
24085        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
24086        '''
24087         Backing Secret Store root path where managed secrets are going to be stored
24088        '''
24089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24090        '''
24091         Tags is a map of key, value pairs.
24092        '''
24093        self.tls = tls if tls is not None else False
24094        '''
24095         TLS enables TLS/SSL when connecting to the MySQL server.
24096        '''
24097        self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
24098        '''
24099         TLS disable certificate verification
24100        '''
24101        self.ttl = ttl if ttl is not None else None
24102        '''
24103         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
24104        '''
24105        self.username = username if username is not None else ''
24106        '''
24107         Username is the username to connect to the MySQL server.
24108        '''
after_read_ttl

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.

database

Database is the database to verify credential against.

hostname

Hostname is the hostname or IP address of the MySQL server.

id

Unique identifier of the Secret Engine.

key_rotation_interval_days

An interval of public/private key rotation for secret engine in days

name

Unique human-readable name of the Secret Engine.

node_selector

node selector is used to narrow down the nodes used to communicate with with secret engine

password

Password is the password to connect to the MySQL server.

policy

Policy for password creation

port

Port is the port number of the MySQL server.

public_key

Public key linked with a secret engine

secret_store_id

Backing secret store identifier

secret_store_root_path

Backing Secret Store root path where managed secrets are going to be stored

tags

Tags is a map of key, value pairs.

tls

TLS enables TLS/SSL when connecting to the MySQL server.

tls_skip_verify

TLS disable certificate verification

ttl

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.

username

Username is the username to connect to the MySQL server.

def to_dict(self)
24132    def to_dict(self):
24133        return {
24134            'after_read_ttl': self.after_read_ttl,
24135            'database': self.database,
24136            'hostname': self.hostname,
24137            'id': self.id,
24138            'key_rotation_interval_days': self.key_rotation_interval_days,
24139            'name': self.name,
24140            'node_selector': self.node_selector,
24141            'password': self.password,
24142            'policy': self.policy,
24143            'port': self.port,
24144            'public_key': self.public_key,
24145            'secret_store_id': self.secret_store_id,
24146            'secret_store_root_path': self.secret_store_root_path,
24147            'tags': self.tags,
24148            'tls': self.tls,
24149            'tls_skip_verify': self.tls_skip_verify,
24150            'ttl': self.ttl,
24151            'username': self.username,
24152        }
@classmethod
def from_dict(cls, d)
24154    @classmethod
24155    def from_dict(cls, d):
24156        return cls(
24157            after_read_ttl=d.get('after_read_ttl'),
24158            database=d.get('database'),
24159            hostname=d.get('hostname'),
24160            id=d.get('id'),
24161            key_rotation_interval_days=d.get('key_rotation_interval_days'),
24162            name=d.get('name'),
24163            node_selector=d.get('node_selector'),
24164            password=d.get('password'),
24165            policy=d.get('policy'),
24166            port=d.get('port'),
24167            public_key=d.get('public_key'),
24168            secret_store_id=d.get('secret_store_id'),
24169            secret_store_root_path=d.get('secret_store_root_path'),
24170            tags=d.get('tags'),
24171            tls=d.get('tls'),
24172            tls_skip_verify=d.get('tls_skip_verify'),
24173            ttl=d.get('ttl'),
24174            username=d.get('username'),
24175        )
class Neptune:
24178class Neptune:
24179    __slots__ = [
24180        'bind_interface',
24181        'egress_filter',
24182        'endpoint',
24183        'healthy',
24184        'id',
24185        'name',
24186        'port',
24187        'port_override',
24188        'proxy_cluster_id',
24189        'secret_store_id',
24190        'subdomain',
24191        'tags',
24192    ]
24193
24194    def __init__(
24195        self,
24196        bind_interface=None,
24197        egress_filter=None,
24198        endpoint=None,
24199        healthy=None,
24200        id=None,
24201        name=None,
24202        port=None,
24203        port_override=None,
24204        proxy_cluster_id=None,
24205        secret_store_id=None,
24206        subdomain=None,
24207        tags=None,
24208    ):
24209        self.bind_interface = bind_interface if bind_interface is not None else ''
24210        '''
24211         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24212        '''
24213        self.egress_filter = egress_filter if egress_filter is not None else ''
24214        '''
24215         A filter applied to the routing logic to pin datasource to nodes.
24216        '''
24217        self.endpoint = endpoint if endpoint is not None else ''
24218        '''
24219         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
24220        '''
24221        self.healthy = healthy if healthy is not None else False
24222        '''
24223         True if the datasource is reachable and the credentials are valid.
24224        '''
24225        self.id = id if id is not None else ''
24226        '''
24227         Unique identifier of the Resource.
24228        '''
24229        self.name = name if name is not None else ''
24230        '''
24231         Unique human-readable name of the Resource.
24232        '''
24233        self.port = port if port is not None else 0
24234        '''
24235         The port to dial to initiate a connection from the egress node to this resource.
24236        '''
24237        self.port_override = port_override if port_override is not None else 0
24238        '''
24239         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24240        '''
24241        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24242        '''
24243         ID of the proxy cluster for this resource, if any.
24244        '''
24245        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24246        '''
24247         ID of the secret store containing credentials for this resource, if any.
24248        '''
24249        self.subdomain = subdomain if subdomain is not None else ''
24250        '''
24251         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24252        '''
24253        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24254        '''
24255         Tags is a map of key, value pairs.
24256        '''
24257
24258    def __repr__(self):
24259        return '<sdm.Neptune ' + \
24260            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24261            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24262            'endpoint: ' + repr(self.endpoint) + ' ' +\
24263            'healthy: ' + repr(self.healthy) + ' ' +\
24264            'id: ' + repr(self.id) + ' ' +\
24265            'name: ' + repr(self.name) + ' ' +\
24266            'port: ' + repr(self.port) + ' ' +\
24267            'port_override: ' + repr(self.port_override) + ' ' +\
24268            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24269            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24270            'subdomain: ' + repr(self.subdomain) + ' ' +\
24271            'tags: ' + repr(self.tags) + ' ' +\
24272            '>'
24273
24274    def to_dict(self):
24275        return {
24276            'bind_interface': self.bind_interface,
24277            'egress_filter': self.egress_filter,
24278            'endpoint': self.endpoint,
24279            'healthy': self.healthy,
24280            'id': self.id,
24281            'name': self.name,
24282            'port': self.port,
24283            'port_override': self.port_override,
24284            'proxy_cluster_id': self.proxy_cluster_id,
24285            'secret_store_id': self.secret_store_id,
24286            'subdomain': self.subdomain,
24287            'tags': self.tags,
24288        }
24289
24290    @classmethod
24291    def from_dict(cls, d):
24292        return cls(
24293            bind_interface=d.get('bind_interface'),
24294            egress_filter=d.get('egress_filter'),
24295            endpoint=d.get('endpoint'),
24296            healthy=d.get('healthy'),
24297            id=d.get('id'),
24298            name=d.get('name'),
24299            port=d.get('port'),
24300            port_override=d.get('port_override'),
24301            proxy_cluster_id=d.get('proxy_cluster_id'),
24302            secret_store_id=d.get('secret_store_id'),
24303            subdomain=d.get('subdomain'),
24304            tags=d.get('tags'),
24305        )
Neptune( bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
24194    def __init__(
24195        self,
24196        bind_interface=None,
24197        egress_filter=None,
24198        endpoint=None,
24199        healthy=None,
24200        id=None,
24201        name=None,
24202        port=None,
24203        port_override=None,
24204        proxy_cluster_id=None,
24205        secret_store_id=None,
24206        subdomain=None,
24207        tags=None,
24208    ):
24209        self.bind_interface = bind_interface if bind_interface is not None else ''
24210        '''
24211         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24212        '''
24213        self.egress_filter = egress_filter if egress_filter is not None else ''
24214        '''
24215         A filter applied to the routing logic to pin datasource to nodes.
24216        '''
24217        self.endpoint = endpoint if endpoint is not None else ''
24218        '''
24219         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
24220        '''
24221        self.healthy = healthy if healthy is not None else False
24222        '''
24223         True if the datasource is reachable and the credentials are valid.
24224        '''
24225        self.id = id if id is not None else ''
24226        '''
24227         Unique identifier of the Resource.
24228        '''
24229        self.name = name if name is not None else ''
24230        '''
24231         Unique human-readable name of the Resource.
24232        '''
24233        self.port = port if port is not None else 0
24234        '''
24235         The port to dial to initiate a connection from the egress node to this resource.
24236        '''
24237        self.port_override = port_override if port_override is not None else 0
24238        '''
24239         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24240        '''
24241        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24242        '''
24243         ID of the proxy cluster for this resource, if any.
24244        '''
24245        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24246        '''
24247         ID of the secret store containing credentials for this resource, if any.
24248        '''
24249        self.subdomain = subdomain if subdomain is not None else ''
24250        '''
24251         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24252        '''
24253        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24254        '''
24255         Tags is a map of key, value pairs.
24256        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
24274    def to_dict(self):
24275        return {
24276            'bind_interface': self.bind_interface,
24277            'egress_filter': self.egress_filter,
24278            'endpoint': self.endpoint,
24279            'healthy': self.healthy,
24280            'id': self.id,
24281            'name': self.name,
24282            'port': self.port,
24283            'port_override': self.port_override,
24284            'proxy_cluster_id': self.proxy_cluster_id,
24285            'secret_store_id': self.secret_store_id,
24286            'subdomain': self.subdomain,
24287            'tags': self.tags,
24288        }
@classmethod
def from_dict(cls, d)
24290    @classmethod
24291    def from_dict(cls, d):
24292        return cls(
24293            bind_interface=d.get('bind_interface'),
24294            egress_filter=d.get('egress_filter'),
24295            endpoint=d.get('endpoint'),
24296            healthy=d.get('healthy'),
24297            id=d.get('id'),
24298            name=d.get('name'),
24299            port=d.get('port'),
24300            port_override=d.get('port_override'),
24301            proxy_cluster_id=d.get('proxy_cluster_id'),
24302            secret_store_id=d.get('secret_store_id'),
24303            subdomain=d.get('subdomain'),
24304            tags=d.get('tags'),
24305        )
class NeptuneIAM:
24308class NeptuneIAM:
24309    __slots__ = [
24310        'access_key',
24311        'bind_interface',
24312        'egress_filter',
24313        'endpoint',
24314        'healthy',
24315        'id',
24316        'name',
24317        'port',
24318        'port_override',
24319        'proxy_cluster_id',
24320        'region',
24321        'role_arn',
24322        'role_external_id',
24323        'secret_access_key',
24324        'secret_store_id',
24325        'subdomain',
24326        'tags',
24327    ]
24328
24329    def __init__(
24330        self,
24331        access_key=None,
24332        bind_interface=None,
24333        egress_filter=None,
24334        endpoint=None,
24335        healthy=None,
24336        id=None,
24337        name=None,
24338        port=None,
24339        port_override=None,
24340        proxy_cluster_id=None,
24341        region=None,
24342        role_arn=None,
24343        role_external_id=None,
24344        secret_access_key=None,
24345        secret_store_id=None,
24346        subdomain=None,
24347        tags=None,
24348    ):
24349        self.access_key = access_key if access_key is not None else ''
24350        '''
24351         The Access Key ID to use to authenticate.
24352        '''
24353        self.bind_interface = bind_interface if bind_interface is not None else ''
24354        '''
24355         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24356        '''
24357        self.egress_filter = egress_filter if egress_filter is not None else ''
24358        '''
24359         A filter applied to the routing logic to pin datasource to nodes.
24360        '''
24361        self.endpoint = endpoint if endpoint is not None else ''
24362        '''
24363         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
24364        '''
24365        self.healthy = healthy if healthy is not None else False
24366        '''
24367         True if the datasource is reachable and the credentials are valid.
24368        '''
24369        self.id = id if id is not None else ''
24370        '''
24371         Unique identifier of the Resource.
24372        '''
24373        self.name = name if name is not None else ''
24374        '''
24375         Unique human-readable name of the Resource.
24376        '''
24377        self.port = port if port is not None else 0
24378        '''
24379         The port to dial to initiate a connection from the egress node to this resource.
24380        '''
24381        self.port_override = port_override if port_override is not None else 0
24382        '''
24383         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24384        '''
24385        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24386        '''
24387         ID of the proxy cluster for this resource, if any.
24388        '''
24389        self.region = region if region is not None else ''
24390        '''
24391         The AWS region to connect to.
24392        '''
24393        self.role_arn = role_arn if role_arn is not None else ''
24394        '''
24395         The role to assume after logging in.
24396        '''
24397        self.role_external_id = role_external_id if role_external_id is not None else ''
24398        '''
24399         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
24400        '''
24401        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
24402        '''
24403         The Secret Access Key to use to authenticate.
24404        '''
24405        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24406        '''
24407         ID of the secret store containing credentials for this resource, if any.
24408        '''
24409        self.subdomain = subdomain if subdomain is not None else ''
24410        '''
24411         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24412        '''
24413        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24414        '''
24415         Tags is a map of key, value pairs.
24416        '''
24417
24418    def __repr__(self):
24419        return '<sdm.NeptuneIAM ' + \
24420            'access_key: ' + repr(self.access_key) + ' ' +\
24421            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24422            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24423            'endpoint: ' + repr(self.endpoint) + ' ' +\
24424            'healthy: ' + repr(self.healthy) + ' ' +\
24425            'id: ' + repr(self.id) + ' ' +\
24426            'name: ' + repr(self.name) + ' ' +\
24427            'port: ' + repr(self.port) + ' ' +\
24428            'port_override: ' + repr(self.port_override) + ' ' +\
24429            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24430            'region: ' + repr(self.region) + ' ' +\
24431            'role_arn: ' + repr(self.role_arn) + ' ' +\
24432            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
24433            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
24434            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24435            'subdomain: ' + repr(self.subdomain) + ' ' +\
24436            'tags: ' + repr(self.tags) + ' ' +\
24437            '>'
24438
24439    def to_dict(self):
24440        return {
24441            'access_key': self.access_key,
24442            'bind_interface': self.bind_interface,
24443            'egress_filter': self.egress_filter,
24444            'endpoint': self.endpoint,
24445            'healthy': self.healthy,
24446            'id': self.id,
24447            'name': self.name,
24448            'port': self.port,
24449            'port_override': self.port_override,
24450            'proxy_cluster_id': self.proxy_cluster_id,
24451            'region': self.region,
24452            'role_arn': self.role_arn,
24453            'role_external_id': self.role_external_id,
24454            'secret_access_key': self.secret_access_key,
24455            'secret_store_id': self.secret_store_id,
24456            'subdomain': self.subdomain,
24457            'tags': self.tags,
24458        }
24459
24460    @classmethod
24461    def from_dict(cls, d):
24462        return cls(
24463            access_key=d.get('access_key'),
24464            bind_interface=d.get('bind_interface'),
24465            egress_filter=d.get('egress_filter'),
24466            endpoint=d.get('endpoint'),
24467            healthy=d.get('healthy'),
24468            id=d.get('id'),
24469            name=d.get('name'),
24470            port=d.get('port'),
24471            port_override=d.get('port_override'),
24472            proxy_cluster_id=d.get('proxy_cluster_id'),
24473            region=d.get('region'),
24474            role_arn=d.get('role_arn'),
24475            role_external_id=d.get('role_external_id'),
24476            secret_access_key=d.get('secret_access_key'),
24477            secret_store_id=d.get('secret_store_id'),
24478            subdomain=d.get('subdomain'),
24479            tags=d.get('tags'),
24480        )
NeptuneIAM( access_key=None, bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_access_key=None, secret_store_id=None, subdomain=None, tags=None)
24329    def __init__(
24330        self,
24331        access_key=None,
24332        bind_interface=None,
24333        egress_filter=None,
24334        endpoint=None,
24335        healthy=None,
24336        id=None,
24337        name=None,
24338        port=None,
24339        port_override=None,
24340        proxy_cluster_id=None,
24341        region=None,
24342        role_arn=None,
24343        role_external_id=None,
24344        secret_access_key=None,
24345        secret_store_id=None,
24346        subdomain=None,
24347        tags=None,
24348    ):
24349        self.access_key = access_key if access_key is not None else ''
24350        '''
24351         The Access Key ID to use to authenticate.
24352        '''
24353        self.bind_interface = bind_interface if bind_interface is not None else ''
24354        '''
24355         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24356        '''
24357        self.egress_filter = egress_filter if egress_filter is not None else ''
24358        '''
24359         A filter applied to the routing logic to pin datasource to nodes.
24360        '''
24361        self.endpoint = endpoint if endpoint is not None else ''
24362        '''
24363         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
24364        '''
24365        self.healthy = healthy if healthy is not None else False
24366        '''
24367         True if the datasource is reachable and the credentials are valid.
24368        '''
24369        self.id = id if id is not None else ''
24370        '''
24371         Unique identifier of the Resource.
24372        '''
24373        self.name = name if name is not None else ''
24374        '''
24375         Unique human-readable name of the Resource.
24376        '''
24377        self.port = port if port is not None else 0
24378        '''
24379         The port to dial to initiate a connection from the egress node to this resource.
24380        '''
24381        self.port_override = port_override if port_override is not None else 0
24382        '''
24383         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24384        '''
24385        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24386        '''
24387         ID of the proxy cluster for this resource, if any.
24388        '''
24389        self.region = region if region is not None else ''
24390        '''
24391         The AWS region to connect to.
24392        '''
24393        self.role_arn = role_arn if role_arn is not None else ''
24394        '''
24395         The role to assume after logging in.
24396        '''
24397        self.role_external_id = role_external_id if role_external_id is not None else ''
24398        '''
24399         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
24400        '''
24401        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
24402        '''
24403         The Secret Access Key to use to authenticate.
24404        '''
24405        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24406        '''
24407         ID of the secret store containing credentials for this resource, if any.
24408        '''
24409        self.subdomain = subdomain if subdomain is not None else ''
24410        '''
24411         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24412        '''
24413        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24414        '''
24415         Tags is a map of key, value pairs.
24416        '''
access_key

The Access Key ID to use to authenticate.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
24439    def to_dict(self):
24440        return {
24441            'access_key': self.access_key,
24442            'bind_interface': self.bind_interface,
24443            'egress_filter': self.egress_filter,
24444            'endpoint': self.endpoint,
24445            'healthy': self.healthy,
24446            'id': self.id,
24447            'name': self.name,
24448            'port': self.port,
24449            'port_override': self.port_override,
24450            'proxy_cluster_id': self.proxy_cluster_id,
24451            'region': self.region,
24452            'role_arn': self.role_arn,
24453            'role_external_id': self.role_external_id,
24454            'secret_access_key': self.secret_access_key,
24455            'secret_store_id': self.secret_store_id,
24456            'subdomain': self.subdomain,
24457            'tags': self.tags,
24458        }
@classmethod
def from_dict(cls, d)
24460    @classmethod
24461    def from_dict(cls, d):
24462        return cls(
24463            access_key=d.get('access_key'),
24464            bind_interface=d.get('bind_interface'),
24465            egress_filter=d.get('egress_filter'),
24466            endpoint=d.get('endpoint'),
24467            healthy=d.get('healthy'),
24468            id=d.get('id'),
24469            name=d.get('name'),
24470            port=d.get('port'),
24471            port_override=d.get('port_override'),
24472            proxy_cluster_id=d.get('proxy_cluster_id'),
24473            region=d.get('region'),
24474            role_arn=d.get('role_arn'),
24475            role_external_id=d.get('role_external_id'),
24476            secret_access_key=d.get('secret_access_key'),
24477            secret_store_id=d.get('secret_store_id'),
24478            subdomain=d.get('subdomain'),
24479            tags=d.get('tags'),
24480        )
class NodeCreateResponse:
24483class NodeCreateResponse:
24484    '''
24485         NodeCreateResponse reports how the Nodes were created in the system.
24486    '''
24487    __slots__ = [
24488        'meta',
24489        'node',
24490        'rate_limit',
24491        'token',
24492    ]
24493
24494    def __init__(
24495        self,
24496        meta=None,
24497        node=None,
24498        rate_limit=None,
24499        token=None,
24500    ):
24501        self.meta = meta if meta is not None else None
24502        '''
24503         Reserved for future use.
24504        '''
24505        self.node = node if node is not None else None
24506        '''
24507         The created Node.
24508        '''
24509        self.rate_limit = rate_limit if rate_limit is not None else None
24510        '''
24511         Rate limit information.
24512        '''
24513        self.token = token if token is not None else ''
24514        '''
24515         The auth token generated for the Node. The Node will use this token to
24516         authenticate with the strongDM API.
24517        '''
24518
24519    def __repr__(self):
24520        return '<sdm.NodeCreateResponse ' + \
24521            'meta: ' + repr(self.meta) + ' ' +\
24522            'node: ' + repr(self.node) + ' ' +\
24523            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24524            'token: ' + repr(self.token) + ' ' +\
24525            '>'
24526
24527    def to_dict(self):
24528        return {
24529            'meta': self.meta,
24530            'node': self.node,
24531            'rate_limit': self.rate_limit,
24532            'token': self.token,
24533        }
24534
24535    @classmethod
24536    def from_dict(cls, d):
24537        return cls(
24538            meta=d.get('meta'),
24539            node=d.get('node'),
24540            rate_limit=d.get('rate_limit'),
24541            token=d.get('token'),
24542        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
24494    def __init__(
24495        self,
24496        meta=None,
24497        node=None,
24498        rate_limit=None,
24499        token=None,
24500    ):
24501        self.meta = meta if meta is not None else None
24502        '''
24503         Reserved for future use.
24504        '''
24505        self.node = node if node is not None else None
24506        '''
24507         The created Node.
24508        '''
24509        self.rate_limit = rate_limit if rate_limit is not None else None
24510        '''
24511         Rate limit information.
24512        '''
24513        self.token = token if token is not None else ''
24514        '''
24515         The auth token generated for the Node. The Node will use this token to
24516         authenticate with the strongDM API.
24517        '''
meta

Reserved for future use.

node

The created Node.

rate_limit

Rate limit information.

token

The auth token generated for the Node. The Node will use this token to authenticate with the strongDM API.

def to_dict(self)
24527    def to_dict(self):
24528        return {
24529            'meta': self.meta,
24530            'node': self.node,
24531            'rate_limit': self.rate_limit,
24532            'token': self.token,
24533        }
@classmethod
def from_dict(cls, d)
24535    @classmethod
24536    def from_dict(cls, d):
24537        return cls(
24538            meta=d.get('meta'),
24539            node=d.get('node'),
24540            rate_limit=d.get('rate_limit'),
24541            token=d.get('token'),
24542        )
class NodeDeleteResponse:
24545class NodeDeleteResponse:
24546    '''
24547         NodeDeleteResponse returns information about a Node that was deleted.
24548    '''
24549    __slots__ = [
24550        'meta',
24551        'rate_limit',
24552    ]
24553
24554    def __init__(
24555        self,
24556        meta=None,
24557        rate_limit=None,
24558    ):
24559        self.meta = meta if meta is not None else None
24560        '''
24561         Reserved for future use.
24562        '''
24563        self.rate_limit = rate_limit if rate_limit is not None else None
24564        '''
24565         Rate limit information.
24566        '''
24567
24568    def __repr__(self):
24569        return '<sdm.NodeDeleteResponse ' + \
24570            'meta: ' + repr(self.meta) + ' ' +\
24571            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24572            '>'
24573
24574    def to_dict(self):
24575        return {
24576            'meta': self.meta,
24577            'rate_limit': self.rate_limit,
24578        }
24579
24580    @classmethod
24581    def from_dict(cls, d):
24582        return cls(
24583            meta=d.get('meta'),
24584            rate_limit=d.get('rate_limit'),
24585        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
24554    def __init__(
24555        self,
24556        meta=None,
24557        rate_limit=None,
24558    ):
24559        self.meta = meta if meta is not None else None
24560        '''
24561         Reserved for future use.
24562        '''
24563        self.rate_limit = rate_limit if rate_limit is not None else None
24564        '''
24565         Rate limit information.
24566        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
24574    def to_dict(self):
24575        return {
24576            'meta': self.meta,
24577            'rate_limit': self.rate_limit,
24578        }
@classmethod
def from_dict(cls, d)
24580    @classmethod
24581    def from_dict(cls, d):
24582        return cls(
24583            meta=d.get('meta'),
24584            rate_limit=d.get('rate_limit'),
24585        )
class NodeGetResponse:
24588class NodeGetResponse:
24589    '''
24590         NodeGetResponse returns a requested Node.
24591    '''
24592    __slots__ = [
24593        'meta',
24594        'node',
24595        'rate_limit',
24596    ]
24597
24598    def __init__(
24599        self,
24600        meta=None,
24601        node=None,
24602        rate_limit=None,
24603    ):
24604        self.meta = meta if meta is not None else None
24605        '''
24606         Reserved for future use.
24607        '''
24608        self.node = node if node is not None else None
24609        '''
24610         The requested Node.
24611        '''
24612        self.rate_limit = rate_limit if rate_limit is not None else None
24613        '''
24614         Rate limit information.
24615        '''
24616
24617    def __repr__(self):
24618        return '<sdm.NodeGetResponse ' + \
24619            'meta: ' + repr(self.meta) + ' ' +\
24620            'node: ' + repr(self.node) + ' ' +\
24621            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24622            '>'
24623
24624    def to_dict(self):
24625        return {
24626            'meta': self.meta,
24627            'node': self.node,
24628            'rate_limit': self.rate_limit,
24629        }
24630
24631    @classmethod
24632    def from_dict(cls, d):
24633        return cls(
24634            meta=d.get('meta'),
24635            node=d.get('node'),
24636            rate_limit=d.get('rate_limit'),
24637        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
24598    def __init__(
24599        self,
24600        meta=None,
24601        node=None,
24602        rate_limit=None,
24603    ):
24604        self.meta = meta if meta is not None else None
24605        '''
24606         Reserved for future use.
24607        '''
24608        self.node = node if node is not None else None
24609        '''
24610         The requested Node.
24611        '''
24612        self.rate_limit = rate_limit if rate_limit is not None else None
24613        '''
24614         Rate limit information.
24615        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
24624    def to_dict(self):
24625        return {
24626            'meta': self.meta,
24627            'node': self.node,
24628            'rate_limit': self.rate_limit,
24629        }
@classmethod
def from_dict(cls, d)
24631    @classmethod
24632    def from_dict(cls, d):
24633        return cls(
24634            meta=d.get('meta'),
24635            node=d.get('node'),
24636            rate_limit=d.get('rate_limit'),
24637        )
class NodeHistory:
24640class NodeHistory:
24641    '''
24642         NodeHistory records the state of a Node at a given point in time,
24643     where every change (create, update and delete) to a Node produces an
24644     NodeHistory record.
24645    '''
24646    __slots__ = [
24647        'activity_id',
24648        'deleted_at',
24649        'node',
24650        'timestamp',
24651    ]
24652
24653    def __init__(
24654        self,
24655        activity_id=None,
24656        deleted_at=None,
24657        node=None,
24658        timestamp=None,
24659    ):
24660        self.activity_id = activity_id if activity_id is not None else ''
24661        '''
24662         The unique identifier of the Activity that produced this change to the Node.
24663         May be empty for some system-initiated updates.
24664        '''
24665        self.deleted_at = deleted_at if deleted_at is not None else None
24666        '''
24667         If this Node was deleted, the time it was deleted.
24668        '''
24669        self.node = node if node is not None else None
24670        '''
24671         The complete Node state at this time.
24672        '''
24673        self.timestamp = timestamp if timestamp is not None else None
24674        '''
24675         The time at which the Node state was recorded.
24676        '''
24677
24678    def __repr__(self):
24679        return '<sdm.NodeHistory ' + \
24680            'activity_id: ' + repr(self.activity_id) + ' ' +\
24681            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24682            'node: ' + repr(self.node) + ' ' +\
24683            'timestamp: ' + repr(self.timestamp) + ' ' +\
24684            '>'
24685
24686    def to_dict(self):
24687        return {
24688            'activity_id': self.activity_id,
24689            'deleted_at': self.deleted_at,
24690            'node': self.node,
24691            'timestamp': self.timestamp,
24692        }
24693
24694    @classmethod
24695    def from_dict(cls, d):
24696        return cls(
24697            activity_id=d.get('activity_id'),
24698            deleted_at=d.get('deleted_at'),
24699            node=d.get('node'),
24700            timestamp=d.get('timestamp'),
24701        )

NodeHistory records the state of a Node at a given point in time, where every change (create, update and delete) to a Node produces an NodeHistory record.

NodeHistory(activity_id=None, deleted_at=None, node=None, timestamp=None)
24653    def __init__(
24654        self,
24655        activity_id=None,
24656        deleted_at=None,
24657        node=None,
24658        timestamp=None,
24659    ):
24660        self.activity_id = activity_id if activity_id is not None else ''
24661        '''
24662         The unique identifier of the Activity that produced this change to the Node.
24663         May be empty for some system-initiated updates.
24664        '''
24665        self.deleted_at = deleted_at if deleted_at is not None else None
24666        '''
24667         If this Node was deleted, the time it was deleted.
24668        '''
24669        self.node = node if node is not None else None
24670        '''
24671         The complete Node state at this time.
24672        '''
24673        self.timestamp = timestamp if timestamp is not None else None
24674        '''
24675         The time at which the Node state was recorded.
24676        '''
activity_id

The unique identifier of the Activity that produced this change to the Node. May be empty for some system-initiated updates.

deleted_at

If this Node was deleted, the time it was deleted.

node

The complete Node state at this time.

timestamp

The time at which the Node state was recorded.

def to_dict(self)
24686    def to_dict(self):
24687        return {
24688            'activity_id': self.activity_id,
24689            'deleted_at': self.deleted_at,
24690            'node': self.node,
24691            'timestamp': self.timestamp,
24692        }
@classmethod
def from_dict(cls, d)
24694    @classmethod
24695    def from_dict(cls, d):
24696        return cls(
24697            activity_id=d.get('activity_id'),
24698            deleted_at=d.get('deleted_at'),
24699            node=d.get('node'),
24700            timestamp=d.get('timestamp'),
24701        )
class NodeMaintenanceWindow:
24704class NodeMaintenanceWindow:
24705    __slots__ = [
24706        'cron_schedule',
24707        'require_idleness',
24708    ]
24709
24710    def __init__(
24711        self,
24712        cron_schedule=None,
24713        require_idleness=None,
24714    ):
24715        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
24716        '''
24717         Cron job syntax for when this maintenance window is active. On this schedule, associated
24718         nodes will restart if requested, provided other checks allow the restart to proceed. Times
24719         are represented in UTC.
24720         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
24721         Saturday. Not all possible inputs are supported: the month and day of month selections
24722         must be '*'.
24723        '''
24724        self.require_idleness = require_idleness if require_idleness is not None else False
24725        '''
24726         Require Idleness defines whether this window can sever live connections. If true,
24727         this window will not allow a node to be restarted unless it is serving no connections.
24728         If false, given a restart of the node has been requested (for an update, usually), the
24729         node will restart as soon as it enters an allowed day / hour combination. At least one
24730         maintenance window, out of all configured windows for a node, must have this as false.
24731        '''
24732
24733    def __repr__(self):
24734        return '<sdm.NodeMaintenanceWindow ' + \
24735            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
24736            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
24737            '>'
24738
24739    def to_dict(self):
24740        return {
24741            'cron_schedule': self.cron_schedule,
24742            'require_idleness': self.require_idleness,
24743        }
24744
24745    @classmethod
24746    def from_dict(cls, d):
24747        return cls(
24748            cron_schedule=d.get('cron_schedule'),
24749            require_idleness=d.get('require_idleness'),
24750        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
24710    def __init__(
24711        self,
24712        cron_schedule=None,
24713        require_idleness=None,
24714    ):
24715        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
24716        '''
24717         Cron job syntax for when this maintenance window is active. On this schedule, associated
24718         nodes will restart if requested, provided other checks allow the restart to proceed. Times
24719         are represented in UTC.
24720         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
24721         Saturday. Not all possible inputs are supported: the month and day of month selections
24722         must be '*'.
24723        '''
24724        self.require_idleness = require_idleness if require_idleness is not None else False
24725        '''
24726         Require Idleness defines whether this window can sever live connections. If true,
24727         this window will not allow a node to be restarted unless it is serving no connections.
24728         If false, given a restart of the node has been requested (for an update, usually), the
24729         node will restart as soon as it enters an allowed day / hour combination. At least one
24730         maintenance window, out of all configured windows for a node, must have this as false.
24731        '''
cron_schedule

Cron job syntax for when this maintenance window is active. On this schedule, associated nodes will restart if requested, provided other checks allow the restart to proceed. Times are represented in UTC. e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and Saturday. Not all possible inputs are supported: the month and day of month selections must be '*'.

require_idleness

Require Idleness defines whether this window can sever live connections. If true, this window will not allow a node to be restarted unless it is serving no connections. If false, given a restart of the node has been requested (for an update, usually), the node will restart as soon as it enters an allowed day / hour combination. At least one maintenance window, out of all configured windows for a node, must have this as false.

def to_dict(self)
24739    def to_dict(self):
24740        return {
24741            'cron_schedule': self.cron_schedule,
24742            'require_idleness': self.require_idleness,
24743        }
@classmethod
def from_dict(cls, d)
24745    @classmethod
24746    def from_dict(cls, d):
24747        return cls(
24748            cron_schedule=d.get('cron_schedule'),
24749            require_idleness=d.get('require_idleness'),
24750        )
class NodeTCPProbeResponse:
24753class NodeTCPProbeResponse:
24754    '''
24755         NodeTCPProbeResponse reports the result of a TCP probe.
24756    '''
24757    __slots__ = [
24758        'error',
24759        'meta',
24760        'rate_limit',
24761        'succeeded',
24762    ]
24763
24764    def __init__(
24765        self,
24766        error=None,
24767        meta=None,
24768        rate_limit=None,
24769        succeeded=None,
24770    ):
24771        self.error = error if error is not None else ''
24772        '''
24773         The connection error reported by the node, or the empty string if the probe succeeded.
24774        '''
24775        self.meta = meta if meta is not None else None
24776        '''
24777         Reserved for future use.
24778        '''
24779        self.rate_limit = rate_limit if rate_limit is not None else None
24780        '''
24781         Rate limit information.
24782        '''
24783        self.succeeded = succeeded if succeeded is not None else False
24784        '''
24785         True if the node was able to connect to the target address.
24786        '''
24787
24788    def __repr__(self):
24789        return '<sdm.NodeTCPProbeResponse ' + \
24790            'error: ' + repr(self.error) + ' ' +\
24791            'meta: ' + repr(self.meta) + ' ' +\
24792            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24793            'succeeded: ' + repr(self.succeeded) + ' ' +\
24794            '>'
24795
24796    def to_dict(self):
24797        return {
24798            'error': self.error,
24799            'meta': self.meta,
24800            'rate_limit': self.rate_limit,
24801            'succeeded': self.succeeded,
24802        }
24803
24804    @classmethod
24805    def from_dict(cls, d):
24806        return cls(
24807            error=d.get('error'),
24808            meta=d.get('meta'),
24809            rate_limit=d.get('rate_limit'),
24810            succeeded=d.get('succeeded'),
24811        )

NodeTCPProbeResponse reports the result of a TCP probe.

NodeTCPProbeResponse(error=None, meta=None, rate_limit=None, succeeded=None)
24764    def __init__(
24765        self,
24766        error=None,
24767        meta=None,
24768        rate_limit=None,
24769        succeeded=None,
24770    ):
24771        self.error = error if error is not None else ''
24772        '''
24773         The connection error reported by the node, or the empty string if the probe succeeded.
24774        '''
24775        self.meta = meta if meta is not None else None
24776        '''
24777         Reserved for future use.
24778        '''
24779        self.rate_limit = rate_limit if rate_limit is not None else None
24780        '''
24781         Rate limit information.
24782        '''
24783        self.succeeded = succeeded if succeeded is not None else False
24784        '''
24785         True if the node was able to connect to the target address.
24786        '''
error

The connection error reported by the node, or the empty string if the probe succeeded.

meta

Reserved for future use.

rate_limit

Rate limit information.

succeeded

True if the node was able to connect to the target address.

def to_dict(self)
24796    def to_dict(self):
24797        return {
24798            'error': self.error,
24799            'meta': self.meta,
24800            'rate_limit': self.rate_limit,
24801            'succeeded': self.succeeded,
24802        }
@classmethod
def from_dict(cls, d)
24804    @classmethod
24805    def from_dict(cls, d):
24806        return cls(
24807            error=d.get('error'),
24808            meta=d.get('meta'),
24809            rate_limit=d.get('rate_limit'),
24810            succeeded=d.get('succeeded'),
24811        )
class NodeUpdateResponse:
24814class NodeUpdateResponse:
24815    '''
24816         NodeUpdateResponse returns the fields of a Node after it has been updated by
24817     a NodeUpdateRequest.
24818    '''
24819    __slots__ = [
24820        'meta',
24821        'node',
24822        'rate_limit',
24823    ]
24824
24825    def __init__(
24826        self,
24827        meta=None,
24828        node=None,
24829        rate_limit=None,
24830    ):
24831        self.meta = meta if meta is not None else None
24832        '''
24833         Reserved for future use.
24834        '''
24835        self.node = node if node is not None else None
24836        '''
24837         The updated Node.
24838        '''
24839        self.rate_limit = rate_limit if rate_limit is not None else None
24840        '''
24841         Rate limit information.
24842        '''
24843
24844    def __repr__(self):
24845        return '<sdm.NodeUpdateResponse ' + \
24846            'meta: ' + repr(self.meta) + ' ' +\
24847            'node: ' + repr(self.node) + ' ' +\
24848            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24849            '>'
24850
24851    def to_dict(self):
24852        return {
24853            'meta': self.meta,
24854            'node': self.node,
24855            'rate_limit': self.rate_limit,
24856        }
24857
24858    @classmethod
24859    def from_dict(cls, d):
24860        return cls(
24861            meta=d.get('meta'),
24862            node=d.get('node'),
24863            rate_limit=d.get('rate_limit'),
24864        )

NodeUpdateResponse returns the fields of a Node after it has been updated by a NodeUpdateRequest.

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
24825    def __init__(
24826        self,
24827        meta=None,
24828        node=None,
24829        rate_limit=None,
24830    ):
24831        self.meta = meta if meta is not None else None
24832        '''
24833         Reserved for future use.
24834        '''
24835        self.node = node if node is not None else None
24836        '''
24837         The updated Node.
24838        '''
24839        self.rate_limit = rate_limit if rate_limit is not None else None
24840        '''
24841         Rate limit information.
24842        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
24851    def to_dict(self):
24852        return {
24853            'meta': self.meta,
24854            'node': self.node,
24855            'rate_limit': self.rate_limit,
24856        }
@classmethod
def from_dict(cls, d)
24858    @classmethod
24859    def from_dict(cls, d):
24860        return cls(
24861            meta=d.get('meta'),
24862            node=d.get('node'),
24863            rate_limit=d.get('rate_limit'),
24864        )
class OktaGroups:
24867class OktaGroups:
24868    __slots__ = [
24869        'bind_interface',
24870        'discovery_enabled',
24871        'domain',
24872        'egress_filter',
24873        'group_names',
24874        'healthy',
24875        'id',
24876        'identity_set_id',
24877        'name',
24878        'privilege_levels',
24879        'proxy_cluster_id',
24880        'secret_store_id',
24881        'subdomain',
24882        'tags',
24883    ]
24884
24885    def __init__(
24886        self,
24887        bind_interface=None,
24888        discovery_enabled=None,
24889        domain=None,
24890        egress_filter=None,
24891        group_names=None,
24892        healthy=None,
24893        id=None,
24894        identity_set_id=None,
24895        name=None,
24896        privilege_levels=None,
24897        proxy_cluster_id=None,
24898        secret_store_id=None,
24899        subdomain=None,
24900        tags=None,
24901    ):
24902        self.bind_interface = bind_interface if bind_interface is not None else ''
24903        '''
24904         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24905        '''
24906        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
24907        '''
24908         If true, configures discovery of the Okta org to be run from a node.
24909        '''
24910        self.domain = domain if domain is not None else ''
24911        '''
24912         Represents the Okta Org Client URL
24913        '''
24914        self.egress_filter = egress_filter if egress_filter is not None else ''
24915        '''
24916         A filter applied to the routing logic to pin datasource to nodes.
24917        '''
24918        self.group_names = group_names if group_names is not None else ''
24919        '''
24920         comma separated list of group names to filter by. Supports wildcards (*)
24921        '''
24922        self.healthy = healthy if healthy is not None else False
24923        '''
24924         True if the datasource is reachable and the credentials are valid.
24925        '''
24926        self.id = id if id is not None else ''
24927        '''
24928         Unique identifier of the Resource.
24929        '''
24930        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
24931        '''
24932         The ID of the identity set to use for identity connections.
24933        '''
24934        self.name = name if name is not None else ''
24935        '''
24936         Unique human-readable name of the Resource.
24937        '''
24938        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
24939        '''
24940         The privilege levels specify which Groups are managed externally
24941        '''
24942        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24943        '''
24944         ID of the proxy cluster for this resource, if any.
24945        '''
24946        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24947        '''
24948         ID of the secret store containing credentials for this resource, if any.
24949        '''
24950        self.subdomain = subdomain if subdomain is not None else ''
24951        '''
24952         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24953        '''
24954        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24955        '''
24956         Tags is a map of key, value pairs.
24957        '''
24958
24959    def __repr__(self):
24960        return '<sdm.OktaGroups ' + \
24961            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24962            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
24963            'domain: ' + repr(self.domain) + ' ' +\
24964            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24965            'group_names: ' + repr(self.group_names) + ' ' +\
24966            'healthy: ' + repr(self.healthy) + ' ' +\
24967            'id: ' + repr(self.id) + ' ' +\
24968            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
24969            'name: ' + repr(self.name) + ' ' +\
24970            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
24971            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24972            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24973            'subdomain: ' + repr(self.subdomain) + ' ' +\
24974            'tags: ' + repr(self.tags) + ' ' +\
24975            '>'
24976
24977    def to_dict(self):
24978        return {
24979            'bind_interface': self.bind_interface,
24980            'discovery_enabled': self.discovery_enabled,
24981            'domain': self.domain,
24982            'egress_filter': self.egress_filter,
24983            'group_names': self.group_names,
24984            'healthy': self.healthy,
24985            'id': self.id,
24986            'identity_set_id': self.identity_set_id,
24987            'name': self.name,
24988            'privilege_levels': self.privilege_levels,
24989            'proxy_cluster_id': self.proxy_cluster_id,
24990            'secret_store_id': self.secret_store_id,
24991            'subdomain': self.subdomain,
24992            'tags': self.tags,
24993        }
24994
24995    @classmethod
24996    def from_dict(cls, d):
24997        return cls(
24998            bind_interface=d.get('bind_interface'),
24999            discovery_enabled=d.get('discovery_enabled'),
25000            domain=d.get('domain'),
25001            egress_filter=d.get('egress_filter'),
25002            group_names=d.get('group_names'),
25003            healthy=d.get('healthy'),
25004            id=d.get('id'),
25005            identity_set_id=d.get('identity_set_id'),
25006            name=d.get('name'),
25007            privilege_levels=d.get('privilege_levels'),
25008            proxy_cluster_id=d.get('proxy_cluster_id'),
25009            secret_store_id=d.get('secret_store_id'),
25010            subdomain=d.get('subdomain'),
25011            tags=d.get('tags'),
25012        )
OktaGroups( bind_interface=None, discovery_enabled=None, domain=None, egress_filter=None, group_names=None, healthy=None, id=None, identity_set_id=None, name=None, privilege_levels=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
24885    def __init__(
24886        self,
24887        bind_interface=None,
24888        discovery_enabled=None,
24889        domain=None,
24890        egress_filter=None,
24891        group_names=None,
24892        healthy=None,
24893        id=None,
24894        identity_set_id=None,
24895        name=None,
24896        privilege_levels=None,
24897        proxy_cluster_id=None,
24898        secret_store_id=None,
24899        subdomain=None,
24900        tags=None,
24901    ):
24902        self.bind_interface = bind_interface if bind_interface is not None else ''
24903        '''
24904         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24905        '''
24906        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
24907        '''
24908         If true, configures discovery of the Okta org to be run from a node.
24909        '''
24910        self.domain = domain if domain is not None else ''
24911        '''
24912         Represents the Okta Org Client URL
24913        '''
24914        self.egress_filter = egress_filter if egress_filter is not None else ''
24915        '''
24916         A filter applied to the routing logic to pin datasource to nodes.
24917        '''
24918        self.group_names = group_names if group_names is not None else ''
24919        '''
24920         comma separated list of group names to filter by. Supports wildcards (*)
24921        '''
24922        self.healthy = healthy if healthy is not None else False
24923        '''
24924         True if the datasource is reachable and the credentials are valid.
24925        '''
24926        self.id = id if id is not None else ''
24927        '''
24928         Unique identifier of the Resource.
24929        '''
24930        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
24931        '''
24932         The ID of the identity set to use for identity connections.
24933        '''
24934        self.name = name if name is not None else ''
24935        '''
24936         Unique human-readable name of the Resource.
24937        '''
24938        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
24939        '''
24940         The privilege levels specify which Groups are managed externally
24941        '''
24942        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24943        '''
24944         ID of the proxy cluster for this resource, if any.
24945        '''
24946        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24947        '''
24948         ID of the secret store containing credentials for this resource, if any.
24949        '''
24950        self.subdomain = subdomain if subdomain is not None else ''
24951        '''
24952         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24953        '''
24954        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24955        '''
24956         Tags is a map of key, value pairs.
24957        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

discovery_enabled

If true, configures discovery of the Okta org to be run from a node.

domain

Represents the Okta Org Client URL

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

group_names

comma separated list of group names to filter by. Supports wildcards (*)

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

privilege_levels

The privilege levels specify which Groups are managed externally

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
24977    def to_dict(self):
24978        return {
24979            'bind_interface': self.bind_interface,
24980            'discovery_enabled': self.discovery_enabled,
24981            'domain': self.domain,
24982            'egress_filter': self.egress_filter,
24983            'group_names': self.group_names,
24984            'healthy': self.healthy,
24985            'id': self.id,
24986            'identity_set_id': self.identity_set_id,
24987            'name': self.name,
24988            'privilege_levels': self.privilege_levels,
24989            'proxy_cluster_id': self.proxy_cluster_id,
24990            'secret_store_id': self.secret_store_id,
24991            'subdomain': self.subdomain,
24992            'tags': self.tags,
24993        }
@classmethod
def from_dict(cls, d)
24995    @classmethod
24996    def from_dict(cls, d):
24997        return cls(
24998            bind_interface=d.get('bind_interface'),
24999            discovery_enabled=d.get('discovery_enabled'),
25000            domain=d.get('domain'),
25001            egress_filter=d.get('egress_filter'),
25002            group_names=d.get('group_names'),
25003            healthy=d.get('healthy'),
25004            id=d.get('id'),
25005            identity_set_id=d.get('identity_set_id'),
25006            name=d.get('name'),
25007            privilege_levels=d.get('privilege_levels'),
25008            proxy_cluster_id=d.get('proxy_cluster_id'),
25009            secret_store_id=d.get('secret_store_id'),
25010            subdomain=d.get('subdomain'),
25011            tags=d.get('tags'),
25012        )
class OktaMFAConfig:
25015class OktaMFAConfig:
25016    __slots__ = [
25017        'api_token',
25018        'api_token_set',
25019        'auth_mode',
25020        'client_id',
25021        'multidevice_push_enabled',
25022        'organization_url',
25023        'private_key_id',
25024        'private_key_id_set',
25025        'private_key_pem',
25026        'private_key_pem_set',
25027        'user_lookup',
25028    ]
25029
25030    def __init__(
25031        self,
25032        api_token=None,
25033        api_token_set=None,
25034        auth_mode=None,
25035        client_id=None,
25036        multidevice_push_enabled=None,
25037        organization_url=None,
25038        private_key_id=None,
25039        private_key_id_set=None,
25040        private_key_pem=None,
25041        private_key_pem_set=None,
25042        user_lookup=None,
25043    ):
25044        self.api_token = api_token if api_token is not None else ''
25045        '''
25046         The API token to authenticate with when auth_mode is api_token.
25047        '''
25048        self.api_token_set = api_token_set if api_token_set is not None else False
25049        '''
25050         Indicates if an API token is already stored.
25051        '''
25052        self.auth_mode = auth_mode if auth_mode is not None else ''
25053        '''
25054         The Okta auth mode, one of the OktaAuthMode constants.
25055        '''
25056        self.client_id = client_id if client_id is not None else ''
25057        '''
25058         The Okta client ID to authenticate with when auth_mode is client_credentials.
25059        '''
25060        self.multidevice_push_enabled = multidevice_push_enabled if multidevice_push_enabled is not None else False
25061        '''
25062         Indicates if multidevice push is enabled.
25063        '''
25064        self.organization_url = organization_url if organization_url is not None else ''
25065        '''
25066         The Okta organization URL.
25067        '''
25068        self.private_key_id = private_key_id if private_key_id is not None else ''
25069        '''
25070         The key ID (kid) assigned by Okta to the registered public key.
25071        '''
25072        self.private_key_id_set = private_key_id_set if private_key_id_set is not None else False
25073        '''
25074         Indicates if a key ID is already stored or explicitly supplied. This allows
25075         callers to preserve the existing value when omitted or clear it by
25076         sending an empty string with private_key_id_set=true.
25077        '''
25078        self.private_key_pem = private_key_pem if private_key_pem is not None else ''
25079        '''
25080         The PEM encoded private key to authenticate with when auth_mode is client_credentials.
25081        '''
25082        self.private_key_pem_set = private_key_pem_set if private_key_pem_set is not None else False
25083        '''
25084         Indicates if a PEM encoded private key is already stored.
25085        '''
25086        self.user_lookup = user_lookup if user_lookup is not None else ''
25087        '''
25088         The Okta user lookup strategy, one of the OktaUserLookup constants.
25089        '''
25090
25091    def __repr__(self):
25092        return '<sdm.OktaMFAConfig ' + \
25093            'api_token: ' + repr(self.api_token) + ' ' +\
25094            'api_token_set: ' + repr(self.api_token_set) + ' ' +\
25095            'auth_mode: ' + repr(self.auth_mode) + ' ' +\
25096            'client_id: ' + repr(self.client_id) + ' ' +\
25097            'multidevice_push_enabled: ' + repr(self.multidevice_push_enabled) + ' ' +\
25098            'organization_url: ' + repr(self.organization_url) + ' ' +\
25099            'private_key_id: ' + repr(self.private_key_id) + ' ' +\
25100            'private_key_id_set: ' + repr(self.private_key_id_set) + ' ' +\
25101            'private_key_pem: ' + repr(self.private_key_pem) + ' ' +\
25102            'private_key_pem_set: ' + repr(self.private_key_pem_set) + ' ' +\
25103            'user_lookup: ' + repr(self.user_lookup) + ' ' +\
25104            '>'
25105
25106    def to_dict(self):
25107        return {
25108            'api_token': self.api_token,
25109            'api_token_set': self.api_token_set,
25110            'auth_mode': self.auth_mode,
25111            'client_id': self.client_id,
25112            'multidevice_push_enabled': self.multidevice_push_enabled,
25113            'organization_url': self.organization_url,
25114            'private_key_id': self.private_key_id,
25115            'private_key_id_set': self.private_key_id_set,
25116            'private_key_pem': self.private_key_pem,
25117            'private_key_pem_set': self.private_key_pem_set,
25118            'user_lookup': self.user_lookup,
25119        }
25120
25121    @classmethod
25122    def from_dict(cls, d):
25123        return cls(
25124            api_token=d.get('api_token'),
25125            api_token_set=d.get('api_token_set'),
25126            auth_mode=d.get('auth_mode'),
25127            client_id=d.get('client_id'),
25128            multidevice_push_enabled=d.get('multidevice_push_enabled'),
25129            organization_url=d.get('organization_url'),
25130            private_key_id=d.get('private_key_id'),
25131            private_key_id_set=d.get('private_key_id_set'),
25132            private_key_pem=d.get('private_key_pem'),
25133            private_key_pem_set=d.get('private_key_pem_set'),
25134            user_lookup=d.get('user_lookup'),
25135        )
OktaMFAConfig( api_token=None, api_token_set=None, auth_mode=None, client_id=None, multidevice_push_enabled=None, organization_url=None, private_key_id=None, private_key_id_set=None, private_key_pem=None, private_key_pem_set=None, user_lookup=None)
25030    def __init__(
25031        self,
25032        api_token=None,
25033        api_token_set=None,
25034        auth_mode=None,
25035        client_id=None,
25036        multidevice_push_enabled=None,
25037        organization_url=None,
25038        private_key_id=None,
25039        private_key_id_set=None,
25040        private_key_pem=None,
25041        private_key_pem_set=None,
25042        user_lookup=None,
25043    ):
25044        self.api_token = api_token if api_token is not None else ''
25045        '''
25046         The API token to authenticate with when auth_mode is api_token.
25047        '''
25048        self.api_token_set = api_token_set if api_token_set is not None else False
25049        '''
25050         Indicates if an API token is already stored.
25051        '''
25052        self.auth_mode = auth_mode if auth_mode is not None else ''
25053        '''
25054         The Okta auth mode, one of the OktaAuthMode constants.
25055        '''
25056        self.client_id = client_id if client_id is not None else ''
25057        '''
25058         The Okta client ID to authenticate with when auth_mode is client_credentials.
25059        '''
25060        self.multidevice_push_enabled = multidevice_push_enabled if multidevice_push_enabled is not None else False
25061        '''
25062         Indicates if multidevice push is enabled.
25063        '''
25064        self.organization_url = organization_url if organization_url is not None else ''
25065        '''
25066         The Okta organization URL.
25067        '''
25068        self.private_key_id = private_key_id if private_key_id is not None else ''
25069        '''
25070         The key ID (kid) assigned by Okta to the registered public key.
25071        '''
25072        self.private_key_id_set = private_key_id_set if private_key_id_set is not None else False
25073        '''
25074         Indicates if a key ID is already stored or explicitly supplied. This allows
25075         callers to preserve the existing value when omitted or clear it by
25076         sending an empty string with private_key_id_set=true.
25077        '''
25078        self.private_key_pem = private_key_pem if private_key_pem is not None else ''
25079        '''
25080         The PEM encoded private key to authenticate with when auth_mode is client_credentials.
25081        '''
25082        self.private_key_pem_set = private_key_pem_set if private_key_pem_set is not None else False
25083        '''
25084         Indicates if a PEM encoded private key is already stored.
25085        '''
25086        self.user_lookup = user_lookup if user_lookup is not None else ''
25087        '''
25088         The Okta user lookup strategy, one of the OktaUserLookup constants.
25089        '''
api_token

The API token to authenticate with when auth_mode is api_token.

api_token_set

Indicates if an API token is already stored.

auth_mode

The Okta auth mode, one of the OktaAuthMode constants.

client_id

The Okta client ID to authenticate with when auth_mode is client_credentials.

multidevice_push_enabled

Indicates if multidevice push is enabled.

organization_url

The Okta organization URL.

private_key_id

The key ID (kid) assigned by Okta to the registered public key.

private_key_id_set

Indicates if a key ID is already stored or explicitly supplied. This allows callers to preserve the existing value when omitted or clear it by sending an empty string with private_key_id_set=true.

private_key_pem

The PEM encoded private key to authenticate with when auth_mode is client_credentials.

private_key_pem_set

Indicates if a PEM encoded private key is already stored.

user_lookup

The Okta user lookup strategy, one of the OktaUserLookup constants.

def to_dict(self)
25106    def to_dict(self):
25107        return {
25108            'api_token': self.api_token,
25109            'api_token_set': self.api_token_set,
25110            'auth_mode': self.auth_mode,
25111            'client_id': self.client_id,
25112            'multidevice_push_enabled': self.multidevice_push_enabled,
25113            'organization_url': self.organization_url,
25114            'private_key_id': self.private_key_id,
25115            'private_key_id_set': self.private_key_id_set,
25116            'private_key_pem': self.private_key_pem,
25117            'private_key_pem_set': self.private_key_pem_set,
25118            'user_lookup': self.user_lookup,
25119        }
@classmethod
def from_dict(cls, d)
25121    @classmethod
25122    def from_dict(cls, d):
25123        return cls(
25124            api_token=d.get('api_token'),
25125            api_token_set=d.get('api_token_set'),
25126            auth_mode=d.get('auth_mode'),
25127            client_id=d.get('client_id'),
25128            multidevice_push_enabled=d.get('multidevice_push_enabled'),
25129            organization_url=d.get('organization_url'),
25130            private_key_id=d.get('private_key_id'),
25131            private_key_id_set=d.get('private_key_id_set'),
25132            private_key_pem=d.get('private_key_pem'),
25133            private_key_pem_set=d.get('private_key_pem_set'),
25134            user_lookup=d.get('user_lookup'),
25135        )
class Oracle:
25138class Oracle:
25139    __slots__ = [
25140        'bind_interface',
25141        'database',
25142        'egress_filter',
25143        'healthy',
25144        'hostname',
25145        'id',
25146        'name',
25147        'password',
25148        'port',
25149        'port_override',
25150        'proxy_cluster_id',
25151        'secret_store_id',
25152        'subdomain',
25153        'tags',
25154        'tls_required',
25155        'username',
25156    ]
25157
25158    def __init__(
25159        self,
25160        bind_interface=None,
25161        database=None,
25162        egress_filter=None,
25163        healthy=None,
25164        hostname=None,
25165        id=None,
25166        name=None,
25167        password=None,
25168        port=None,
25169        port_override=None,
25170        proxy_cluster_id=None,
25171        secret_store_id=None,
25172        subdomain=None,
25173        tags=None,
25174        tls_required=None,
25175        username=None,
25176    ):
25177        self.bind_interface = bind_interface if bind_interface is not None else ''
25178        '''
25179         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25180        '''
25181        self.database = database if database is not None else ''
25182        '''
25183         Oracle service name to connect to
25184        '''
25185        self.egress_filter = egress_filter if egress_filter is not None else ''
25186        '''
25187         A filter applied to the routing logic to pin datasource to nodes.
25188        '''
25189        self.healthy = healthy if healthy is not None else False
25190        '''
25191         True if the datasource is reachable and the credentials are valid.
25192        '''
25193        self.hostname = hostname if hostname is not None else ''
25194        '''
25195         The host to dial to initiate a connection from the egress node to this resource.
25196        '''
25197        self.id = id if id is not None else ''
25198        '''
25199         Unique identifier of the Resource.
25200        '''
25201        self.name = name if name is not None else ''
25202        '''
25203         Unique human-readable name of the Resource.
25204        '''
25205        self.password = password if password is not None else ''
25206        '''
25207         The password to authenticate with.
25208        '''
25209        self.port = port if port is not None else 0
25210        '''
25211         The port to dial to initiate a connection from the egress node to this resource.
25212        '''
25213        self.port_override = port_override if port_override is not None else 0
25214        '''
25215         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25216        '''
25217        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25218        '''
25219         ID of the proxy cluster for this resource, if any.
25220        '''
25221        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25222        '''
25223         ID of the secret store containing credentials for this resource, if any.
25224        '''
25225        self.subdomain = subdomain if subdomain is not None else ''
25226        '''
25227         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25228        '''
25229        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25230        '''
25231         Tags is a map of key, value pairs.
25232        '''
25233        self.tls_required = tls_required if tls_required is not None else False
25234        '''
25235         If set, TLS must be used to connect to this resource.
25236        '''
25237        self.username = username if username is not None else ''
25238        '''
25239         The username to authenticate with.
25240        '''
25241
25242    def __repr__(self):
25243        return '<sdm.Oracle ' + \
25244            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25245            'database: ' + repr(self.database) + ' ' +\
25246            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25247            'healthy: ' + repr(self.healthy) + ' ' +\
25248            'hostname: ' + repr(self.hostname) + ' ' +\
25249            'id: ' + repr(self.id) + ' ' +\
25250            'name: ' + repr(self.name) + ' ' +\
25251            'password: ' + repr(self.password) + ' ' +\
25252            'port: ' + repr(self.port) + ' ' +\
25253            'port_override: ' + repr(self.port_override) + ' ' +\
25254            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25255            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25256            'subdomain: ' + repr(self.subdomain) + ' ' +\
25257            'tags: ' + repr(self.tags) + ' ' +\
25258            'tls_required: ' + repr(self.tls_required) + ' ' +\
25259            'username: ' + repr(self.username) + ' ' +\
25260            '>'
25261
25262    def to_dict(self):
25263        return {
25264            'bind_interface': self.bind_interface,
25265            'database': self.database,
25266            'egress_filter': self.egress_filter,
25267            'healthy': self.healthy,
25268            'hostname': self.hostname,
25269            'id': self.id,
25270            'name': self.name,
25271            'password': self.password,
25272            'port': self.port,
25273            'port_override': self.port_override,
25274            'proxy_cluster_id': self.proxy_cluster_id,
25275            'secret_store_id': self.secret_store_id,
25276            'subdomain': self.subdomain,
25277            'tags': self.tags,
25278            'tls_required': self.tls_required,
25279            'username': self.username,
25280        }
25281
25282    @classmethod
25283    def from_dict(cls, d):
25284        return cls(
25285            bind_interface=d.get('bind_interface'),
25286            database=d.get('database'),
25287            egress_filter=d.get('egress_filter'),
25288            healthy=d.get('healthy'),
25289            hostname=d.get('hostname'),
25290            id=d.get('id'),
25291            name=d.get('name'),
25292            password=d.get('password'),
25293            port=d.get('port'),
25294            port_override=d.get('port_override'),
25295            proxy_cluster_id=d.get('proxy_cluster_id'),
25296            secret_store_id=d.get('secret_store_id'),
25297            subdomain=d.get('subdomain'),
25298            tags=d.get('tags'),
25299            tls_required=d.get('tls_required'),
25300            username=d.get('username'),
25301        )
Oracle( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
25158    def __init__(
25159        self,
25160        bind_interface=None,
25161        database=None,
25162        egress_filter=None,
25163        healthy=None,
25164        hostname=None,
25165        id=None,
25166        name=None,
25167        password=None,
25168        port=None,
25169        port_override=None,
25170        proxy_cluster_id=None,
25171        secret_store_id=None,
25172        subdomain=None,
25173        tags=None,
25174        tls_required=None,
25175        username=None,
25176    ):
25177        self.bind_interface = bind_interface if bind_interface is not None else ''
25178        '''
25179         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25180        '''
25181        self.database = database if database is not None else ''
25182        '''
25183         Oracle service name to connect to
25184        '''
25185        self.egress_filter = egress_filter if egress_filter is not None else ''
25186        '''
25187         A filter applied to the routing logic to pin datasource to nodes.
25188        '''
25189        self.healthy = healthy if healthy is not None else False
25190        '''
25191         True if the datasource is reachable and the credentials are valid.
25192        '''
25193        self.hostname = hostname if hostname is not None else ''
25194        '''
25195         The host to dial to initiate a connection from the egress node to this resource.
25196        '''
25197        self.id = id if id is not None else ''
25198        '''
25199         Unique identifier of the Resource.
25200        '''
25201        self.name = name if name is not None else ''
25202        '''
25203         Unique human-readable name of the Resource.
25204        '''
25205        self.password = password if password is not None else ''
25206        '''
25207         The password to authenticate with.
25208        '''
25209        self.port = port if port is not None else 0
25210        '''
25211         The port to dial to initiate a connection from the egress node to this resource.
25212        '''
25213        self.port_override = port_override if port_override is not None else 0
25214        '''
25215         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25216        '''
25217        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25218        '''
25219         ID of the proxy cluster for this resource, if any.
25220        '''
25221        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25222        '''
25223         ID of the secret store containing credentials for this resource, if any.
25224        '''
25225        self.subdomain = subdomain if subdomain is not None else ''
25226        '''
25227         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25228        '''
25229        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25230        '''
25231         Tags is a map of key, value pairs.
25232        '''
25233        self.tls_required = tls_required if tls_required is not None else False
25234        '''
25235         If set, TLS must be used to connect to this resource.
25236        '''
25237        self.username = username if username is not None else ''
25238        '''
25239         The username to authenticate with.
25240        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

Oracle service name to connect to

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
25262    def to_dict(self):
25263        return {
25264            'bind_interface': self.bind_interface,
25265            'database': self.database,
25266            'egress_filter': self.egress_filter,
25267            'healthy': self.healthy,
25268            'hostname': self.hostname,
25269            'id': self.id,
25270            'name': self.name,
25271            'password': self.password,
25272            'port': self.port,
25273            'port_override': self.port_override,
25274            'proxy_cluster_id': self.proxy_cluster_id,
25275            'secret_store_id': self.secret_store_id,
25276            'subdomain': self.subdomain,
25277            'tags': self.tags,
25278            'tls_required': self.tls_required,
25279            'username': self.username,
25280        }
@classmethod
def from_dict(cls, d)
25282    @classmethod
25283    def from_dict(cls, d):
25284        return cls(
25285            bind_interface=d.get('bind_interface'),
25286            database=d.get('database'),
25287            egress_filter=d.get('egress_filter'),
25288            healthy=d.get('healthy'),
25289            hostname=d.get('hostname'),
25290            id=d.get('id'),
25291            name=d.get('name'),
25292            password=d.get('password'),
25293            port=d.get('port'),
25294            port_override=d.get('port_override'),
25295            proxy_cluster_id=d.get('proxy_cluster_id'),
25296            secret_store_id=d.get('secret_store_id'),
25297            subdomain=d.get('subdomain'),
25298            tags=d.get('tags'),
25299            tls_required=d.get('tls_required'),
25300            username=d.get('username'),
25301        )
class OracleNNE:
25304class OracleNNE:
25305    __slots__ = [
25306        'bind_interface',
25307        'database',
25308        'egress_filter',
25309        'healthy',
25310        'hostname',
25311        'id',
25312        'name',
25313        'password',
25314        'port',
25315        'port_override',
25316        'proxy_cluster_id',
25317        'secret_store_id',
25318        'subdomain',
25319        'tags',
25320        'tls_required',
25321        'username',
25322    ]
25323
25324    def __init__(
25325        self,
25326        bind_interface=None,
25327        database=None,
25328        egress_filter=None,
25329        healthy=None,
25330        hostname=None,
25331        id=None,
25332        name=None,
25333        password=None,
25334        port=None,
25335        port_override=None,
25336        proxy_cluster_id=None,
25337        secret_store_id=None,
25338        subdomain=None,
25339        tags=None,
25340        tls_required=None,
25341        username=None,
25342    ):
25343        self.bind_interface = bind_interface if bind_interface is not None else ''
25344        '''
25345         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25346        '''
25347        self.database = database if database is not None else ''
25348        '''
25349         Oracle service name to connect to
25350        '''
25351        self.egress_filter = egress_filter if egress_filter is not None else ''
25352        '''
25353         A filter applied to the routing logic to pin datasource to nodes.
25354        '''
25355        self.healthy = healthy if healthy is not None else False
25356        '''
25357         True if the datasource is reachable and the credentials are valid.
25358        '''
25359        self.hostname = hostname if hostname is not None else ''
25360        '''
25361         The host to dial to initiate a connection from the egress node to this resource.
25362        '''
25363        self.id = id if id is not None else ''
25364        '''
25365         Unique identifier of the Resource.
25366        '''
25367        self.name = name if name is not None else ''
25368        '''
25369         Unique human-readable name of the Resource.
25370        '''
25371        self.password = password if password is not None else ''
25372        '''
25373         The password to authenticate with.
25374        '''
25375        self.port = port if port is not None else 0
25376        '''
25377         The port to dial to initiate a connection from the egress node to this resource.
25378        '''
25379        self.port_override = port_override if port_override is not None else 0
25380        '''
25381         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25382        '''
25383        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25384        '''
25385         ID of the proxy cluster for this resource, if any.
25386        '''
25387        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25388        '''
25389         ID of the secret store containing credentials for this resource, if any.
25390        '''
25391        self.subdomain = subdomain if subdomain is not None else ''
25392        '''
25393         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25394        '''
25395        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25396        '''
25397         Tags is a map of key, value pairs.
25398        '''
25399        self.tls_required = tls_required if tls_required is not None else False
25400        '''
25401         If set, TLS must be used to connect to this resource.
25402        '''
25403        self.username = username if username is not None else ''
25404        '''
25405         The username to authenticate with.
25406        '''
25407
25408    def __repr__(self):
25409        return '<sdm.OracleNNE ' + \
25410            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25411            'database: ' + repr(self.database) + ' ' +\
25412            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25413            'healthy: ' + repr(self.healthy) + ' ' +\
25414            'hostname: ' + repr(self.hostname) + ' ' +\
25415            'id: ' + repr(self.id) + ' ' +\
25416            'name: ' + repr(self.name) + ' ' +\
25417            'password: ' + repr(self.password) + ' ' +\
25418            'port: ' + repr(self.port) + ' ' +\
25419            'port_override: ' + repr(self.port_override) + ' ' +\
25420            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25421            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25422            'subdomain: ' + repr(self.subdomain) + ' ' +\
25423            'tags: ' + repr(self.tags) + ' ' +\
25424            'tls_required: ' + repr(self.tls_required) + ' ' +\
25425            'username: ' + repr(self.username) + ' ' +\
25426            '>'
25427
25428    def to_dict(self):
25429        return {
25430            'bind_interface': self.bind_interface,
25431            'database': self.database,
25432            'egress_filter': self.egress_filter,
25433            'healthy': self.healthy,
25434            'hostname': self.hostname,
25435            'id': self.id,
25436            'name': self.name,
25437            'password': self.password,
25438            'port': self.port,
25439            'port_override': self.port_override,
25440            'proxy_cluster_id': self.proxy_cluster_id,
25441            'secret_store_id': self.secret_store_id,
25442            'subdomain': self.subdomain,
25443            'tags': self.tags,
25444            'tls_required': self.tls_required,
25445            'username': self.username,
25446        }
25447
25448    @classmethod
25449    def from_dict(cls, d):
25450        return cls(
25451            bind_interface=d.get('bind_interface'),
25452            database=d.get('database'),
25453            egress_filter=d.get('egress_filter'),
25454            healthy=d.get('healthy'),
25455            hostname=d.get('hostname'),
25456            id=d.get('id'),
25457            name=d.get('name'),
25458            password=d.get('password'),
25459            port=d.get('port'),
25460            port_override=d.get('port_override'),
25461            proxy_cluster_id=d.get('proxy_cluster_id'),
25462            secret_store_id=d.get('secret_store_id'),
25463            subdomain=d.get('subdomain'),
25464            tags=d.get('tags'),
25465            tls_required=d.get('tls_required'),
25466            username=d.get('username'),
25467        )
OracleNNE( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
25324    def __init__(
25325        self,
25326        bind_interface=None,
25327        database=None,
25328        egress_filter=None,
25329        healthy=None,
25330        hostname=None,
25331        id=None,
25332        name=None,
25333        password=None,
25334        port=None,
25335        port_override=None,
25336        proxy_cluster_id=None,
25337        secret_store_id=None,
25338        subdomain=None,
25339        tags=None,
25340        tls_required=None,
25341        username=None,
25342    ):
25343        self.bind_interface = bind_interface if bind_interface is not None else ''
25344        '''
25345         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25346        '''
25347        self.database = database if database is not None else ''
25348        '''
25349         Oracle service name to connect to
25350        '''
25351        self.egress_filter = egress_filter if egress_filter is not None else ''
25352        '''
25353         A filter applied to the routing logic to pin datasource to nodes.
25354        '''
25355        self.healthy = healthy if healthy is not None else False
25356        '''
25357         True if the datasource is reachable and the credentials are valid.
25358        '''
25359        self.hostname = hostname if hostname is not None else ''
25360        '''
25361         The host to dial to initiate a connection from the egress node to this resource.
25362        '''
25363        self.id = id if id is not None else ''
25364        '''
25365         Unique identifier of the Resource.
25366        '''
25367        self.name = name if name is not None else ''
25368        '''
25369         Unique human-readable name of the Resource.
25370        '''
25371        self.password = password if password is not None else ''
25372        '''
25373         The password to authenticate with.
25374        '''
25375        self.port = port if port is not None else 0
25376        '''
25377         The port to dial to initiate a connection from the egress node to this resource.
25378        '''
25379        self.port_override = port_override if port_override is not None else 0
25380        '''
25381         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25382        '''
25383        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25384        '''
25385         ID of the proxy cluster for this resource, if any.
25386        '''
25387        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25388        '''
25389         ID of the secret store containing credentials for this resource, if any.
25390        '''
25391        self.subdomain = subdomain if subdomain is not None else ''
25392        '''
25393         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25394        '''
25395        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25396        '''
25397         Tags is a map of key, value pairs.
25398        '''
25399        self.tls_required = tls_required if tls_required is not None else False
25400        '''
25401         If set, TLS must be used to connect to this resource.
25402        '''
25403        self.username = username if username is not None else ''
25404        '''
25405         The username to authenticate with.
25406        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

Oracle service name to connect to

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
25428    def to_dict(self):
25429        return {
25430            'bind_interface': self.bind_interface,
25431            'database': self.database,
25432            'egress_filter': self.egress_filter,
25433            'healthy': self.healthy,
25434            'hostname': self.hostname,
25435            'id': self.id,
25436            'name': self.name,
25437            'password': self.password,
25438            'port': self.port,
25439            'port_override': self.port_override,
25440            'proxy_cluster_id': self.proxy_cluster_id,
25441            'secret_store_id': self.secret_store_id,
25442            'subdomain': self.subdomain,
25443            'tags': self.tags,
25444            'tls_required': self.tls_required,
25445            'username': self.username,
25446        }
@classmethod
def from_dict(cls, d)
25448    @classmethod
25449    def from_dict(cls, d):
25450        return cls(
25451            bind_interface=d.get('bind_interface'),
25452            database=d.get('database'),
25453            egress_filter=d.get('egress_filter'),
25454            healthy=d.get('healthy'),
25455            hostname=d.get('hostname'),
25456            id=d.get('id'),
25457            name=d.get('name'),
25458            password=d.get('password'),
25459            port=d.get('port'),
25460            port_override=d.get('port_override'),
25461            proxy_cluster_id=d.get('proxy_cluster_id'),
25462            secret_store_id=d.get('secret_store_id'),
25463            subdomain=d.get('subdomain'),
25464            tags=d.get('tags'),
25465            tls_required=d.get('tls_required'),
25466            username=d.get('username'),
25467        )
class Organization:
25470class Organization:
25471    __slots__ = [
25472        'auth_provider',
25473        'created_at',
25474        'device_trust_enabled',
25475        'device_trust_provider',
25476        'discard_replays',
25477        'enforce_single_session',
25478        'idle_timeout',
25479        'idle_timeout_enabled',
25480        'kind',
25481        'log_config',
25482        'log_local_encoder',
25483        'log_local_format',
25484        'log_local_storage',
25485        'log_remote_encoder',
25486        'log_socket_path',
25487        'log_tcp_address',
25488        'loopback_range',
25489        'mfa_enabled',
25490        'mfa_provider',
25491        'name',
25492        'public_key_pem',
25493        'require_secret_store',
25494        'saml_metadata_url',
25495        'scim_provider',
25496        'sensitive_label',
25497        'session_timeout',
25498        'session_timeout_enabled',
25499        'ssh_certificate_authority_public_key',
25500        'ssh_certificate_authority_updated_at',
25501        'updated_at',
25502        'websites_subdomain',
25503    ]
25504
25505    def __init__(
25506        self,
25507        auth_provider=None,
25508        created_at=None,
25509        device_trust_enabled=None,
25510        device_trust_provider=None,
25511        discard_replays=None,
25512        enforce_single_session=None,
25513        idle_timeout=None,
25514        idle_timeout_enabled=None,
25515        kind=None,
25516        log_config=None,
25517        log_local_encoder=None,
25518        log_local_format=None,
25519        log_local_storage=None,
25520        log_remote_encoder=None,
25521        log_socket_path=None,
25522        log_tcp_address=None,
25523        loopback_range=None,
25524        mfa_enabled=None,
25525        mfa_provider=None,
25526        name=None,
25527        public_key_pem=None,
25528        require_secret_store=None,
25529        saml_metadata_url=None,
25530        scim_provider=None,
25531        sensitive_label=None,
25532        session_timeout=None,
25533        session_timeout_enabled=None,
25534        ssh_certificate_authority_public_key=None,
25535        ssh_certificate_authority_updated_at=None,
25536        updated_at=None,
25537        websites_subdomain=None,
25538    ):
25539        self.auth_provider = auth_provider if auth_provider is not None else ''
25540        '''
25541         The Organization's authentication provider, one of the AuthProvider constants.
25542        '''
25543        self.created_at = created_at if created_at is not None else None
25544        '''
25545         The time at which the Organization was created.
25546        '''
25547        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
25548        '''
25549         Indicates if the Organization has device trust enabled.
25550        '''
25551        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
25552        '''
25553         The Organization's device trust provider, one of the DeviceTrustProvider constants.
25554        '''
25555        self.discard_replays = discard_replays if discard_replays is not None else False
25556        '''
25557         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
25558         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
25559        '''
25560        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
25561        '''
25562         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
25563        '''
25564        self.idle_timeout = idle_timeout if idle_timeout is not None else None
25565        '''
25566         The Organization's idle timeout, if enabled.
25567        '''
25568        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
25569        '''
25570         Indicates if the Organization has idle timeouts enabled.
25571        '''
25572        self.kind = kind if kind is not None else ''
25573        '''
25574         The Organization's type, one of the OrgKind constants.
25575        '''
25576        self.log_config = log_config if log_config is not None else None
25577        '''
25578         The Organization's logging settings
25579        '''
25580        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
25581        '''
25582         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
25583         Deprecated: use log_config.local_encoder instead
25584        '''
25585        self.log_local_format = log_local_format if log_local_format is not None else ''
25586        '''
25587         The Organization's local log format, one of the LogLocalFormat constants.
25588         Deprecated: use log_config.local_format instead
25589        '''
25590        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
25591        '''
25592         The Organization's local log storage, one of the LogLocalStorage constants.
25593         Deprecated: use log_config.local_storage instead
25594        '''
25595        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
25596        '''
25597         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
25598         Deprecated: use categories specific log_config.categories[].remote_encoder instead
25599        '''
25600        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
25601        '''
25602         The Organization's socket path for Socket local log storage.
25603         Deprecated: use log_config.local_socket_path instead
25604        '''
25605        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
25606        '''
25607         The Organization's TCP address for TCP or Syslog local log storage.
25608         Deprecated: use log_config.local_tcp_address instead
25609        '''
25610        self.loopback_range = loopback_range if loopback_range is not None else ''
25611        '''
25612         The Organization's loopback range.
25613        '''
25614        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
25615        '''
25616         Indicates if the Organization has multi-factor authentication enabled.
25617        '''
25618        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
25619        '''
25620         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
25621        '''
25622        self.name = name if name is not None else ''
25623        '''
25624         The Organization's name.
25625        '''
25626        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
25627        '''
25628         The Organization's public key PEM for encrypting remote logs.
25629         Deprecated: use log_config.public_key instead
25630        '''
25631        self.require_secret_store = require_secret_store if require_secret_store is not None else False
25632        '''
25633         Indicates if the Organization requires secret stores.
25634        '''
25635        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
25636        '''
25637         The Organization's URL for SAML metadata.
25638        '''
25639        self.scim_provider = scim_provider if scim_provider is not None else ''
25640        '''
25641         The Organization's SCIM provider, one of the SCIMProvider constants.
25642        '''
25643        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
25644        '''
25645         The Organization's label for sensitive resources.
25646        '''
25647        self.session_timeout = session_timeout if session_timeout is not None else None
25648        '''
25649         The Organization's session timeout, if enabled.
25650        '''
25651        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
25652        '''
25653         Indicates if the Organization has session timeouts enabled.
25654        '''
25655        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
25656        '''
25657         The Organization's SSH certificate authority public key.
25658        '''
25659        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
25660        '''
25661         The time at which the Organization's SSH certificate authority was last updated.
25662        '''
25663        self.updated_at = updated_at if updated_at is not None else None
25664        '''
25665         The time at which the Organization was last updated.
25666        '''
25667        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
25668        '''
25669         The Organization's web site domain.
25670        '''
25671
25672    def __repr__(self):
25673        return '<sdm.Organization ' + \
25674            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
25675            'created_at: ' + repr(self.created_at) + ' ' +\
25676            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
25677            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
25678            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
25679            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
25680            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
25681            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
25682            'kind: ' + repr(self.kind) + ' ' +\
25683            'log_config: ' + repr(self.log_config) + ' ' +\
25684            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
25685            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
25686            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
25687            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
25688            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
25689            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
25690            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
25691            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
25692            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
25693            'name: ' + repr(self.name) + ' ' +\
25694            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
25695            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
25696            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
25697            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
25698            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
25699            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
25700            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
25701            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
25702            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
25703            'updated_at: ' + repr(self.updated_at) + ' ' +\
25704            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
25705            '>'
25706
25707    def to_dict(self):
25708        return {
25709            'auth_provider': self.auth_provider,
25710            'created_at': self.created_at,
25711            'device_trust_enabled': self.device_trust_enabled,
25712            'device_trust_provider': self.device_trust_provider,
25713            'discard_replays': self.discard_replays,
25714            'enforce_single_session': self.enforce_single_session,
25715            'idle_timeout': self.idle_timeout,
25716            'idle_timeout_enabled': self.idle_timeout_enabled,
25717            'kind': self.kind,
25718            'log_config': self.log_config,
25719            'log_local_encoder': self.log_local_encoder,
25720            'log_local_format': self.log_local_format,
25721            'log_local_storage': self.log_local_storage,
25722            'log_remote_encoder': self.log_remote_encoder,
25723            'log_socket_path': self.log_socket_path,
25724            'log_tcp_address': self.log_tcp_address,
25725            'loopback_range': self.loopback_range,
25726            'mfa_enabled': self.mfa_enabled,
25727            'mfa_provider': self.mfa_provider,
25728            'name': self.name,
25729            'public_key_pem': self.public_key_pem,
25730            'require_secret_store': self.require_secret_store,
25731            'saml_metadata_url': self.saml_metadata_url,
25732            'scim_provider': self.scim_provider,
25733            'sensitive_label': self.sensitive_label,
25734            'session_timeout': self.session_timeout,
25735            'session_timeout_enabled': self.session_timeout_enabled,
25736            'ssh_certificate_authority_public_key':
25737            self.ssh_certificate_authority_public_key,
25738            'ssh_certificate_authority_updated_at':
25739            self.ssh_certificate_authority_updated_at,
25740            'updated_at': self.updated_at,
25741            'websites_subdomain': self.websites_subdomain,
25742        }
25743
25744    @classmethod
25745    def from_dict(cls, d):
25746        return cls(
25747            auth_provider=d.get('auth_provider'),
25748            created_at=d.get('created_at'),
25749            device_trust_enabled=d.get('device_trust_enabled'),
25750            device_trust_provider=d.get('device_trust_provider'),
25751            discard_replays=d.get('discard_replays'),
25752            enforce_single_session=d.get('enforce_single_session'),
25753            idle_timeout=d.get('idle_timeout'),
25754            idle_timeout_enabled=d.get('idle_timeout_enabled'),
25755            kind=d.get('kind'),
25756            log_config=d.get('log_config'),
25757            log_local_encoder=d.get('log_local_encoder'),
25758            log_local_format=d.get('log_local_format'),
25759            log_local_storage=d.get('log_local_storage'),
25760            log_remote_encoder=d.get('log_remote_encoder'),
25761            log_socket_path=d.get('log_socket_path'),
25762            log_tcp_address=d.get('log_tcp_address'),
25763            loopback_range=d.get('loopback_range'),
25764            mfa_enabled=d.get('mfa_enabled'),
25765            mfa_provider=d.get('mfa_provider'),
25766            name=d.get('name'),
25767            public_key_pem=d.get('public_key_pem'),
25768            require_secret_store=d.get('require_secret_store'),
25769            saml_metadata_url=d.get('saml_metadata_url'),
25770            scim_provider=d.get('scim_provider'),
25771            sensitive_label=d.get('sensitive_label'),
25772            session_timeout=d.get('session_timeout'),
25773            session_timeout_enabled=d.get('session_timeout_enabled'),
25774            ssh_certificate_authority_public_key=d.get(
25775                'ssh_certificate_authority_public_key'),
25776            ssh_certificate_authority_updated_at=d.get(
25777                'ssh_certificate_authority_updated_at'),
25778            updated_at=d.get('updated_at'),
25779            websites_subdomain=d.get('websites_subdomain'),
25780        )
Organization( auth_provider=None, created_at=None, device_trust_enabled=None, device_trust_provider=None, discard_replays=None, enforce_single_session=None, idle_timeout=None, idle_timeout_enabled=None, kind=None, log_config=None, log_local_encoder=None, log_local_format=None, log_local_storage=None, log_remote_encoder=None, log_socket_path=None, log_tcp_address=None, loopback_range=None, mfa_enabled=None, mfa_provider=None, name=None, public_key_pem=None, require_secret_store=None, saml_metadata_url=None, scim_provider=None, sensitive_label=None, session_timeout=None, session_timeout_enabled=None, ssh_certificate_authority_public_key=None, ssh_certificate_authority_updated_at=None, updated_at=None, websites_subdomain=None)
25505    def __init__(
25506        self,
25507        auth_provider=None,
25508        created_at=None,
25509        device_trust_enabled=None,
25510        device_trust_provider=None,
25511        discard_replays=None,
25512        enforce_single_session=None,
25513        idle_timeout=None,
25514        idle_timeout_enabled=None,
25515        kind=None,
25516        log_config=None,
25517        log_local_encoder=None,
25518        log_local_format=None,
25519        log_local_storage=None,
25520        log_remote_encoder=None,
25521        log_socket_path=None,
25522        log_tcp_address=None,
25523        loopback_range=None,
25524        mfa_enabled=None,
25525        mfa_provider=None,
25526        name=None,
25527        public_key_pem=None,
25528        require_secret_store=None,
25529        saml_metadata_url=None,
25530        scim_provider=None,
25531        sensitive_label=None,
25532        session_timeout=None,
25533        session_timeout_enabled=None,
25534        ssh_certificate_authority_public_key=None,
25535        ssh_certificate_authority_updated_at=None,
25536        updated_at=None,
25537        websites_subdomain=None,
25538    ):
25539        self.auth_provider = auth_provider if auth_provider is not None else ''
25540        '''
25541         The Organization's authentication provider, one of the AuthProvider constants.
25542        '''
25543        self.created_at = created_at if created_at is not None else None
25544        '''
25545         The time at which the Organization was created.
25546        '''
25547        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
25548        '''
25549         Indicates if the Organization has device trust enabled.
25550        '''
25551        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
25552        '''
25553         The Organization's device trust provider, one of the DeviceTrustProvider constants.
25554        '''
25555        self.discard_replays = discard_replays if discard_replays is not None else False
25556        '''
25557         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
25558         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
25559        '''
25560        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
25561        '''
25562         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
25563        '''
25564        self.idle_timeout = idle_timeout if idle_timeout is not None else None
25565        '''
25566         The Organization's idle timeout, if enabled.
25567        '''
25568        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
25569        '''
25570         Indicates if the Organization has idle timeouts enabled.
25571        '''
25572        self.kind = kind if kind is not None else ''
25573        '''
25574         The Organization's type, one of the OrgKind constants.
25575        '''
25576        self.log_config = log_config if log_config is not None else None
25577        '''
25578         The Organization's logging settings
25579        '''
25580        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
25581        '''
25582         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
25583         Deprecated: use log_config.local_encoder instead
25584        '''
25585        self.log_local_format = log_local_format if log_local_format is not None else ''
25586        '''
25587         The Organization's local log format, one of the LogLocalFormat constants.
25588         Deprecated: use log_config.local_format instead
25589        '''
25590        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
25591        '''
25592         The Organization's local log storage, one of the LogLocalStorage constants.
25593         Deprecated: use log_config.local_storage instead
25594        '''
25595        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
25596        '''
25597         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
25598         Deprecated: use categories specific log_config.categories[].remote_encoder instead
25599        '''
25600        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
25601        '''
25602         The Organization's socket path for Socket local log storage.
25603         Deprecated: use log_config.local_socket_path instead
25604        '''
25605        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
25606        '''
25607         The Organization's TCP address for TCP or Syslog local log storage.
25608         Deprecated: use log_config.local_tcp_address instead
25609        '''
25610        self.loopback_range = loopback_range if loopback_range is not None else ''
25611        '''
25612         The Organization's loopback range.
25613        '''
25614        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
25615        '''
25616         Indicates if the Organization has multi-factor authentication enabled.
25617        '''
25618        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
25619        '''
25620         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
25621        '''
25622        self.name = name if name is not None else ''
25623        '''
25624         The Organization's name.
25625        '''
25626        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
25627        '''
25628         The Organization's public key PEM for encrypting remote logs.
25629         Deprecated: use log_config.public_key instead
25630        '''
25631        self.require_secret_store = require_secret_store if require_secret_store is not None else False
25632        '''
25633         Indicates if the Organization requires secret stores.
25634        '''
25635        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
25636        '''
25637         The Organization's URL for SAML metadata.
25638        '''
25639        self.scim_provider = scim_provider if scim_provider is not None else ''
25640        '''
25641         The Organization's SCIM provider, one of the SCIMProvider constants.
25642        '''
25643        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
25644        '''
25645         The Organization's label for sensitive resources.
25646        '''
25647        self.session_timeout = session_timeout if session_timeout is not None else None
25648        '''
25649         The Organization's session timeout, if enabled.
25650        '''
25651        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
25652        '''
25653         Indicates if the Organization has session timeouts enabled.
25654        '''
25655        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
25656        '''
25657         The Organization's SSH certificate authority public key.
25658        '''
25659        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
25660        '''
25661         The time at which the Organization's SSH certificate authority was last updated.
25662        '''
25663        self.updated_at = updated_at if updated_at is not None else None
25664        '''
25665         The time at which the Organization was last updated.
25666        '''
25667        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
25668        '''
25669         The Organization's web site domain.
25670        '''
auth_provider

The Organization's authentication provider, one of the AuthProvider constants.

created_at

The time at which the Organization was created.

device_trust_enabled

Indicates if the Organization has device trust enabled.

device_trust_provider

The Organization's device trust provider, one of the DeviceTrustProvider constants.

discard_replays

Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs. Deprecated: use categories specific log_config.categories[].remote_discard_replays instead

enforce_single_session

Indicates if the Organization enforces a single session per user for the CLI and AdminUI.

idle_timeout

The Organization's idle timeout, if enabled.

idle_timeout_enabled

Indicates if the Organization has idle timeouts enabled.

kind

The Organization's type, one of the OrgKind constants.

log_config

The Organization's logging settings

log_local_encoder

The Organization's local log encryption encoder, one of the LogLocalEncoder constants. Deprecated: use log_config.local_encoder instead

log_local_format

The Organization's local log format, one of the LogLocalFormat constants. Deprecated: use log_config.local_format instead

log_local_storage

The Organization's local log storage, one of the LogLocalStorage constants. Deprecated: use log_config.local_storage instead

log_remote_encoder

The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants. Deprecated: use categories specific log_config.categories[].remote_encoder instead

log_socket_path

The Organization's socket path for Socket local log storage. Deprecated: use log_config.local_socket_path instead

log_tcp_address

The Organization's TCP address for TCP or Syslog local log storage. Deprecated: use log_config.local_tcp_address instead

loopback_range

The Organization's loopback range.

mfa_enabled

Indicates if the Organization has multi-factor authentication enabled.

mfa_provider

The Organization's multi-factor authentication provider, one of the MFAProvider constants.

name

The Organization's name.

public_key_pem

The Organization's public key PEM for encrypting remote logs. Deprecated: use log_config.public_key instead

require_secret_store

Indicates if the Organization requires secret stores.

saml_metadata_url

The Organization's URL for SAML metadata.

scim_provider

The Organization's SCIM provider, one of the SCIMProvider constants.

sensitive_label

The Organization's label for sensitive resources.

session_timeout

The Organization's session timeout, if enabled.

session_timeout_enabled

Indicates if the Organization has session timeouts enabled.

ssh_certificate_authority_public_key

The Organization's SSH certificate authority public key.

ssh_certificate_authority_updated_at

The time at which the Organization's SSH certificate authority was last updated.

updated_at

The time at which the Organization was last updated.

websites_subdomain

The Organization's web site domain.

def to_dict(self)
25707    def to_dict(self):
25708        return {
25709            'auth_provider': self.auth_provider,
25710            'created_at': self.created_at,
25711            'device_trust_enabled': self.device_trust_enabled,
25712            'device_trust_provider': self.device_trust_provider,
25713            'discard_replays': self.discard_replays,
25714            'enforce_single_session': self.enforce_single_session,
25715            'idle_timeout': self.idle_timeout,
25716            'idle_timeout_enabled': self.idle_timeout_enabled,
25717            'kind': self.kind,
25718            'log_config': self.log_config,
25719            'log_local_encoder': self.log_local_encoder,
25720            'log_local_format': self.log_local_format,
25721            'log_local_storage': self.log_local_storage,
25722            'log_remote_encoder': self.log_remote_encoder,
25723            'log_socket_path': self.log_socket_path,
25724            'log_tcp_address': self.log_tcp_address,
25725            'loopback_range': self.loopback_range,
25726            'mfa_enabled': self.mfa_enabled,
25727            'mfa_provider': self.mfa_provider,
25728            'name': self.name,
25729            'public_key_pem': self.public_key_pem,
25730            'require_secret_store': self.require_secret_store,
25731            'saml_metadata_url': self.saml_metadata_url,
25732            'scim_provider': self.scim_provider,
25733            'sensitive_label': self.sensitive_label,
25734            'session_timeout': self.session_timeout,
25735            'session_timeout_enabled': self.session_timeout_enabled,
25736            'ssh_certificate_authority_public_key':
25737            self.ssh_certificate_authority_public_key,
25738            'ssh_certificate_authority_updated_at':
25739            self.ssh_certificate_authority_updated_at,
25740            'updated_at': self.updated_at,
25741            'websites_subdomain': self.websites_subdomain,
25742        }
@classmethod
def from_dict(cls, d)
25744    @classmethod
25745    def from_dict(cls, d):
25746        return cls(
25747            auth_provider=d.get('auth_provider'),
25748            created_at=d.get('created_at'),
25749            device_trust_enabled=d.get('device_trust_enabled'),
25750            device_trust_provider=d.get('device_trust_provider'),
25751            discard_replays=d.get('discard_replays'),
25752            enforce_single_session=d.get('enforce_single_session'),
25753            idle_timeout=d.get('idle_timeout'),
25754            idle_timeout_enabled=d.get('idle_timeout_enabled'),
25755            kind=d.get('kind'),
25756            log_config=d.get('log_config'),
25757            log_local_encoder=d.get('log_local_encoder'),
25758            log_local_format=d.get('log_local_format'),
25759            log_local_storage=d.get('log_local_storage'),
25760            log_remote_encoder=d.get('log_remote_encoder'),
25761            log_socket_path=d.get('log_socket_path'),
25762            log_tcp_address=d.get('log_tcp_address'),
25763            loopback_range=d.get('loopback_range'),
25764            mfa_enabled=d.get('mfa_enabled'),
25765            mfa_provider=d.get('mfa_provider'),
25766            name=d.get('name'),
25767            public_key_pem=d.get('public_key_pem'),
25768            require_secret_store=d.get('require_secret_store'),
25769            saml_metadata_url=d.get('saml_metadata_url'),
25770            scim_provider=d.get('scim_provider'),
25771            sensitive_label=d.get('sensitive_label'),
25772            session_timeout=d.get('session_timeout'),
25773            session_timeout_enabled=d.get('session_timeout_enabled'),
25774            ssh_certificate_authority_public_key=d.get(
25775                'ssh_certificate_authority_public_key'),
25776            ssh_certificate_authority_updated_at=d.get(
25777                'ssh_certificate_authority_updated_at'),
25778            updated_at=d.get('updated_at'),
25779            websites_subdomain=d.get('websites_subdomain'),
25780        )
class OrganizationGetMFAResponse:
25783class OrganizationGetMFAResponse:
25784    __slots__ = [
25785        'meta',
25786        'mfa',
25787        'rate_limit',
25788    ]
25789
25790    def __init__(
25791        self,
25792        meta=None,
25793        mfa=None,
25794        rate_limit=None,
25795    ):
25796        self.meta = meta if meta is not None else None
25797        '''
25798         Reserved for future use.
25799        '''
25800        self.mfa = mfa if mfa is not None else None
25801        '''
25802         The current MFA configuration.
25803        '''
25804        self.rate_limit = rate_limit if rate_limit is not None else None
25805        '''
25806         Rate limit information.
25807        '''
25808
25809    def __repr__(self):
25810        return '<sdm.OrganizationGetMFAResponse ' + \
25811            'meta: ' + repr(self.meta) + ' ' +\
25812            'mfa: ' + repr(self.mfa) + ' ' +\
25813            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25814            '>'
25815
25816    def to_dict(self):
25817        return {
25818            'meta': self.meta,
25819            'mfa': self.mfa,
25820            'rate_limit': self.rate_limit,
25821        }
25822
25823    @classmethod
25824    def from_dict(cls, d):
25825        return cls(
25826            meta=d.get('meta'),
25827            mfa=d.get('mfa'),
25828            rate_limit=d.get('rate_limit'),
25829        )
OrganizationGetMFAResponse(meta=None, mfa=None, rate_limit=None)
25790    def __init__(
25791        self,
25792        meta=None,
25793        mfa=None,
25794        rate_limit=None,
25795    ):
25796        self.meta = meta if meta is not None else None
25797        '''
25798         Reserved for future use.
25799        '''
25800        self.mfa = mfa if mfa is not None else None
25801        '''
25802         The current MFA configuration.
25803        '''
25804        self.rate_limit = rate_limit if rate_limit is not None else None
25805        '''
25806         Rate limit information.
25807        '''
meta

Reserved for future use.

mfa

The current MFA configuration.

rate_limit

Rate limit information.

def to_dict(self)
25816    def to_dict(self):
25817        return {
25818            'meta': self.meta,
25819            'mfa': self.mfa,
25820            'rate_limit': self.rate_limit,
25821        }
@classmethod
def from_dict(cls, d)
25823    @classmethod
25824    def from_dict(cls, d):
25825        return cls(
25826            meta=d.get('meta'),
25827            mfa=d.get('mfa'),
25828            rate_limit=d.get('rate_limit'),
25829        )
class OrganizationHistoryRecord:
25832class OrganizationHistoryRecord:
25833    '''
25834         OrganizationHistoryRecord records the state of an Organization at a given point in time,
25835     where every change to an Organization produces an OrganizationHistoryRecord.
25836    '''
25837    __slots__ = [
25838        'activity_id',
25839        'organization',
25840        'timestamp',
25841    ]
25842
25843    def __init__(
25844        self,
25845        activity_id=None,
25846        organization=None,
25847        timestamp=None,
25848    ):
25849        self.activity_id = activity_id if activity_id is not None else ''
25850        '''
25851         The unique identifier of the Activity that produced this change to the Organization.
25852         May be empty for some system-initiated organization updates.
25853        '''
25854        self.organization = organization if organization is not None else None
25855        '''
25856         The complete Organization state at this time.
25857        '''
25858        self.timestamp = timestamp if timestamp is not None else None
25859        '''
25860         The time at which the Organization state was recorded.
25861        '''
25862
25863    def __repr__(self):
25864        return '<sdm.OrganizationHistoryRecord ' + \
25865            'activity_id: ' + repr(self.activity_id) + ' ' +\
25866            'organization: ' + repr(self.organization) + ' ' +\
25867            'timestamp: ' + repr(self.timestamp) + ' ' +\
25868            '>'
25869
25870    def to_dict(self):
25871        return {
25872            'activity_id': self.activity_id,
25873            'organization': self.organization,
25874            'timestamp': self.timestamp,
25875        }
25876
25877    @classmethod
25878    def from_dict(cls, d):
25879        return cls(
25880            activity_id=d.get('activity_id'),
25881            organization=d.get('organization'),
25882            timestamp=d.get('timestamp'),
25883        )

OrganizationHistoryRecord records the state of an Organization at a given point in time, where every change to an Organization produces an OrganizationHistoryRecord.

OrganizationHistoryRecord(activity_id=None, organization=None, timestamp=None)
25843    def __init__(
25844        self,
25845        activity_id=None,
25846        organization=None,
25847        timestamp=None,
25848    ):
25849        self.activity_id = activity_id if activity_id is not None else ''
25850        '''
25851         The unique identifier of the Activity that produced this change to the Organization.
25852         May be empty for some system-initiated organization updates.
25853        '''
25854        self.organization = organization if organization is not None else None
25855        '''
25856         The complete Organization state at this time.
25857        '''
25858        self.timestamp = timestamp if timestamp is not None else None
25859        '''
25860         The time at which the Organization state was recorded.
25861        '''
activity_id

The unique identifier of the Activity that produced this change to the Organization. May be empty for some system-initiated organization updates.

organization

The complete Organization state at this time.

timestamp

The time at which the Organization state was recorded.

def to_dict(self)
25870    def to_dict(self):
25871        return {
25872            'activity_id': self.activity_id,
25873            'organization': self.organization,
25874            'timestamp': self.timestamp,
25875        }
@classmethod
def from_dict(cls, d)
25877    @classmethod
25878    def from_dict(cls, d):
25879        return cls(
25880            activity_id=d.get('activity_id'),
25881            organization=d.get('organization'),
25882            timestamp=d.get('timestamp'),
25883        )
class OrganizationTestMFAResponse:
25886class OrganizationTestMFAResponse:
25887    __slots__ = [
25888        'rate_limit',
25889    ]
25890
25891    def __init__(
25892        self,
25893        rate_limit=None,
25894    ):
25895        self.rate_limit = rate_limit if rate_limit is not None else None
25896        '''
25897         Rate limit information.
25898        '''
25899
25900    def __repr__(self):
25901        return '<sdm.OrganizationTestMFAResponse ' + \
25902            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25903            '>'
25904
25905    def to_dict(self):
25906        return {
25907            'rate_limit': self.rate_limit,
25908        }
25909
25910    @classmethod
25911    def from_dict(cls, d):
25912        return cls(rate_limit=d.get('rate_limit'), )
OrganizationTestMFAResponse(rate_limit=None)
25891    def __init__(
25892        self,
25893        rate_limit=None,
25894    ):
25895        self.rate_limit = rate_limit if rate_limit is not None else None
25896        '''
25897         Rate limit information.
25898        '''
rate_limit

Rate limit information.

def to_dict(self)
25905    def to_dict(self):
25906        return {
25907            'rate_limit': self.rate_limit,
25908        }
@classmethod
def from_dict(cls, d)
25910    @classmethod
25911    def from_dict(cls, d):
25912        return cls(rate_limit=d.get('rate_limit'), )
class OrganizationUpdateMFAResponse:
25915class OrganizationUpdateMFAResponse:
25916    __slots__ = [
25917        'mfa',
25918        'rate_limit',
25919    ]
25920
25921    def __init__(
25922        self,
25923        mfa=None,
25924        rate_limit=None,
25925    ):
25926        self.mfa = mfa if mfa is not None else None
25927        '''
25928         The updated MFA configuration.
25929        '''
25930        self.rate_limit = rate_limit if rate_limit is not None else None
25931        '''
25932         Rate limit information.
25933        '''
25934
25935    def __repr__(self):
25936        return '<sdm.OrganizationUpdateMFAResponse ' + \
25937            'mfa: ' + repr(self.mfa) + ' ' +\
25938            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25939            '>'
25940
25941    def to_dict(self):
25942        return {
25943            'mfa': self.mfa,
25944            'rate_limit': self.rate_limit,
25945        }
25946
25947    @classmethod
25948    def from_dict(cls, d):
25949        return cls(
25950            mfa=d.get('mfa'),
25951            rate_limit=d.get('rate_limit'),
25952        )
OrganizationUpdateMFAResponse(mfa=None, rate_limit=None)
25921    def __init__(
25922        self,
25923        mfa=None,
25924        rate_limit=None,
25925    ):
25926        self.mfa = mfa if mfa is not None else None
25927        '''
25928         The updated MFA configuration.
25929        '''
25930        self.rate_limit = rate_limit if rate_limit is not None else None
25931        '''
25932         Rate limit information.
25933        '''
mfa

The updated MFA configuration.

rate_limit

Rate limit information.

def to_dict(self)
25941    def to_dict(self):
25942        return {
25943            'mfa': self.mfa,
25944            'rate_limit': self.rate_limit,
25945        }
@classmethod
def from_dict(cls, d)
25947    @classmethod
25948    def from_dict(cls, d):
25949        return cls(
25950            mfa=d.get('mfa'),
25951            rate_limit=d.get('rate_limit'),
25952        )
class PeeringGroup:
25955class PeeringGroup:
25956    '''
25957         PeeringGroups are the building blocks used for explicit network topology making.
25958     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
25959    '''
25960    __slots__ = [
25961        'id',
25962        'name',
25963    ]
25964
25965    def __init__(
25966        self,
25967        id=None,
25968        name=None,
25969    ):
25970        self.id = id if id is not None else ''
25971        '''
25972         Unique identifier of the PeeringGroup.
25973        '''
25974        self.name = name if name is not None else ''
25975        '''
25976         Unique human-readable name of the PeeringGroup.
25977        '''
25978
25979    def __repr__(self):
25980        return '<sdm.PeeringGroup ' + \
25981            'id: ' + repr(self.id) + ' ' +\
25982            'name: ' + repr(self.name) + ' ' +\
25983            '>'
25984
25985    def to_dict(self):
25986        return {
25987            'id': self.id,
25988            'name': self.name,
25989        }
25990
25991    @classmethod
25992    def from_dict(cls, d):
25993        return cls(
25994            id=d.get('id'),
25995            name=d.get('name'),
25996        )

PeeringGroups are the building blocks used for explicit network topology making. They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.

PeeringGroup(id=None, name=None)
25965    def __init__(
25966        self,
25967        id=None,
25968        name=None,
25969    ):
25970        self.id = id if id is not None else ''
25971        '''
25972         Unique identifier of the PeeringGroup.
25973        '''
25974        self.name = name if name is not None else ''
25975        '''
25976         Unique human-readable name of the PeeringGroup.
25977        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
25985    def to_dict(self):
25986        return {
25987            'id': self.id,
25988            'name': self.name,
25989        }
@classmethod
def from_dict(cls, d)
25991    @classmethod
25992    def from_dict(cls, d):
25993        return cls(
25994            id=d.get('id'),
25995            name=d.get('name'),
25996        )
class PeeringGroupCreateResponse:
25999class PeeringGroupCreateResponse:
26000    '''
26001         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
26002    '''
26003    __slots__ = [
26004        'meta',
26005        'peering_group',
26006        'rate_limit',
26007    ]
26008
26009    def __init__(
26010        self,
26011        meta=None,
26012        peering_group=None,
26013        rate_limit=None,
26014    ):
26015        self.meta = meta if meta is not None else None
26016        '''
26017         Reserved for future use.
26018        '''
26019        self.peering_group = peering_group if peering_group is not None else None
26020        '''
26021         The created PeeringGroup.
26022        '''
26023        self.rate_limit = rate_limit if rate_limit is not None else None
26024        '''
26025         Rate limit information.
26026        '''
26027
26028    def __repr__(self):
26029        return '<sdm.PeeringGroupCreateResponse ' + \
26030            'meta: ' + repr(self.meta) + ' ' +\
26031            'peering_group: ' + repr(self.peering_group) + ' ' +\
26032            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26033            '>'
26034
26035    def to_dict(self):
26036        return {
26037            'meta': self.meta,
26038            'peering_group': self.peering_group,
26039            'rate_limit': self.rate_limit,
26040        }
26041
26042    @classmethod
26043    def from_dict(cls, d):
26044        return cls(
26045            meta=d.get('meta'),
26046            peering_group=d.get('peering_group'),
26047            rate_limit=d.get('rate_limit'),
26048        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
26009    def __init__(
26010        self,
26011        meta=None,
26012        peering_group=None,
26013        rate_limit=None,
26014    ):
26015        self.meta = meta if meta is not None else None
26016        '''
26017         Reserved for future use.
26018        '''
26019        self.peering_group = peering_group if peering_group is not None else None
26020        '''
26021         The created PeeringGroup.
26022        '''
26023        self.rate_limit = rate_limit if rate_limit is not None else None
26024        '''
26025         Rate limit information.
26026        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
26035    def to_dict(self):
26036        return {
26037            'meta': self.meta,
26038            'peering_group': self.peering_group,
26039            'rate_limit': self.rate_limit,
26040        }
@classmethod
def from_dict(cls, d)
26042    @classmethod
26043    def from_dict(cls, d):
26044        return cls(
26045            meta=d.get('meta'),
26046            peering_group=d.get('peering_group'),
26047            rate_limit=d.get('rate_limit'),
26048        )
class PeeringGroupDeleteResponse:
26051class PeeringGroupDeleteResponse:
26052    '''
26053         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
26054    '''
26055    __slots__ = [
26056        'meta',
26057        'rate_limit',
26058    ]
26059
26060    def __init__(
26061        self,
26062        meta=None,
26063        rate_limit=None,
26064    ):
26065        self.meta = meta if meta is not None else None
26066        '''
26067         Reserved for future use.
26068        '''
26069        self.rate_limit = rate_limit if rate_limit is not None else None
26070        '''
26071         Rate limit information.
26072        '''
26073
26074    def __repr__(self):
26075        return '<sdm.PeeringGroupDeleteResponse ' + \
26076            'meta: ' + repr(self.meta) + ' ' +\
26077            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26078            '>'
26079
26080    def to_dict(self):
26081        return {
26082            'meta': self.meta,
26083            'rate_limit': self.rate_limit,
26084        }
26085
26086    @classmethod
26087    def from_dict(cls, d):
26088        return cls(
26089            meta=d.get('meta'),
26090            rate_limit=d.get('rate_limit'),
26091        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
26060    def __init__(
26061        self,
26062        meta=None,
26063        rate_limit=None,
26064    ):
26065        self.meta = meta if meta is not None else None
26066        '''
26067         Reserved for future use.
26068        '''
26069        self.rate_limit = rate_limit if rate_limit is not None else None
26070        '''
26071         Rate limit information.
26072        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
26080    def to_dict(self):
26081        return {
26082            'meta': self.meta,
26083            'rate_limit': self.rate_limit,
26084        }
@classmethod
def from_dict(cls, d)
26086    @classmethod
26087    def from_dict(cls, d):
26088        return cls(
26089            meta=d.get('meta'),
26090            rate_limit=d.get('rate_limit'),
26091        )
class PeeringGroupGetResponse:
26094class PeeringGroupGetResponse:
26095    '''
26096         PeeringGroupGetResponse returns a requested PeeringGroup.
26097    '''
26098    __slots__ = [
26099        'meta',
26100        'peering_group',
26101        'rate_limit',
26102    ]
26103
26104    def __init__(
26105        self,
26106        meta=None,
26107        peering_group=None,
26108        rate_limit=None,
26109    ):
26110        self.meta = meta if meta is not None else None
26111        '''
26112         Reserved for future use.
26113        '''
26114        self.peering_group = peering_group if peering_group is not None else None
26115        '''
26116         The requested PeeringGroup.
26117        '''
26118        self.rate_limit = rate_limit if rate_limit is not None else None
26119        '''
26120         Rate limit information.
26121        '''
26122
26123    def __repr__(self):
26124        return '<sdm.PeeringGroupGetResponse ' + \
26125            'meta: ' + repr(self.meta) + ' ' +\
26126            'peering_group: ' + repr(self.peering_group) + ' ' +\
26127            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26128            '>'
26129
26130    def to_dict(self):
26131        return {
26132            'meta': self.meta,
26133            'peering_group': self.peering_group,
26134            'rate_limit': self.rate_limit,
26135        }
26136
26137    @classmethod
26138    def from_dict(cls, d):
26139        return cls(
26140            meta=d.get('meta'),
26141            peering_group=d.get('peering_group'),
26142            rate_limit=d.get('rate_limit'),
26143        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
26104    def __init__(
26105        self,
26106        meta=None,
26107        peering_group=None,
26108        rate_limit=None,
26109    ):
26110        self.meta = meta if meta is not None else None
26111        '''
26112         Reserved for future use.
26113        '''
26114        self.peering_group = peering_group if peering_group is not None else None
26115        '''
26116         The requested PeeringGroup.
26117        '''
26118        self.rate_limit = rate_limit if rate_limit is not None else None
26119        '''
26120         Rate limit information.
26121        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
26130    def to_dict(self):
26131        return {
26132            'meta': self.meta,
26133            'peering_group': self.peering_group,
26134            'rate_limit': self.rate_limit,
26135        }
@classmethod
def from_dict(cls, d)
26137    @classmethod
26138    def from_dict(cls, d):
26139        return cls(
26140            meta=d.get('meta'),
26141            peering_group=d.get('peering_group'),
26142            rate_limit=d.get('rate_limit'),
26143        )
class PeeringGroupNode:
26146class PeeringGroupNode:
26147    '''
26148         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
26149    '''
26150    __slots__ = [
26151        'group_id',
26152        'id',
26153        'node_id',
26154    ]
26155
26156    def __init__(
26157        self,
26158        group_id=None,
26159        id=None,
26160        node_id=None,
26161    ):
26162        self.group_id = group_id if group_id is not None else ''
26163        '''
26164         Peering Group ID to which the node will be attached to.
26165        '''
26166        self.id = id if id is not None else ''
26167        '''
26168         Unique identifier of the Attachment.
26169        '''
26170        self.node_id = node_id if node_id is not None else ''
26171        '''
26172         Node ID to be attached.
26173        '''
26174
26175    def __repr__(self):
26176        return '<sdm.PeeringGroupNode ' + \
26177            'group_id: ' + repr(self.group_id) + ' ' +\
26178            'id: ' + repr(self.id) + ' ' +\
26179            'node_id: ' + repr(self.node_id) + ' ' +\
26180            '>'
26181
26182    def to_dict(self):
26183        return {
26184            'group_id': self.group_id,
26185            'id': self.id,
26186            'node_id': self.node_id,
26187        }
26188
26189    @classmethod
26190    def from_dict(cls, d):
26191        return cls(
26192            group_id=d.get('group_id'),
26193            id=d.get('id'),
26194            node_id=d.get('node_id'),
26195        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
26156    def __init__(
26157        self,
26158        group_id=None,
26159        id=None,
26160        node_id=None,
26161    ):
26162        self.group_id = group_id if group_id is not None else ''
26163        '''
26164         Peering Group ID to which the node will be attached to.
26165        '''
26166        self.id = id if id is not None else ''
26167        '''
26168         Unique identifier of the Attachment.
26169        '''
26170        self.node_id = node_id if node_id is not None else ''
26171        '''
26172         Node ID to be attached.
26173        '''
group_id

Peering Group ID to which the node will be attached to.

id

Unique identifier of the Attachment.

node_id

Node ID to be attached.

def to_dict(self)
26182    def to_dict(self):
26183        return {
26184            'group_id': self.group_id,
26185            'id': self.id,
26186            'node_id': self.node_id,
26187        }
@classmethod
def from_dict(cls, d)
26189    @classmethod
26190    def from_dict(cls, d):
26191        return cls(
26192            group_id=d.get('group_id'),
26193            id=d.get('id'),
26194            node_id=d.get('node_id'),
26195        )
class PeeringGroupNodeCreateResponse:
26198class PeeringGroupNodeCreateResponse:
26199    '''
26200         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
26201    '''
26202    __slots__ = [
26203        'meta',
26204        'peering_group_node',
26205        'rate_limit',
26206    ]
26207
26208    def __init__(
26209        self,
26210        meta=None,
26211        peering_group_node=None,
26212        rate_limit=None,
26213    ):
26214        self.meta = meta if meta is not None else None
26215        '''
26216         Reserved for future use.
26217        '''
26218        self.peering_group_node = peering_group_node if peering_group_node is not None else None
26219        '''
26220         The created PeeringGroupNode.
26221        '''
26222        self.rate_limit = rate_limit if rate_limit is not None else None
26223        '''
26224         Rate limit information.
26225        '''
26226
26227    def __repr__(self):
26228        return '<sdm.PeeringGroupNodeCreateResponse ' + \
26229            'meta: ' + repr(self.meta) + ' ' +\
26230            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
26231            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26232            '>'
26233
26234    def to_dict(self):
26235        return {
26236            'meta': self.meta,
26237            'peering_group_node': self.peering_group_node,
26238            'rate_limit': self.rate_limit,
26239        }
26240
26241    @classmethod
26242    def from_dict(cls, d):
26243        return cls(
26244            meta=d.get('meta'),
26245            peering_group_node=d.get('peering_group_node'),
26246            rate_limit=d.get('rate_limit'),
26247        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
26208    def __init__(
26209        self,
26210        meta=None,
26211        peering_group_node=None,
26212        rate_limit=None,
26213    ):
26214        self.meta = meta if meta is not None else None
26215        '''
26216         Reserved for future use.
26217        '''
26218        self.peering_group_node = peering_group_node if peering_group_node is not None else None
26219        '''
26220         The created PeeringGroupNode.
26221        '''
26222        self.rate_limit = rate_limit if rate_limit is not None else None
26223        '''
26224         Rate limit information.
26225        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
26234    def to_dict(self):
26235        return {
26236            'meta': self.meta,
26237            'peering_group_node': self.peering_group_node,
26238            'rate_limit': self.rate_limit,
26239        }
@classmethod
def from_dict(cls, d)
26241    @classmethod
26242    def from_dict(cls, d):
26243        return cls(
26244            meta=d.get('meta'),
26245            peering_group_node=d.get('peering_group_node'),
26246            rate_limit=d.get('rate_limit'),
26247        )
class PeeringGroupNodeDeleteResponse:
26250class PeeringGroupNodeDeleteResponse:
26251    '''
26252         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
26253    '''
26254    __slots__ = [
26255        'meta',
26256        'rate_limit',
26257    ]
26258
26259    def __init__(
26260        self,
26261        meta=None,
26262        rate_limit=None,
26263    ):
26264        self.meta = meta if meta is not None else None
26265        '''
26266         Reserved for future use.
26267        '''
26268        self.rate_limit = rate_limit if rate_limit is not None else None
26269        '''
26270         Rate limit information.
26271        '''
26272
26273    def __repr__(self):
26274        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
26275            'meta: ' + repr(self.meta) + ' ' +\
26276            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26277            '>'
26278
26279    def to_dict(self):
26280        return {
26281            'meta': self.meta,
26282            'rate_limit': self.rate_limit,
26283        }
26284
26285    @classmethod
26286    def from_dict(cls, d):
26287        return cls(
26288            meta=d.get('meta'),
26289            rate_limit=d.get('rate_limit'),
26290        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
26259    def __init__(
26260        self,
26261        meta=None,
26262        rate_limit=None,
26263    ):
26264        self.meta = meta if meta is not None else None
26265        '''
26266         Reserved for future use.
26267        '''
26268        self.rate_limit = rate_limit if rate_limit is not None else None
26269        '''
26270         Rate limit information.
26271        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
26279    def to_dict(self):
26280        return {
26281            'meta': self.meta,
26282            'rate_limit': self.rate_limit,
26283        }
@classmethod
def from_dict(cls, d)
26285    @classmethod
26286    def from_dict(cls, d):
26287        return cls(
26288            meta=d.get('meta'),
26289            rate_limit=d.get('rate_limit'),
26290        )
class PeeringGroupNodeGetResponse:
26293class PeeringGroupNodeGetResponse:
26294    '''
26295         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
26296    '''
26297    __slots__ = [
26298        'meta',
26299        'peering_group_node',
26300        'rate_limit',
26301    ]
26302
26303    def __init__(
26304        self,
26305        meta=None,
26306        peering_group_node=None,
26307        rate_limit=None,
26308    ):
26309        self.meta = meta if meta is not None else None
26310        '''
26311         Reserved for future use.
26312        '''
26313        self.peering_group_node = peering_group_node if peering_group_node is not None else None
26314        '''
26315         The requested PeeringGroupNode.
26316        '''
26317        self.rate_limit = rate_limit if rate_limit is not None else None
26318        '''
26319         Rate limit information.
26320        '''
26321
26322    def __repr__(self):
26323        return '<sdm.PeeringGroupNodeGetResponse ' + \
26324            'meta: ' + repr(self.meta) + ' ' +\
26325            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
26326            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26327            '>'
26328
26329    def to_dict(self):
26330        return {
26331            'meta': self.meta,
26332            'peering_group_node': self.peering_group_node,
26333            'rate_limit': self.rate_limit,
26334        }
26335
26336    @classmethod
26337    def from_dict(cls, d):
26338        return cls(
26339            meta=d.get('meta'),
26340            peering_group_node=d.get('peering_group_node'),
26341            rate_limit=d.get('rate_limit'),
26342        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
26303    def __init__(
26304        self,
26305        meta=None,
26306        peering_group_node=None,
26307        rate_limit=None,
26308    ):
26309        self.meta = meta if meta is not None else None
26310        '''
26311         Reserved for future use.
26312        '''
26313        self.peering_group_node = peering_group_node if peering_group_node is not None else None
26314        '''
26315         The requested PeeringGroupNode.
26316        '''
26317        self.rate_limit = rate_limit if rate_limit is not None else None
26318        '''
26319         Rate limit information.
26320        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
26329    def to_dict(self):
26330        return {
26331            'meta': self.meta,
26332            'peering_group_node': self.peering_group_node,
26333            'rate_limit': self.rate_limit,
26334        }
@classmethod
def from_dict(cls, d)
26336    @classmethod
26337    def from_dict(cls, d):
26338        return cls(
26339            meta=d.get('meta'),
26340            peering_group_node=d.get('peering_group_node'),
26341            rate_limit=d.get('rate_limit'),
26342        )
class PeeringGroupPeer:
26345class PeeringGroupPeer:
26346    '''
26347         PeeringGroupPeer represents the link between two PeeringGroups
26348    '''
26349    __slots__ = [
26350        'group_id',
26351        'id',
26352        'peers_with_group_id',
26353    ]
26354
26355    def __init__(
26356        self,
26357        group_id=None,
26358        id=None,
26359        peers_with_group_id=None,
26360    ):
26361        self.group_id = group_id if group_id is not None else ''
26362        '''
26363         Group ID from which the link will originate.
26364        '''
26365        self.id = id if id is not None else ''
26366        '''
26367         Unique identifier of the Attachment.
26368        '''
26369        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
26370        '''
26371         Peering Group ID to which Group ID will link.
26372        '''
26373
26374    def __repr__(self):
26375        return '<sdm.PeeringGroupPeer ' + \
26376            'group_id: ' + repr(self.group_id) + ' ' +\
26377            'id: ' + repr(self.id) + ' ' +\
26378            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
26379            '>'
26380
26381    def to_dict(self):
26382        return {
26383            'group_id': self.group_id,
26384            'id': self.id,
26385            'peers_with_group_id': self.peers_with_group_id,
26386        }
26387
26388    @classmethod
26389    def from_dict(cls, d):
26390        return cls(
26391            group_id=d.get('group_id'),
26392            id=d.get('id'),
26393            peers_with_group_id=d.get('peers_with_group_id'),
26394        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
26355    def __init__(
26356        self,
26357        group_id=None,
26358        id=None,
26359        peers_with_group_id=None,
26360    ):
26361        self.group_id = group_id if group_id is not None else ''
26362        '''
26363         Group ID from which the link will originate.
26364        '''
26365        self.id = id if id is not None else ''
26366        '''
26367         Unique identifier of the Attachment.
26368        '''
26369        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
26370        '''
26371         Peering Group ID to which Group ID will link.
26372        '''
group_id

Group ID from which the link will originate.

id

Unique identifier of the Attachment.

peers_with_group_id

Peering Group ID to which Group ID will link.

def to_dict(self)
26381    def to_dict(self):
26382        return {
26383            'group_id': self.group_id,
26384            'id': self.id,
26385            'peers_with_group_id': self.peers_with_group_id,
26386        }
@classmethod
def from_dict(cls, d)
26388    @classmethod
26389    def from_dict(cls, d):
26390        return cls(
26391            group_id=d.get('group_id'),
26392            id=d.get('id'),
26393            peers_with_group_id=d.get('peers_with_group_id'),
26394        )
class PeeringGroupPeerCreateResponse:
26397class PeeringGroupPeerCreateResponse:
26398    '''
26399         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
26400    '''
26401    __slots__ = [
26402        'meta',
26403        'peering_group_peer',
26404        'rate_limit',
26405    ]
26406
26407    def __init__(
26408        self,
26409        meta=None,
26410        peering_group_peer=None,
26411        rate_limit=None,
26412    ):
26413        self.meta = meta if meta is not None else None
26414        '''
26415         Reserved for future use.
26416        '''
26417        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
26418        '''
26419         The created PeeringGroupPeer.
26420        '''
26421        self.rate_limit = rate_limit if rate_limit is not None else None
26422        '''
26423         Rate limit information.
26424        '''
26425
26426    def __repr__(self):
26427        return '<sdm.PeeringGroupPeerCreateResponse ' + \
26428            'meta: ' + repr(self.meta) + ' ' +\
26429            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
26430            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26431            '>'
26432
26433    def to_dict(self):
26434        return {
26435            'meta': self.meta,
26436            'peering_group_peer': self.peering_group_peer,
26437            'rate_limit': self.rate_limit,
26438        }
26439
26440    @classmethod
26441    def from_dict(cls, d):
26442        return cls(
26443            meta=d.get('meta'),
26444            peering_group_peer=d.get('peering_group_peer'),
26445            rate_limit=d.get('rate_limit'),
26446        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
26407    def __init__(
26408        self,
26409        meta=None,
26410        peering_group_peer=None,
26411        rate_limit=None,
26412    ):
26413        self.meta = meta if meta is not None else None
26414        '''
26415         Reserved for future use.
26416        '''
26417        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
26418        '''
26419         The created PeeringGroupPeer.
26420        '''
26421        self.rate_limit = rate_limit if rate_limit is not None else None
26422        '''
26423         Rate limit information.
26424        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
26433    def to_dict(self):
26434        return {
26435            'meta': self.meta,
26436            'peering_group_peer': self.peering_group_peer,
26437            'rate_limit': self.rate_limit,
26438        }
@classmethod
def from_dict(cls, d)
26440    @classmethod
26441    def from_dict(cls, d):
26442        return cls(
26443            meta=d.get('meta'),
26444            peering_group_peer=d.get('peering_group_peer'),
26445            rate_limit=d.get('rate_limit'),
26446        )
class PeeringGroupPeerDeleteResponse:
26449class PeeringGroupPeerDeleteResponse:
26450    '''
26451         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
26452    '''
26453    __slots__ = [
26454        'meta',
26455        'rate_limit',
26456    ]
26457
26458    def __init__(
26459        self,
26460        meta=None,
26461        rate_limit=None,
26462    ):
26463        self.meta = meta if meta is not None else None
26464        '''
26465         Reserved for future use.
26466        '''
26467        self.rate_limit = rate_limit if rate_limit is not None else None
26468        '''
26469         Rate limit information.
26470        '''
26471
26472    def __repr__(self):
26473        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
26474            'meta: ' + repr(self.meta) + ' ' +\
26475            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26476            '>'
26477
26478    def to_dict(self):
26479        return {
26480            'meta': self.meta,
26481            'rate_limit': self.rate_limit,
26482        }
26483
26484    @classmethod
26485    def from_dict(cls, d):
26486        return cls(
26487            meta=d.get('meta'),
26488            rate_limit=d.get('rate_limit'),
26489        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
26458    def __init__(
26459        self,
26460        meta=None,
26461        rate_limit=None,
26462    ):
26463        self.meta = meta if meta is not None else None
26464        '''
26465         Reserved for future use.
26466        '''
26467        self.rate_limit = rate_limit if rate_limit is not None else None
26468        '''
26469         Rate limit information.
26470        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
26478    def to_dict(self):
26479        return {
26480            'meta': self.meta,
26481            'rate_limit': self.rate_limit,
26482        }
@classmethod
def from_dict(cls, d)
26484    @classmethod
26485    def from_dict(cls, d):
26486        return cls(
26487            meta=d.get('meta'),
26488            rate_limit=d.get('rate_limit'),
26489        )
class PeeringGroupPeerGetResponse:
26492class PeeringGroupPeerGetResponse:
26493    '''
26494         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
26495    '''
26496    __slots__ = [
26497        'meta',
26498        'peering_group_peer',
26499        'rate_limit',
26500    ]
26501
26502    def __init__(
26503        self,
26504        meta=None,
26505        peering_group_peer=None,
26506        rate_limit=None,
26507    ):
26508        self.meta = meta if meta is not None else None
26509        '''
26510         Reserved for future use.
26511        '''
26512        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
26513        '''
26514         The requested PeeringGroupPeer.
26515        '''
26516        self.rate_limit = rate_limit if rate_limit is not None else None
26517        '''
26518         Rate limit information.
26519        '''
26520
26521    def __repr__(self):
26522        return '<sdm.PeeringGroupPeerGetResponse ' + \
26523            'meta: ' + repr(self.meta) + ' ' +\
26524            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
26525            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26526            '>'
26527
26528    def to_dict(self):
26529        return {
26530            'meta': self.meta,
26531            'peering_group_peer': self.peering_group_peer,
26532            'rate_limit': self.rate_limit,
26533        }
26534
26535    @classmethod
26536    def from_dict(cls, d):
26537        return cls(
26538            meta=d.get('meta'),
26539            peering_group_peer=d.get('peering_group_peer'),
26540            rate_limit=d.get('rate_limit'),
26541        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
26502    def __init__(
26503        self,
26504        meta=None,
26505        peering_group_peer=None,
26506        rate_limit=None,
26507    ):
26508        self.meta = meta if meta is not None else None
26509        '''
26510         Reserved for future use.
26511        '''
26512        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
26513        '''
26514         The requested PeeringGroupPeer.
26515        '''
26516        self.rate_limit = rate_limit if rate_limit is not None else None
26517        '''
26518         Rate limit information.
26519        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
26528    def to_dict(self):
26529        return {
26530            'meta': self.meta,
26531            'peering_group_peer': self.peering_group_peer,
26532            'rate_limit': self.rate_limit,
26533        }
@classmethod
def from_dict(cls, d)
26535    @classmethod
26536    def from_dict(cls, d):
26537        return cls(
26538            meta=d.get('meta'),
26539            peering_group_peer=d.get('peering_group_peer'),
26540            rate_limit=d.get('rate_limit'),
26541        )
class PeeringGroupResource:
26544class PeeringGroupResource:
26545    '''
26546         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
26547    '''
26548    __slots__ = [
26549        'group_id',
26550        'id',
26551        'resource_id',
26552    ]
26553
26554    def __init__(
26555        self,
26556        group_id=None,
26557        id=None,
26558        resource_id=None,
26559    ):
26560        self.group_id = group_id if group_id is not None else ''
26561        '''
26562         Peering Group ID to which the resource will be attached to.
26563        '''
26564        self.id = id if id is not None else ''
26565        '''
26566         Unique identifier of the Attachment.
26567        '''
26568        self.resource_id = resource_id if resource_id is not None else ''
26569        '''
26570         Resource ID to be attached.
26571        '''
26572
26573    def __repr__(self):
26574        return '<sdm.PeeringGroupResource ' + \
26575            'group_id: ' + repr(self.group_id) + ' ' +\
26576            'id: ' + repr(self.id) + ' ' +\
26577            'resource_id: ' + repr(self.resource_id) + ' ' +\
26578            '>'
26579
26580    def to_dict(self):
26581        return {
26582            'group_id': self.group_id,
26583            'id': self.id,
26584            'resource_id': self.resource_id,
26585        }
26586
26587    @classmethod
26588    def from_dict(cls, d):
26589        return cls(
26590            group_id=d.get('group_id'),
26591            id=d.get('id'),
26592            resource_id=d.get('resource_id'),
26593        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
26554    def __init__(
26555        self,
26556        group_id=None,
26557        id=None,
26558        resource_id=None,
26559    ):
26560        self.group_id = group_id if group_id is not None else ''
26561        '''
26562         Peering Group ID to which the resource will be attached to.
26563        '''
26564        self.id = id if id is not None else ''
26565        '''
26566         Unique identifier of the Attachment.
26567        '''
26568        self.resource_id = resource_id if resource_id is not None else ''
26569        '''
26570         Resource ID to be attached.
26571        '''
group_id

Peering Group ID to which the resource will be attached to.

id

Unique identifier of the Attachment.

resource_id

Resource ID to be attached.

def to_dict(self)
26580    def to_dict(self):
26581        return {
26582            'group_id': self.group_id,
26583            'id': self.id,
26584            'resource_id': self.resource_id,
26585        }
@classmethod
def from_dict(cls, d)
26587    @classmethod
26588    def from_dict(cls, d):
26589        return cls(
26590            group_id=d.get('group_id'),
26591            id=d.get('id'),
26592            resource_id=d.get('resource_id'),
26593        )
class PeeringGroupResourceCreateResponse:
26596class PeeringGroupResourceCreateResponse:
26597    '''
26598         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
26599    '''
26600    __slots__ = [
26601        'meta',
26602        'peering_group_resource',
26603        'rate_limit',
26604    ]
26605
26606    def __init__(
26607        self,
26608        meta=None,
26609        peering_group_resource=None,
26610        rate_limit=None,
26611    ):
26612        self.meta = meta if meta is not None else None
26613        '''
26614         Reserved for future use.
26615        '''
26616        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
26617        '''
26618         The created PeeringGroupResource.
26619        '''
26620        self.rate_limit = rate_limit if rate_limit is not None else None
26621        '''
26622         Rate limit information.
26623        '''
26624
26625    def __repr__(self):
26626        return '<sdm.PeeringGroupResourceCreateResponse ' + \
26627            'meta: ' + repr(self.meta) + ' ' +\
26628            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
26629            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26630            '>'
26631
26632    def to_dict(self):
26633        return {
26634            'meta': self.meta,
26635            'peering_group_resource': self.peering_group_resource,
26636            'rate_limit': self.rate_limit,
26637        }
26638
26639    @classmethod
26640    def from_dict(cls, d):
26641        return cls(
26642            meta=d.get('meta'),
26643            peering_group_resource=d.get('peering_group_resource'),
26644            rate_limit=d.get('rate_limit'),
26645        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
26606    def __init__(
26607        self,
26608        meta=None,
26609        peering_group_resource=None,
26610        rate_limit=None,
26611    ):
26612        self.meta = meta if meta is not None else None
26613        '''
26614         Reserved for future use.
26615        '''
26616        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
26617        '''
26618         The created PeeringGroupResource.
26619        '''
26620        self.rate_limit = rate_limit if rate_limit is not None else None
26621        '''
26622         Rate limit information.
26623        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
26632    def to_dict(self):
26633        return {
26634            'meta': self.meta,
26635            'peering_group_resource': self.peering_group_resource,
26636            'rate_limit': self.rate_limit,
26637        }
@classmethod
def from_dict(cls, d)
26639    @classmethod
26640    def from_dict(cls, d):
26641        return cls(
26642            meta=d.get('meta'),
26643            peering_group_resource=d.get('peering_group_resource'),
26644            rate_limit=d.get('rate_limit'),
26645        )
class PeeringGroupResourceDeleteResponse:
26648class PeeringGroupResourceDeleteResponse:
26649    '''
26650         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
26651    '''
26652    __slots__ = [
26653        'meta',
26654        'rate_limit',
26655    ]
26656
26657    def __init__(
26658        self,
26659        meta=None,
26660        rate_limit=None,
26661    ):
26662        self.meta = meta if meta is not None else None
26663        '''
26664         Reserved for future use.
26665        '''
26666        self.rate_limit = rate_limit if rate_limit is not None else None
26667        '''
26668         Rate limit information.
26669        '''
26670
26671    def __repr__(self):
26672        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
26673            'meta: ' + repr(self.meta) + ' ' +\
26674            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26675            '>'
26676
26677    def to_dict(self):
26678        return {
26679            'meta': self.meta,
26680            'rate_limit': self.rate_limit,
26681        }
26682
26683    @classmethod
26684    def from_dict(cls, d):
26685        return cls(
26686            meta=d.get('meta'),
26687            rate_limit=d.get('rate_limit'),
26688        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
26657    def __init__(
26658        self,
26659        meta=None,
26660        rate_limit=None,
26661    ):
26662        self.meta = meta if meta is not None else None
26663        '''
26664         Reserved for future use.
26665        '''
26666        self.rate_limit = rate_limit if rate_limit is not None else None
26667        '''
26668         Rate limit information.
26669        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
26677    def to_dict(self):
26678        return {
26679            'meta': self.meta,
26680            'rate_limit': self.rate_limit,
26681        }
@classmethod
def from_dict(cls, d)
26683    @classmethod
26684    def from_dict(cls, d):
26685        return cls(
26686            meta=d.get('meta'),
26687            rate_limit=d.get('rate_limit'),
26688        )
class PeeringGroupResourceGetResponse:
26691class PeeringGroupResourceGetResponse:
26692    '''
26693         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
26694    '''
26695    __slots__ = [
26696        'meta',
26697        'peering_group_resource',
26698        'rate_limit',
26699    ]
26700
26701    def __init__(
26702        self,
26703        meta=None,
26704        peering_group_resource=None,
26705        rate_limit=None,
26706    ):
26707        self.meta = meta if meta is not None else None
26708        '''
26709         Reserved for future use.
26710        '''
26711        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
26712        '''
26713         The requested PeeringGroupResource.
26714        '''
26715        self.rate_limit = rate_limit if rate_limit is not None else None
26716        '''
26717         Rate limit information.
26718        '''
26719
26720    def __repr__(self):
26721        return '<sdm.PeeringGroupResourceGetResponse ' + \
26722            'meta: ' + repr(self.meta) + ' ' +\
26723            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
26724            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26725            '>'
26726
26727    def to_dict(self):
26728        return {
26729            'meta': self.meta,
26730            'peering_group_resource': self.peering_group_resource,
26731            'rate_limit': self.rate_limit,
26732        }
26733
26734    @classmethod
26735    def from_dict(cls, d):
26736        return cls(
26737            meta=d.get('meta'),
26738            peering_group_resource=d.get('peering_group_resource'),
26739            rate_limit=d.get('rate_limit'),
26740        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
26701    def __init__(
26702        self,
26703        meta=None,
26704        peering_group_resource=None,
26705        rate_limit=None,
26706    ):
26707        self.meta = meta if meta is not None else None
26708        '''
26709         Reserved for future use.
26710        '''
26711        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
26712        '''
26713         The requested PeeringGroupResource.
26714        '''
26715        self.rate_limit = rate_limit if rate_limit is not None else None
26716        '''
26717         Rate limit information.
26718        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
26727    def to_dict(self):
26728        return {
26729            'meta': self.meta,
26730            'peering_group_resource': self.peering_group_resource,
26731            'rate_limit': self.rate_limit,
26732        }
@classmethod
def from_dict(cls, d)
26734    @classmethod
26735    def from_dict(cls, d):
26736        return cls(
26737            meta=d.get('meta'),
26738            peering_group_resource=d.get('peering_group_resource'),
26739            rate_limit=d.get('rate_limit'),
26740        )
class Policy:
26743class Policy:
26744    '''
26745         Policy is a collection of one or more statements that enforce fine-grained access control
26746     for the users of an organization.
26747    '''
26748    __slots__ = [
26749        'description',
26750        'id',
26751        'name',
26752        'policy',
26753    ]
26754
26755    def __init__(
26756        self,
26757        description=None,
26758        id=None,
26759        name=None,
26760        policy=None,
26761    ):
26762        self.description = description if description is not None else ''
26763        '''
26764         Optional description of the Policy.
26765        '''
26766        self.id = id if id is not None else ''
26767        '''
26768         Unique identifier of the Policy.
26769        '''
26770        self.name = name if name is not None else ''
26771        '''
26772         Unique human-readable name of the Policy.
26773        '''
26774        self.policy = policy if policy is not None else ''
26775        '''
26776         The content of the Policy, in Cedar policy language.
26777        '''
26778
26779    def __repr__(self):
26780        return '<sdm.Policy ' + \
26781            'description: ' + repr(self.description) + ' ' +\
26782            'id: ' + repr(self.id) + ' ' +\
26783            'name: ' + repr(self.name) + ' ' +\
26784            'policy: ' + repr(self.policy) + ' ' +\
26785            '>'
26786
26787    def to_dict(self):
26788        return {
26789            'description': self.description,
26790            'id': self.id,
26791            'name': self.name,
26792            'policy': self.policy,
26793        }
26794
26795    @classmethod
26796    def from_dict(cls, d):
26797        return cls(
26798            description=d.get('description'),
26799            id=d.get('id'),
26800            name=d.get('name'),
26801            policy=d.get('policy'),
26802        )

Policy is a collection of one or more statements that enforce fine-grained access control for the users of an organization.

Policy(description=None, id=None, name=None, policy=None)
26755    def __init__(
26756        self,
26757        description=None,
26758        id=None,
26759        name=None,
26760        policy=None,
26761    ):
26762        self.description = description if description is not None else ''
26763        '''
26764         Optional description of the Policy.
26765        '''
26766        self.id = id if id is not None else ''
26767        '''
26768         Unique identifier of the Policy.
26769        '''
26770        self.name = name if name is not None else ''
26771        '''
26772         Unique human-readable name of the Policy.
26773        '''
26774        self.policy = policy if policy is not None else ''
26775        '''
26776         The content of the Policy, in Cedar policy language.
26777        '''
description

Optional description of the Policy.

id

Unique identifier of the Policy.

name

Unique human-readable name of the Policy.

policy

The content of the Policy, in Cedar policy language.

def to_dict(self)
26787    def to_dict(self):
26788        return {
26789            'description': self.description,
26790            'id': self.id,
26791            'name': self.name,
26792            'policy': self.policy,
26793        }
@classmethod
def from_dict(cls, d)
26795    @classmethod
26796    def from_dict(cls, d):
26797        return cls(
26798            description=d.get('description'),
26799            id=d.get('id'),
26800            name=d.get('name'),
26801            policy=d.get('policy'),
26802        )
class PolicyCreateResponse:
26805class PolicyCreateResponse:
26806    '''
26807         PolicyCreateResponse reports how the Policy was created in the system.
26808    '''
26809    __slots__ = [
26810        'policy',
26811        'rate_limit',
26812    ]
26813
26814    def __init__(
26815        self,
26816        policy=None,
26817        rate_limit=None,
26818    ):
26819        self.policy = policy if policy is not None else None
26820        '''
26821         The created Policy.
26822        '''
26823        self.rate_limit = rate_limit if rate_limit is not None else None
26824        '''
26825         Rate limit information.
26826        '''
26827
26828    def __repr__(self):
26829        return '<sdm.PolicyCreateResponse ' + \
26830            'policy: ' + repr(self.policy) + ' ' +\
26831            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26832            '>'
26833
26834    def to_dict(self):
26835        return {
26836            'policy': self.policy,
26837            'rate_limit': self.rate_limit,
26838        }
26839
26840    @classmethod
26841    def from_dict(cls, d):
26842        return cls(
26843            policy=d.get('policy'),
26844            rate_limit=d.get('rate_limit'),
26845        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
26814    def __init__(
26815        self,
26816        policy=None,
26817        rate_limit=None,
26818    ):
26819        self.policy = policy if policy is not None else None
26820        '''
26821         The created Policy.
26822        '''
26823        self.rate_limit = rate_limit if rate_limit is not None else None
26824        '''
26825         Rate limit information.
26826        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
26834    def to_dict(self):
26835        return {
26836            'policy': self.policy,
26837            'rate_limit': self.rate_limit,
26838        }
@classmethod
def from_dict(cls, d)
26840    @classmethod
26841    def from_dict(cls, d):
26842        return cls(
26843            policy=d.get('policy'),
26844            rate_limit=d.get('rate_limit'),
26845        )
class PolicyDeleteResponse:
26848class PolicyDeleteResponse:
26849    '''
26850         PolicyDeleteResponse returns information about a Policy that was deleted.
26851    '''
26852    __slots__ = [
26853        'rate_limit',
26854    ]
26855
26856    def __init__(
26857        self,
26858        rate_limit=None,
26859    ):
26860        self.rate_limit = rate_limit if rate_limit is not None else None
26861        '''
26862         Rate limit information.
26863        '''
26864
26865    def __repr__(self):
26866        return '<sdm.PolicyDeleteResponse ' + \
26867            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26868            '>'
26869
26870    def to_dict(self):
26871        return {
26872            'rate_limit': self.rate_limit,
26873        }
26874
26875    @classmethod
26876    def from_dict(cls, d):
26877        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
26856    def __init__(
26857        self,
26858        rate_limit=None,
26859    ):
26860        self.rate_limit = rate_limit if rate_limit is not None else None
26861        '''
26862         Rate limit information.
26863        '''
rate_limit

Rate limit information.

def to_dict(self)
26870    def to_dict(self):
26871        return {
26872            'rate_limit': self.rate_limit,
26873        }
@classmethod
def from_dict(cls, d)
26875    @classmethod
26876    def from_dict(cls, d):
26877        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
26880class PolicyGetResponse:
26881    '''
26882         PolicyGetResponse returns a requested Policy.
26883    '''
26884    __slots__ = [
26885        'meta',
26886        'policy',
26887        'rate_limit',
26888    ]
26889
26890    def __init__(
26891        self,
26892        meta=None,
26893        policy=None,
26894        rate_limit=None,
26895    ):
26896        self.meta = meta if meta is not None else None
26897        '''
26898         Reserved for future use.
26899        '''
26900        self.policy = policy if policy is not None else None
26901        '''
26902         The requested Policy.
26903        '''
26904        self.rate_limit = rate_limit if rate_limit is not None else None
26905        '''
26906         Rate limit information.
26907        '''
26908
26909    def __repr__(self):
26910        return '<sdm.PolicyGetResponse ' + \
26911            'meta: ' + repr(self.meta) + ' ' +\
26912            'policy: ' + repr(self.policy) + ' ' +\
26913            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26914            '>'
26915
26916    def to_dict(self):
26917        return {
26918            'meta': self.meta,
26919            'policy': self.policy,
26920            'rate_limit': self.rate_limit,
26921        }
26922
26923    @classmethod
26924    def from_dict(cls, d):
26925        return cls(
26926            meta=d.get('meta'),
26927            policy=d.get('policy'),
26928            rate_limit=d.get('rate_limit'),
26929        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
26890    def __init__(
26891        self,
26892        meta=None,
26893        policy=None,
26894        rate_limit=None,
26895    ):
26896        self.meta = meta if meta is not None else None
26897        '''
26898         Reserved for future use.
26899        '''
26900        self.policy = policy if policy is not None else None
26901        '''
26902         The requested Policy.
26903        '''
26904        self.rate_limit = rate_limit if rate_limit is not None else None
26905        '''
26906         Rate limit information.
26907        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
26916    def to_dict(self):
26917        return {
26918            'meta': self.meta,
26919            'policy': self.policy,
26920            'rate_limit': self.rate_limit,
26921        }
@classmethod
def from_dict(cls, d)
26923    @classmethod
26924    def from_dict(cls, d):
26925        return cls(
26926            meta=d.get('meta'),
26927            policy=d.get('policy'),
26928            rate_limit=d.get('rate_limit'),
26929        )
class PolicyHistory:
26932class PolicyHistory:
26933    '''
26934         PolicyHistory records the state of a Policy at a given point in time,
26935     where every change (create, update and delete) to a Policy produces a
26936     PolicyHistory record.
26937    '''
26938    __slots__ = [
26939        'activity_id',
26940        'deleted_at',
26941        'policy',
26942        'timestamp',
26943    ]
26944
26945    def __init__(
26946        self,
26947        activity_id=None,
26948        deleted_at=None,
26949        policy=None,
26950        timestamp=None,
26951    ):
26952        self.activity_id = activity_id if activity_id is not None else ''
26953        '''
26954         The unique identifier of the Activity that produced this change to the Policy.
26955         May be empty for some system-initiated updates.
26956        '''
26957        self.deleted_at = deleted_at if deleted_at is not None else None
26958        '''
26959         If this Policy was deleted, the time it was deleted.
26960        '''
26961        self.policy = policy if policy is not None else None
26962        '''
26963         The complete Policy state at this time.
26964        '''
26965        self.timestamp = timestamp if timestamp is not None else None
26966        '''
26967         The time at which the Policy state was recorded.
26968        '''
26969
26970    def __repr__(self):
26971        return '<sdm.PolicyHistory ' + \
26972            'activity_id: ' + repr(self.activity_id) + ' ' +\
26973            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26974            'policy: ' + repr(self.policy) + ' ' +\
26975            'timestamp: ' + repr(self.timestamp) + ' ' +\
26976            '>'
26977
26978    def to_dict(self):
26979        return {
26980            'activity_id': self.activity_id,
26981            'deleted_at': self.deleted_at,
26982            'policy': self.policy,
26983            'timestamp': self.timestamp,
26984        }
26985
26986    @classmethod
26987    def from_dict(cls, d):
26988        return cls(
26989            activity_id=d.get('activity_id'),
26990            deleted_at=d.get('deleted_at'),
26991            policy=d.get('policy'),
26992            timestamp=d.get('timestamp'),
26993        )

PolicyHistory records the state of a Policy at a given point in time, where every change (create, update and delete) to a Policy produces a PolicyHistory record.

PolicyHistory(activity_id=None, deleted_at=None, policy=None, timestamp=None)
26945    def __init__(
26946        self,
26947        activity_id=None,
26948        deleted_at=None,
26949        policy=None,
26950        timestamp=None,
26951    ):
26952        self.activity_id = activity_id if activity_id is not None else ''
26953        '''
26954         The unique identifier of the Activity that produced this change to the Policy.
26955         May be empty for some system-initiated updates.
26956        '''
26957        self.deleted_at = deleted_at if deleted_at is not None else None
26958        '''
26959         If this Policy was deleted, the time it was deleted.
26960        '''
26961        self.policy = policy if policy is not None else None
26962        '''
26963         The complete Policy state at this time.
26964        '''
26965        self.timestamp = timestamp if timestamp is not None else None
26966        '''
26967         The time at which the Policy state was recorded.
26968        '''
activity_id

The unique identifier of the Activity that produced this change to the Policy. May be empty for some system-initiated updates.

deleted_at

If this Policy was deleted, the time it was deleted.

policy

The complete Policy state at this time.

timestamp

The time at which the Policy state was recorded.

def to_dict(self)
26978    def to_dict(self):
26979        return {
26980            'activity_id': self.activity_id,
26981            'deleted_at': self.deleted_at,
26982            'policy': self.policy,
26983            'timestamp': self.timestamp,
26984        }
@classmethod
def from_dict(cls, d)
26986    @classmethod
26987    def from_dict(cls, d):
26988        return cls(
26989            activity_id=d.get('activity_id'),
26990            deleted_at=d.get('deleted_at'),
26991            policy=d.get('policy'),
26992            timestamp=d.get('timestamp'),
26993        )
class PolicyListResponse:
26996class PolicyListResponse:
26997    '''
26998         PolicyListResponse returns a list of Policy records that meet
26999     the criteria of a PolicyListRequest.
27000    '''
27001    __slots__ = [
27002        'rate_limit',
27003    ]
27004
27005    def __init__(
27006        self,
27007        rate_limit=None,
27008    ):
27009        self.rate_limit = rate_limit if rate_limit is not None else None
27010        '''
27011         Rate limit information.
27012        '''
27013
27014    def __repr__(self):
27015        return '<sdm.PolicyListResponse ' + \
27016            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27017            '>'
27018
27019    def to_dict(self):
27020        return {
27021            'rate_limit': self.rate_limit,
27022        }
27023
27024    @classmethod
27025    def from_dict(cls, d):
27026        return cls(rate_limit=d.get('rate_limit'), )

PolicyListResponse returns a list of Policy records that meet the criteria of a PolicyListRequest.

PolicyListResponse(rate_limit=None)
27005    def __init__(
27006        self,
27007        rate_limit=None,
27008    ):
27009        self.rate_limit = rate_limit if rate_limit is not None else None
27010        '''
27011         Rate limit information.
27012        '''
rate_limit

Rate limit information.

def to_dict(self)
27019    def to_dict(self):
27020        return {
27021            'rate_limit': self.rate_limit,
27022        }
@classmethod
def from_dict(cls, d)
27024    @classmethod
27025    def from_dict(cls, d):
27026        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
27029class PolicyUpdateResponse:
27030    '''
27031         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
27032     a PolicyUpdateRequest.
27033    '''
27034    __slots__ = [
27035        'policy',
27036        'rate_limit',
27037    ]
27038
27039    def __init__(
27040        self,
27041        policy=None,
27042        rate_limit=None,
27043    ):
27044        self.policy = policy if policy is not None else None
27045        '''
27046         The updated Policy.
27047        '''
27048        self.rate_limit = rate_limit if rate_limit is not None else None
27049        '''
27050         Rate limit information.
27051        '''
27052
27053    def __repr__(self):
27054        return '<sdm.PolicyUpdateResponse ' + \
27055            'policy: ' + repr(self.policy) + ' ' +\
27056            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27057            '>'
27058
27059    def to_dict(self):
27060        return {
27061            'policy': self.policy,
27062            'rate_limit': self.rate_limit,
27063        }
27064
27065    @classmethod
27066    def from_dict(cls, d):
27067        return cls(
27068            policy=d.get('policy'),
27069            rate_limit=d.get('rate_limit'),
27070        )

PolicyUpdateResponse returns the fields of a Policy after it has been updated by a PolicyUpdateRequest.

PolicyUpdateResponse(policy=None, rate_limit=None)
27039    def __init__(
27040        self,
27041        policy=None,
27042        rate_limit=None,
27043    ):
27044        self.policy = policy if policy is not None else None
27045        '''
27046         The updated Policy.
27047        '''
27048        self.rate_limit = rate_limit if rate_limit is not None else None
27049        '''
27050         Rate limit information.
27051        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
27059    def to_dict(self):
27060        return {
27061            'policy': self.policy,
27062            'rate_limit': self.rate_limit,
27063        }
@classmethod
def from_dict(cls, d)
27065    @classmethod
27066    def from_dict(cls, d):
27067        return cls(
27068            policy=d.get('policy'),
27069            rate_limit=d.get('rate_limit'),
27070        )
class Postgres:
27073class Postgres:
27074    __slots__ = [
27075        'bind_interface',
27076        'database',
27077        'egress_filter',
27078        'healthy',
27079        'hostname',
27080        'id',
27081        'name',
27082        'override_database',
27083        'password',
27084        'port',
27085        'port_override',
27086        'proxy_cluster_id',
27087        'secret_store_id',
27088        'subdomain',
27089        'tags',
27090        'username',
27091    ]
27092
27093    def __init__(
27094        self,
27095        bind_interface=None,
27096        database=None,
27097        egress_filter=None,
27098        healthy=None,
27099        hostname=None,
27100        id=None,
27101        name=None,
27102        override_database=None,
27103        password=None,
27104        port=None,
27105        port_override=None,
27106        proxy_cluster_id=None,
27107        secret_store_id=None,
27108        subdomain=None,
27109        tags=None,
27110        username=None,
27111    ):
27112        self.bind_interface = bind_interface if bind_interface is not None else ''
27113        '''
27114         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
27115        '''
27116        self.database = database if database is not None else ''
27117        '''
27118         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27119        '''
27120        self.egress_filter = egress_filter if egress_filter is not None else ''
27121        '''
27122         A filter applied to the routing logic to pin datasource to nodes.
27123        '''
27124        self.healthy = healthy if healthy is not None else False
27125        '''
27126         True if the datasource is reachable and the credentials are valid.
27127        '''
27128        self.hostname = hostname if hostname is not None else ''
27129        '''
27130         The host to dial to initiate a connection from the egress node to this resource.
27131        '''
27132        self.id = id if id is not None else ''
27133        '''
27134         Unique identifier of the Resource.
27135        '''
27136        self.name = name if name is not None else ''
27137        '''
27138         Unique human-readable name of the Resource.
27139        '''
27140        self.override_database = override_database if override_database is not None else False
27141        '''
27142         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
27143        '''
27144        self.password = password if password is not None else ''
27145        '''
27146         The password to authenticate with.
27147        '''
27148        self.port = port if port is not None else 0
27149        '''
27150         The port to dial to initiate a connection from the egress node to this resource.
27151        '''
27152        self.port_override = port_override if port_override is not None else 0
27153        '''
27154         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
27155        '''
27156        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27157        '''
27158         ID of the proxy cluster for this resource, if any.
27159        '''
27160        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27161        '''
27162         ID of the secret store containing credentials for this resource, if any.
27163        '''
27164        self.subdomain = subdomain if subdomain is not None else ''
27165        '''
27166         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
27167        '''
27168        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27169        '''
27170         Tags is a map of key, value pairs.
27171        '''
27172        self.username = username if username is not None else ''
27173        '''
27174         The username to authenticate with.
27175        '''
27176
27177    def __repr__(self):
27178        return '<sdm.Postgres ' + \
27179            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27180            'database: ' + repr(self.database) + ' ' +\
27181            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27182            'healthy: ' + repr(self.healthy) + ' ' +\
27183            'hostname: ' + repr(self.hostname) + ' ' +\
27184            'id: ' + repr(self.id) + ' ' +\
27185            'name: ' + repr(self.name) + ' ' +\
27186            'override_database: ' + repr(self.override_database) + ' ' +\
27187            'password: ' + repr(self.password) + ' ' +\
27188            'port: ' + repr(self.port) + ' ' +\
27189            'port_override: ' + repr(self.port_override) + ' ' +\
27190            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27191            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27192            'subdomain: ' + repr(self.subdomain) + ' ' +\
27193            'tags: ' + repr(self.tags) + ' ' +\
27194            'username: ' + repr(self.username) + ' ' +\
27195            '>'
27196
27197    def to_dict(self):
27198        return {
27199            'bind_interface': self.bind_interface,
27200            'database': self.database,
27201            'egress_filter': self.egress_filter,
27202            'healthy': self.healthy,
27203            'hostname': self.hostname,
27204            'id': self.id,
27205            'name': self.name,
27206            'override_database': self.override_database,
27207            'password': self.password,
27208            'port': self.port,
27209            'port_override': self.port_override,
27210            'proxy_cluster_id': self.proxy_cluster_id,
27211            'secret_store_id': self.secret_store_id,
27212            'subdomain': self.subdomain,
27213            'tags': self.tags,
27214            'username': self.username,
27215        }
27216
27217    @classmethod
27218    def from_dict(cls, d):
27219        return cls(
27220            bind_interface=d.get('bind_interface'),
27221            database=d.get('database'),
27222            egress_filter=d.get('egress_filter'),
27223            healthy=d.get('healthy'),
27224            hostname=d.get('hostname'),
27225            id=d.get('id'),
27226            name=d.get('name'),
27227            override_database=d.get('override_database'),
27228            password=d.get('password'),
27229            port=d.get('port'),
27230            port_override=d.get('port_override'),
27231            proxy_cluster_id=d.get('proxy_cluster_id'),
27232            secret_store_id=d.get('secret_store_id'),
27233            subdomain=d.get('subdomain'),
27234            tags=d.get('tags'),
27235            username=d.get('username'),
27236        )
Postgres( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
27093    def __init__(
27094        self,
27095        bind_interface=None,
27096        database=None,
27097        egress_filter=None,
27098        healthy=None,
27099        hostname=None,
27100        id=None,
27101        name=None,
27102        override_database=None,
27103        password=None,
27104        port=None,
27105        port_override=None,
27106        proxy_cluster_id=None,
27107        secret_store_id=None,
27108        subdomain=None,
27109        tags=None,
27110        username=None,
27111    ):
27112        self.bind_interface = bind_interface if bind_interface is not None else ''
27113        '''
27114         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
27115        '''
27116        self.database = database if database is not None else ''
27117        '''
27118         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27119        '''
27120        self.egress_filter = egress_filter if egress_filter is not None else ''
27121        '''
27122         A filter applied to the routing logic to pin datasource to nodes.
27123        '''
27124        self.healthy = healthy if healthy is not None else False
27125        '''
27126         True if the datasource is reachable and the credentials are valid.
27127        '''
27128        self.hostname = hostname if hostname is not None else ''
27129        '''
27130         The host to dial to initiate a connection from the egress node to this resource.
27131        '''
27132        self.id = id if id is not None else ''
27133        '''
27134         Unique identifier of the Resource.
27135        '''
27136        self.name = name if name is not None else ''
27137        '''
27138         Unique human-readable name of the Resource.
27139        '''
27140        self.override_database = override_database if override_database is not None else False
27141        '''
27142         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
27143        '''
27144        self.password = password if password is not None else ''
27145        '''
27146         The password to authenticate with.
27147        '''
27148        self.port = port if port is not None else 0
27149        '''
27150         The port to dial to initiate a connection from the egress node to this resource.
27151        '''
27152        self.port_override = port_override if port_override is not None else 0
27153        '''
27154         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
27155        '''
27156        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27157        '''
27158         ID of the proxy cluster for this resource, if any.
27159        '''
27160        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27161        '''
27162         ID of the secret store containing credentials for this resource, if any.
27163        '''
27164        self.subdomain = subdomain if subdomain is not None else ''
27165        '''
27166         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
27167        '''
27168        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27169        '''
27170         Tags is a map of key, value pairs.
27171        '''
27172        self.username = username if username is not None else ''
27173        '''
27174         The username to authenticate with.
27175        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
27197    def to_dict(self):
27198        return {
27199            'bind_interface': self.bind_interface,
27200            'database': self.database,
27201            'egress_filter': self.egress_filter,
27202            'healthy': self.healthy,
27203            'hostname': self.hostname,
27204            'id': self.id,
27205            'name': self.name,
27206            'override_database': self.override_database,
27207            'password': self.password,
27208            'port': self.port,
27209            'port_override': self.port_override,
27210            'proxy_cluster_id': self.proxy_cluster_id,
27211            'secret_store_id': self.secret_store_id,
27212            'subdomain': self.subdomain,
27213            'tags': self.tags,
27214            'username': self.username,
27215        }
@classmethod
def from_dict(cls, d)
27217    @classmethod
27218    def from_dict(cls, d):
27219        return cls(
27220            bind_interface=d.get('bind_interface'),
27221            database=d.get('database'),
27222            egress_filter=d.get('egress_filter'),
27223            healthy=d.get('healthy'),
27224            hostname=d.get('hostname'),
27225            id=d.get('id'),
27226            name=d.get('name'),
27227            override_database=d.get('override_database'),
27228            password=d.get('password'),
27229            port=d.get('port'),
27230            port_override=d.get('port_override'),
27231            proxy_cluster_id=d.get('proxy_cluster_id'),
27232            secret_store_id=d.get('secret_store_id'),
27233            subdomain=d.get('subdomain'),
27234            tags=d.get('tags'),
27235            username=d.get('username'),
27236        )
class PostgresEngine:
27239class PostgresEngine:
27240    __slots__ = [
27241        'after_read_ttl',
27242        'database',
27243        'hostname',
27244        'id',
27245        'key_rotation_interval_days',
27246        'name',
27247        'node_selector',
27248        'password',
27249        'policy',
27250        'port',
27251        'public_key',
27252        'secret_store_id',
27253        'secret_store_root_path',
27254        'tags',
27255        'tls',
27256        'ttl',
27257        'username',
27258    ]
27259
27260    def __init__(
27261        self,
27262        after_read_ttl=None,
27263        database=None,
27264        hostname=None,
27265        id=None,
27266        key_rotation_interval_days=None,
27267        name=None,
27268        node_selector=None,
27269        password=None,
27270        policy=None,
27271        port=None,
27272        public_key=None,
27273        secret_store_id=None,
27274        secret_store_root_path=None,
27275        tags=None,
27276        tls=None,
27277        ttl=None,
27278        username=None,
27279    ):
27280        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
27281        '''
27282         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
27283        '''
27284        self.database = database if database is not None else ''
27285        '''
27286         Database is the database to verify credential against.
27287        '''
27288        self.hostname = hostname if hostname is not None else ''
27289        '''
27290         Hostname is the hostname or IP address of the Postgres server.
27291        '''
27292        self.id = id if id is not None else ''
27293        '''
27294         Unique identifier of the Secret Engine.
27295        '''
27296        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
27297        '''
27298         An interval of public/private key rotation for secret engine in days
27299        '''
27300        self.name = name if name is not None else ''
27301        '''
27302         Unique human-readable name of the Secret Engine.
27303        '''
27304        self.node_selector = node_selector if node_selector is not None else ''
27305        '''
27306         node selector is used to narrow down the nodes used to communicate with with secret engine
27307        '''
27308        self.password = password if password is not None else ''
27309        '''
27310         Password is the password to connect to the Postgres server.
27311        '''
27312        self.policy = policy if policy is not None else None
27313        '''
27314         Policy for password creation
27315        '''
27316        self.port = port if port is not None else 0
27317        '''
27318         Port is the port number of the Postgres server.
27319        '''
27320        self.public_key = public_key if public_key is not None else b''
27321        '''
27322         Public key linked with a secret engine
27323        '''
27324        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27325        '''
27326         Backing secret store identifier
27327        '''
27328        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
27329        '''
27330         Backing Secret Store root path where managed secrets are going to be stored
27331        '''
27332        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27333        '''
27334         Tags is a map of key, value pairs.
27335        '''
27336        self.tls = tls if tls is not None else False
27337        '''
27338         TLS enables TLS/SSL when connecting to the Postgres server.
27339        '''
27340        self.ttl = ttl if ttl is not None else None
27341        '''
27342         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
27343        '''
27344        self.username = username if username is not None else ''
27345        '''
27346         Username is the username to connect to the Postgres server.
27347        '''
27348
27349    def __repr__(self):
27350        return '<sdm.PostgresEngine ' + \
27351            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
27352            'database: ' + repr(self.database) + ' ' +\
27353            'hostname: ' + repr(self.hostname) + ' ' +\
27354            'id: ' + repr(self.id) + ' ' +\
27355            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
27356            'name: ' + repr(self.name) + ' ' +\
27357            'node_selector: ' + repr(self.node_selector) + ' ' +\
27358            'password: ' + repr(self.password) + ' ' +\
27359            'policy: ' + repr(self.policy) + ' ' +\
27360            'port: ' + repr(self.port) + ' ' +\
27361            'public_key: ' + repr(self.public_key) + ' ' +\
27362            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27363            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
27364            'tags: ' + repr(self.tags) + ' ' +\
27365            'tls: ' + repr(self.tls) + ' ' +\
27366            'ttl: ' + repr(self.ttl) + ' ' +\
27367            'username: ' + repr(self.username) + ' ' +\
27368            '>'
27369
27370    def to_dict(self):
27371        return {
27372            'after_read_ttl': self.after_read_ttl,
27373            'database': self.database,
27374            'hostname': self.hostname,
27375            'id': self.id,
27376            'key_rotation_interval_days': self.key_rotation_interval_days,
27377            'name': self.name,
27378            'node_selector': self.node_selector,
27379            'password': self.password,
27380            'policy': self.policy,
27381            'port': self.port,
27382            'public_key': self.public_key,
27383            'secret_store_id': self.secret_store_id,
27384            'secret_store_root_path': self.secret_store_root_path,
27385            'tags': self.tags,
27386            'tls': self.tls,
27387            'ttl': self.ttl,
27388            'username': self.username,
27389        }
27390
27391    @classmethod
27392    def from_dict(cls, d):
27393        return cls(
27394            after_read_ttl=d.get('after_read_ttl'),
27395            database=d.get('database'),
27396            hostname=d.get('hostname'),
27397            id=d.get('id'),
27398            key_rotation_interval_days=d.get('key_rotation_interval_days'),
27399            name=d.get('name'),
27400            node_selector=d.get('node_selector'),
27401            password=d.get('password'),
27402            policy=d.get('policy'),
27403            port=d.get('port'),
27404            public_key=d.get('public_key'),
27405            secret_store_id=d.get('secret_store_id'),
27406            secret_store_root_path=d.get('secret_store_root_path'),
27407            tags=d.get('tags'),
27408            tls=d.get('tls'),
27409            ttl=d.get('ttl'),
27410            username=d.get('username'),
27411        )
PostgresEngine( after_read_ttl=None, database=None, hostname=None, id=None, key_rotation_interval_days=None, name=None, node_selector=None, password=None, policy=None, port=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None, tls=None, ttl=None, username=None)
27260    def __init__(
27261        self,
27262        after_read_ttl=None,
27263        database=None,
27264        hostname=None,
27265        id=None,
27266        key_rotation_interval_days=None,
27267        name=None,
27268        node_selector=None,
27269        password=None,
27270        policy=None,
27271        port=None,
27272        public_key=None,
27273        secret_store_id=None,
27274        secret_store_root_path=None,
27275        tags=None,
27276        tls=None,
27277        ttl=None,
27278        username=None,
27279    ):
27280        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
27281        '''
27282         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
27283        '''
27284        self.database = database if database is not None else ''
27285        '''
27286         Database is the database to verify credential against.
27287        '''
27288        self.hostname = hostname if hostname is not None else ''
27289        '''
27290         Hostname is the hostname or IP address of the Postgres server.
27291        '''
27292        self.id = id if id is not None else ''
27293        '''
27294         Unique identifier of the Secret Engine.
27295        '''
27296        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
27297        '''
27298         An interval of public/private key rotation for secret engine in days
27299        '''
27300        self.name = name if name is not None else ''
27301        '''
27302         Unique human-readable name of the Secret Engine.
27303        '''
27304        self.node_selector = node_selector if node_selector is not None else ''
27305        '''
27306         node selector is used to narrow down the nodes used to communicate with with secret engine
27307        '''
27308        self.password = password if password is not None else ''
27309        '''
27310         Password is the password to connect to the Postgres server.
27311        '''
27312        self.policy = policy if policy is not None else None
27313        '''
27314         Policy for password creation
27315        '''
27316        self.port = port if port is not None else 0
27317        '''
27318         Port is the port number of the Postgres server.
27319        '''
27320        self.public_key = public_key if public_key is not None else b''
27321        '''
27322         Public key linked with a secret engine
27323        '''
27324        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27325        '''
27326         Backing secret store identifier
27327        '''
27328        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
27329        '''
27330         Backing Secret Store root path where managed secrets are going to be stored
27331        '''
27332        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27333        '''
27334         Tags is a map of key, value pairs.
27335        '''
27336        self.tls = tls if tls is not None else False
27337        '''
27338         TLS enables TLS/SSL when connecting to the Postgres server.
27339        '''
27340        self.ttl = ttl if ttl is not None else None
27341        '''
27342         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
27343        '''
27344        self.username = username if username is not None else ''
27345        '''
27346         Username is the username to connect to the Postgres server.
27347        '''
after_read_ttl

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.

database

Database is the database to verify credential against.

hostname

Hostname is the hostname or IP address of the Postgres server.

id

Unique identifier of the Secret Engine.

key_rotation_interval_days

An interval of public/private key rotation for secret engine in days

name

Unique human-readable name of the Secret Engine.

node_selector

node selector is used to narrow down the nodes used to communicate with with secret engine

password

Password is the password to connect to the Postgres server.

policy

Policy for password creation

port

Port is the port number of the Postgres server.

public_key

Public key linked with a secret engine

secret_store_id

Backing secret store identifier

secret_store_root_path

Backing Secret Store root path where managed secrets are going to be stored

tags

Tags is a map of key, value pairs.

tls

TLS enables TLS/SSL when connecting to the Postgres server.

ttl

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.

username

Username is the username to connect to the Postgres server.

def to_dict(self)
27370    def to_dict(self):
27371        return {
27372            'after_read_ttl': self.after_read_ttl,
27373            'database': self.database,
27374            'hostname': self.hostname,
27375            'id': self.id,
27376            'key_rotation_interval_days': self.key_rotation_interval_days,
27377            'name': self.name,
27378            'node_selector': self.node_selector,
27379            'password': self.password,
27380            'policy': self.policy,
27381            'port': self.port,
27382            'public_key': self.public_key,
27383            'secret_store_id': self.secret_store_id,
27384            'secret_store_root_path': self.secret_store_root_path,
27385            'tags': self.tags,
27386            'tls': self.tls,
27387            'ttl': self.ttl,
27388            'username': self.username,
27389        }
@classmethod
def from_dict(cls, d)
27391    @classmethod
27392    def from_dict(cls, d):
27393        return cls(
27394            after_read_ttl=d.get('after_read_ttl'),
27395            database=d.get('database'),
27396            hostname=d.get('hostname'),
27397            id=d.get('id'),
27398            key_rotation_interval_days=d.get('key_rotation_interval_days'),
27399            name=d.get('name'),
27400            node_selector=d.get('node_selector'),
27401            password=d.get('password'),
27402            policy=d.get('policy'),
27403            port=d.get('port'),
27404            public_key=d.get('public_key'),
27405            secret_store_id=d.get('secret_store_id'),
27406            secret_store_root_path=d.get('secret_store_root_path'),
27407            tags=d.get('tags'),
27408            tls=d.get('tls'),
27409            ttl=d.get('ttl'),
27410            username=d.get('username'),
27411        )
class Presto:
27414class Presto:
27415    __slots__ = [
27416        'bind_interface',
27417        'database',
27418        'egress_filter',
27419        'healthy',
27420        'hostname',
27421        'id',
27422        'name',
27423        'password',
27424        'port',
27425        'port_override',
27426        'proxy_cluster_id',
27427        'secret_store_id',
27428        'subdomain',
27429        'tags',
27430        'tls_required',
27431        'username',
27432    ]
27433
27434    def __init__(
27435        self,
27436        bind_interface=None,
27437        database=None,
27438        egress_filter=None,
27439        healthy=None,
27440        hostname=None,
27441        id=None,
27442        name=None,
27443        password=None,
27444        port=None,
27445        port_override=None,
27446        proxy_cluster_id=None,
27447        secret_store_id=None,
27448        subdomain=None,
27449        tags=None,
27450        tls_required=None,
27451        username=None,
27452    ):
27453        self.bind_interface = bind_interface if bind_interface is not None else ''
27454        '''
27455         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
27456        '''
27457        self.database = database if database is not None else ''
27458        '''
27459         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27460        '''
27461        self.egress_filter = egress_filter if egress_filter is not None else ''
27462        '''
27463         A filter applied to the routing logic to pin datasource to nodes.
27464        '''
27465        self.healthy = healthy if healthy is not None else False
27466        '''
27467         True if the datasource is reachable and the credentials are valid.
27468        '''
27469        self.hostname = hostname if hostname is not None else ''
27470        '''
27471         The host to dial to initiate a connection from the egress node to this resource.
27472        '''
27473        self.id = id if id is not None else ''
27474        '''
27475         Unique identifier of the Resource.
27476        '''
27477        self.name = name if name is not None else ''
27478        '''
27479         Unique human-readable name of the Resource.
27480        '''
27481        self.password = password if password is not None else ''
27482        '''
27483         The password to authenticate with.
27484        '''
27485        self.port = port if port is not None else 0
27486        '''
27487         The port to dial to initiate a connection from the egress node to this resource.
27488        '''
27489        self.port_override = port_override if port_override is not None else 0
27490        '''
27491         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
27492        '''
27493        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27494        '''
27495         ID of the proxy cluster for this resource, if any.
27496        '''
27497        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27498        '''
27499         ID of the secret store containing credentials for this resource, if any.
27500        '''
27501        self.subdomain = subdomain if subdomain is not None else ''
27502        '''
27503         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
27504        '''
27505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27506        '''
27507         Tags is a map of key, value pairs.
27508        '''
27509        self.tls_required = tls_required if tls_required is not None else False
27510        '''
27511         If set, TLS must be used to connect to this resource.
27512        '''
27513        self.username = username if username is not None else ''
27514        '''
27515         The username to authenticate with.
27516        '''
27517
27518    def __repr__(self):
27519        return '<sdm.Presto ' + \
27520            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27521            'database: ' + repr(self.database) + ' ' +\
27522            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27523            'healthy: ' + repr(self.healthy) + ' ' +\
27524            'hostname: ' + repr(self.hostname) + ' ' +\
27525            'id: ' + repr(self.id) + ' ' +\
27526            'name: ' + repr(self.name) + ' ' +\
27527            'password: ' + repr(self.password) + ' ' +\
27528            'port: ' + repr(self.port) + ' ' +\
27529            'port_override: ' + repr(self.port_override) + ' ' +\
27530            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27531            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27532            'subdomain: ' + repr(self.subdomain) + ' ' +\
27533            'tags: ' + repr(self.tags) + ' ' +\
27534            'tls_required: ' + repr(self.tls_required) + ' ' +\
27535            'username: ' + repr(self.username) + ' ' +\
27536            '>'
27537
27538    def to_dict(self):
27539        return {
27540            'bind_interface': self.bind_interface,
27541            'database': self.database,
27542            'egress_filter': self.egress_filter,
27543            'healthy': self.healthy,
27544            'hostname': self.hostname,
27545            'id': self.id,
27546            'name': self.name,
27547            'password': self.password,
27548            'port': self.port,
27549            'port_override': self.port_override,
27550            'proxy_cluster_id': self.proxy_cluster_id,
27551            'secret_store_id': self.secret_store_id,
27552            'subdomain': self.subdomain,
27553            'tags': self.tags,
27554            'tls_required': self.tls_required,
27555            'username': self.username,
27556        }
27557
27558    @classmethod
27559    def from_dict(cls, d):
27560        return cls(
27561            bind_interface=d.get('bind_interface'),
27562            database=d.get('database'),
27563            egress_filter=d.get('egress_filter'),
27564            healthy=d.get('healthy'),
27565            hostname=d.get('hostname'),
27566            id=d.get('id'),
27567            name=d.get('name'),
27568            password=d.get('password'),
27569            port=d.get('port'),
27570            port_override=d.get('port_override'),
27571            proxy_cluster_id=d.get('proxy_cluster_id'),
27572            secret_store_id=d.get('secret_store_id'),
27573            subdomain=d.get('subdomain'),
27574            tags=d.get('tags'),
27575            tls_required=d.get('tls_required'),
27576            username=d.get('username'),
27577        )
Presto( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
27434    def __init__(
27435        self,
27436        bind_interface=None,
27437        database=None,
27438        egress_filter=None,
27439        healthy=None,
27440        hostname=None,
27441        id=None,
27442        name=None,
27443        password=None,
27444        port=None,
27445        port_override=None,
27446        proxy_cluster_id=None,
27447        secret_store_id=None,
27448        subdomain=None,
27449        tags=None,
27450        tls_required=None,
27451        username=None,
27452    ):
27453        self.bind_interface = bind_interface if bind_interface is not None else ''
27454        '''
27455         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
27456        '''
27457        self.database = database if database is not None else ''
27458        '''
27459         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
27460        '''
27461        self.egress_filter = egress_filter if egress_filter is not None else ''
27462        '''
27463         A filter applied to the routing logic to pin datasource to nodes.
27464        '''
27465        self.healthy = healthy if healthy is not None else False
27466        '''
27467         True if the datasource is reachable and the credentials are valid.
27468        '''
27469        self.hostname = hostname if hostname is not None else ''
27470        '''
27471         The host to dial to initiate a connection from the egress node to this resource.
27472        '''
27473        self.id = id if id is not None else ''
27474        '''
27475         Unique identifier of the Resource.
27476        '''
27477        self.name = name if name is not None else ''
27478        '''
27479         Unique human-readable name of the Resource.
27480        '''
27481        self.password = password if password is not None else ''
27482        '''
27483         The password to authenticate with.
27484        '''
27485        self.port = port if port is not None else 0
27486        '''
27487         The port to dial to initiate a connection from the egress node to this resource.
27488        '''
27489        self.port_override = port_override if port_override is not None else 0
27490        '''
27491         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
27492        '''
27493        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27494        '''
27495         ID of the proxy cluster for this resource, if any.
27496        '''
27497        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27498        '''
27499         ID of the secret store containing credentials for this resource, if any.
27500        '''
27501        self.subdomain = subdomain if subdomain is not None else ''
27502        '''
27503         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
27504        '''
27505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27506        '''
27507         Tags is a map of key, value pairs.
27508        '''
27509        self.tls_required = tls_required if tls_required is not None else False
27510        '''
27511         If set, TLS must be used to connect to this resource.
27512        '''
27513        self.username = username if username is not None else ''
27514        '''
27515         The username to authenticate with.
27516        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
27538    def to_dict(self):
27539        return {
27540            'bind_interface': self.bind_interface,
27541            'database': self.database,
27542            'egress_filter': self.egress_filter,
27543            'healthy': self.healthy,
27544            'hostname': self.hostname,
27545            'id': self.id,
27546            'name': self.name,
27547            'password': self.password,
27548            'port': self.port,
27549            'port_override': self.port_override,
27550            'proxy_cluster_id': self.proxy_cluster_id,
27551            'secret_store_id': self.secret_store_id,
27552            'subdomain': self.subdomain,
27553            'tags': self.tags,
27554            'tls_required': self.tls_required,
27555            'username': self.username,
27556        }
@classmethod
def from_dict(cls, d)
27558    @classmethod
27559    def from_dict(cls, d):
27560        return cls(
27561            bind_interface=d.get('bind_interface'),
27562            database=d.get('database'),
27563            egress_filter=d.get('egress_filter'),
27564            healthy=d.get('healthy'),
27565            hostname=d.get('hostname'),
27566            id=d.get('id'),
27567            name=d.get('name'),
27568            password=d.get('password'),
27569            port=d.get('port'),
27570            port_override=d.get('port_override'),
27571            proxy_cluster_id=d.get('proxy_cluster_id'),
27572            secret_store_id=d.get('secret_store_id'),
27573            subdomain=d.get('subdomain'),
27574            tags=d.get('tags'),
27575            tls_required=d.get('tls_required'),
27576            username=d.get('username'),
27577        )
class ProxyCluster:
27580class ProxyCluster:
27581    '''
27582         ProxyCluster represents a cluster of StrongDM proxies.
27583    '''
27584    __slots__ = [
27585        'address',
27586        'id',
27587        'maintenance_windows',
27588        'name',
27589        'tags',
27590    ]
27591
27592    def __init__(
27593        self,
27594        address=None,
27595        id=None,
27596        maintenance_windows=None,
27597        name=None,
27598        tags=None,
27599    ):
27600        self.address = address if address is not None else ''
27601        '''
27602         The public hostname/port tuple at which the proxy cluster will be
27603         accessible to clients.
27604        '''
27605        self.id = id if id is not None else ''
27606        '''
27607         Unique identifier of the Proxy Cluster.
27608        '''
27609        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
27610        '''
27611         Maintenance Windows define when this node is allowed to restart. If a node
27612         is requested to restart, it will check each window to determine if any of
27613         them permit it to restart, and if any do, it will. This check is repeated
27614         per window until the restart is successfully completed.
27615         
27616         If not set here, may be set on the command line or via an environment variable
27617         on the process itself; any server setting will take precedence over local
27618         settings. This setting is ineffective for nodes below version 38.44.0.
27619         
27620         If this setting is not applied via this remote configuration or via local
27621         configuration, the default setting is used: always allow restarts if serving
27622         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
27623        '''
27624        self.name = name if name is not None else ''
27625        '''
27626         Unique human-readable name of the proxy cluster. Names must
27627         include only letters, numbers, and hyphens (no spaces, underscores, or
27628         other special characters). Generated if not provided on create.
27629        '''
27630        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27631        '''
27632         Tags is a map of key, value pairs.
27633        '''
27634
27635    def __repr__(self):
27636        return '<sdm.ProxyCluster ' + \
27637            'address: ' + repr(self.address) + ' ' +\
27638            'id: ' + repr(self.id) + ' ' +\
27639            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
27640            'name: ' + repr(self.name) + ' ' +\
27641            'tags: ' + repr(self.tags) + ' ' +\
27642            '>'
27643
27644    def to_dict(self):
27645        return {
27646            'address': self.address,
27647            'id': self.id,
27648            'maintenance_windows': self.maintenance_windows,
27649            'name': self.name,
27650            'tags': self.tags,
27651        }
27652
27653    @classmethod
27654    def from_dict(cls, d):
27655        return cls(
27656            address=d.get('address'),
27657            id=d.get('id'),
27658            maintenance_windows=d.get('maintenance_windows'),
27659            name=d.get('name'),
27660            tags=d.get('tags'),
27661        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
27592    def __init__(
27593        self,
27594        address=None,
27595        id=None,
27596        maintenance_windows=None,
27597        name=None,
27598        tags=None,
27599    ):
27600        self.address = address if address is not None else ''
27601        '''
27602         The public hostname/port tuple at which the proxy cluster will be
27603         accessible to clients.
27604        '''
27605        self.id = id if id is not None else ''
27606        '''
27607         Unique identifier of the Proxy Cluster.
27608        '''
27609        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
27610        '''
27611         Maintenance Windows define when this node is allowed to restart. If a node
27612         is requested to restart, it will check each window to determine if any of
27613         them permit it to restart, and if any do, it will. This check is repeated
27614         per window until the restart is successfully completed.
27615         
27616         If not set here, may be set on the command line or via an environment variable
27617         on the process itself; any server setting will take precedence over local
27618         settings. This setting is ineffective for nodes below version 38.44.0.
27619         
27620         If this setting is not applied via this remote configuration or via local
27621         configuration, the default setting is used: always allow restarts if serving
27622         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
27623        '''
27624        self.name = name if name is not None else ''
27625        '''
27626         Unique human-readable name of the proxy cluster. Names must
27627         include only letters, numbers, and hyphens (no spaces, underscores, or
27628         other special characters). Generated if not provided on create.
27629        '''
27630        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27631        '''
27632         Tags is a map of key, value pairs.
27633        '''
address

The public hostname/port tuple at which the proxy cluster will be accessible to clients.

id

Unique identifier of the Proxy Cluster.

maintenance_windows

Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.

If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.

If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.

name

Unique human-readable name of the proxy cluster. Names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.

tags

Tags is a map of key, value pairs.

def to_dict(self)
27644    def to_dict(self):
27645        return {
27646            'address': self.address,
27647            'id': self.id,
27648            'maintenance_windows': self.maintenance_windows,
27649            'name': self.name,
27650            'tags': self.tags,
27651        }
@classmethod
def from_dict(cls, d)
27653    @classmethod
27654    def from_dict(cls, d):
27655        return cls(
27656            address=d.get('address'),
27657            id=d.get('id'),
27658            maintenance_windows=d.get('maintenance_windows'),
27659            name=d.get('name'),
27660            tags=d.get('tags'),
27661        )
class ProxyClusterKey:
27664class ProxyClusterKey:
27665    '''
27666         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
27667     The proxies within a cluster share the same key. One cluster can have
27668     multiple keys in order to facilitate key rotation.
27669    '''
27670    __slots__ = [
27671        'created_at',
27672        'id',
27673        'last_used_at',
27674        'proxy_cluster_id',
27675    ]
27676
27677    def __init__(
27678        self,
27679        created_at=None,
27680        id=None,
27681        last_used_at=None,
27682        proxy_cluster_id=None,
27683    ):
27684        self.created_at = created_at if created_at is not None else None
27685        '''
27686         The timestamp when this key was created.
27687        '''
27688        self.id = id if id is not None else ''
27689        '''
27690         Unique identifier of the Relay.
27691        '''
27692        self.last_used_at = last_used_at if last_used_at is not None else None
27693        '''
27694         The timestamp when this key was last used, if at all.
27695        '''
27696        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27697        '''
27698         The ID of the proxy cluster which this key authenticates to.
27699        '''
27700
27701    def __repr__(self):
27702        return '<sdm.ProxyClusterKey ' + \
27703            'created_at: ' + repr(self.created_at) + ' ' +\
27704            'id: ' + repr(self.id) + ' ' +\
27705            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
27706            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27707            '>'
27708
27709    def to_dict(self):
27710        return {
27711            'created_at': self.created_at,
27712            'id': self.id,
27713            'last_used_at': self.last_used_at,
27714            'proxy_cluster_id': self.proxy_cluster_id,
27715        }
27716
27717    @classmethod
27718    def from_dict(cls, d):
27719        return cls(
27720            created_at=d.get('created_at'),
27721            id=d.get('id'),
27722            last_used_at=d.get('last_used_at'),
27723            proxy_cluster_id=d.get('proxy_cluster_id'),
27724        )

Proxy Cluster Keys are authentication keys for all proxies within a cluster. The proxies within a cluster share the same key. One cluster can have multiple keys in order to facilitate key rotation.

ProxyClusterKey(created_at=None, id=None, last_used_at=None, proxy_cluster_id=None)
27677    def __init__(
27678        self,
27679        created_at=None,
27680        id=None,
27681        last_used_at=None,
27682        proxy_cluster_id=None,
27683    ):
27684        self.created_at = created_at if created_at is not None else None
27685        '''
27686         The timestamp when this key was created.
27687        '''
27688        self.id = id if id is not None else ''
27689        '''
27690         Unique identifier of the Relay.
27691        '''
27692        self.last_used_at = last_used_at if last_used_at is not None else None
27693        '''
27694         The timestamp when this key was last used, if at all.
27695        '''
27696        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27697        '''
27698         The ID of the proxy cluster which this key authenticates to.
27699        '''
created_at

The timestamp when this key was created.

id

Unique identifier of the Relay.

last_used_at

The timestamp when this key was last used, if at all.

proxy_cluster_id

The ID of the proxy cluster which this key authenticates to.

def to_dict(self)
27709    def to_dict(self):
27710        return {
27711            'created_at': self.created_at,
27712            'id': self.id,
27713            'last_used_at': self.last_used_at,
27714            'proxy_cluster_id': self.proxy_cluster_id,
27715        }
@classmethod
def from_dict(cls, d)
27717    @classmethod
27718    def from_dict(cls, d):
27719        return cls(
27720            created_at=d.get('created_at'),
27721            id=d.get('id'),
27722            last_used_at=d.get('last_used_at'),
27723            proxy_cluster_id=d.get('proxy_cluster_id'),
27724        )
class ProxyClusterKeyCreateResponse:
27727class ProxyClusterKeyCreateResponse:
27728    '''
27729         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
27730    '''
27731    __slots__ = [
27732        'meta',
27733        'proxy_cluster_key',
27734        'rate_limit',
27735        'secret_key',
27736    ]
27737
27738    def __init__(
27739        self,
27740        meta=None,
27741        proxy_cluster_key=None,
27742        rate_limit=None,
27743        secret_key=None,
27744    ):
27745        self.meta = meta if meta is not None else None
27746        '''
27747         Reserved for future use.
27748        '''
27749        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
27750        '''
27751         The created ProxyClusterKey.
27752        '''
27753        self.rate_limit = rate_limit if rate_limit is not None else None
27754        '''
27755         Rate limit information.
27756        '''
27757        self.secret_key = secret_key if secret_key is not None else ''
27758        '''
27759         The secret key component of this key. It must be saved upon creation
27760         because it will not be available for retrieval later.
27761        '''
27762
27763    def __repr__(self):
27764        return '<sdm.ProxyClusterKeyCreateResponse ' + \
27765            'meta: ' + repr(self.meta) + ' ' +\
27766            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
27767            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27768            'secret_key: ' + repr(self.secret_key) + ' ' +\
27769            '>'
27770
27771    def to_dict(self):
27772        return {
27773            'meta': self.meta,
27774            'proxy_cluster_key': self.proxy_cluster_key,
27775            'rate_limit': self.rate_limit,
27776            'secret_key': self.secret_key,
27777        }
27778
27779    @classmethod
27780    def from_dict(cls, d):
27781        return cls(
27782            meta=d.get('meta'),
27783            proxy_cluster_key=d.get('proxy_cluster_key'),
27784            rate_limit=d.get('rate_limit'),
27785            secret_key=d.get('secret_key'),
27786        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
27738    def __init__(
27739        self,
27740        meta=None,
27741        proxy_cluster_key=None,
27742        rate_limit=None,
27743        secret_key=None,
27744    ):
27745        self.meta = meta if meta is not None else None
27746        '''
27747         Reserved for future use.
27748        '''
27749        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
27750        '''
27751         The created ProxyClusterKey.
27752        '''
27753        self.rate_limit = rate_limit if rate_limit is not None else None
27754        '''
27755         Rate limit information.
27756        '''
27757        self.secret_key = secret_key if secret_key is not None else ''
27758        '''
27759         The secret key component of this key. It must be saved upon creation
27760         because it will not be available for retrieval later.
27761        '''
meta

Reserved for future use.

proxy_cluster_key

The created ProxyClusterKey.

rate_limit

Rate limit information.

secret_key

The secret key component of this key. It must be saved upon creation because it will not be available for retrieval later.

def to_dict(self)
27771    def to_dict(self):
27772        return {
27773            'meta': self.meta,
27774            'proxy_cluster_key': self.proxy_cluster_key,
27775            'rate_limit': self.rate_limit,
27776            'secret_key': self.secret_key,
27777        }
@classmethod
def from_dict(cls, d)
27779    @classmethod
27780    def from_dict(cls, d):
27781        return cls(
27782            meta=d.get('meta'),
27783            proxy_cluster_key=d.get('proxy_cluster_key'),
27784            rate_limit=d.get('rate_limit'),
27785            secret_key=d.get('secret_key'),
27786        )
class ProxyClusterKeyDeleteResponse:
27789class ProxyClusterKeyDeleteResponse:
27790    '''
27791         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
27792    '''
27793    __slots__ = [
27794        'meta',
27795        'rate_limit',
27796    ]
27797
27798    def __init__(
27799        self,
27800        meta=None,
27801        rate_limit=None,
27802    ):
27803        self.meta = meta if meta is not None else None
27804        '''
27805         Reserved for future use.
27806        '''
27807        self.rate_limit = rate_limit if rate_limit is not None else None
27808        '''
27809         Rate limit information.
27810        '''
27811
27812    def __repr__(self):
27813        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
27814            'meta: ' + repr(self.meta) + ' ' +\
27815            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27816            '>'
27817
27818    def to_dict(self):
27819        return {
27820            'meta': self.meta,
27821            'rate_limit': self.rate_limit,
27822        }
27823
27824    @classmethod
27825    def from_dict(cls, d):
27826        return cls(
27827            meta=d.get('meta'),
27828            rate_limit=d.get('rate_limit'),
27829        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
27798    def __init__(
27799        self,
27800        meta=None,
27801        rate_limit=None,
27802    ):
27803        self.meta = meta if meta is not None else None
27804        '''
27805         Reserved for future use.
27806        '''
27807        self.rate_limit = rate_limit if rate_limit is not None else None
27808        '''
27809         Rate limit information.
27810        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
27818    def to_dict(self):
27819        return {
27820            'meta': self.meta,
27821            'rate_limit': self.rate_limit,
27822        }
@classmethod
def from_dict(cls, d)
27824    @classmethod
27825    def from_dict(cls, d):
27826        return cls(
27827            meta=d.get('meta'),
27828            rate_limit=d.get('rate_limit'),
27829        )
class ProxyClusterKeyGetResponse:
27832class ProxyClusterKeyGetResponse:
27833    '''
27834         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
27835    '''
27836    __slots__ = [
27837        'meta',
27838        'proxy_cluster_key',
27839        'rate_limit',
27840    ]
27841
27842    def __init__(
27843        self,
27844        meta=None,
27845        proxy_cluster_key=None,
27846        rate_limit=None,
27847    ):
27848        self.meta = meta if meta is not None else None
27849        '''
27850         Reserved for future use.
27851        '''
27852        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
27853        '''
27854         The requested ProxyClusterKey.
27855        '''
27856        self.rate_limit = rate_limit if rate_limit is not None else None
27857        '''
27858         Rate limit information.
27859        '''
27860
27861    def __repr__(self):
27862        return '<sdm.ProxyClusterKeyGetResponse ' + \
27863            'meta: ' + repr(self.meta) + ' ' +\
27864            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
27865            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27866            '>'
27867
27868    def to_dict(self):
27869        return {
27870            'meta': self.meta,
27871            'proxy_cluster_key': self.proxy_cluster_key,
27872            'rate_limit': self.rate_limit,
27873        }
27874
27875    @classmethod
27876    def from_dict(cls, d):
27877        return cls(
27878            meta=d.get('meta'),
27879            proxy_cluster_key=d.get('proxy_cluster_key'),
27880            rate_limit=d.get('rate_limit'),
27881        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
27842    def __init__(
27843        self,
27844        meta=None,
27845        proxy_cluster_key=None,
27846        rate_limit=None,
27847    ):
27848        self.meta = meta if meta is not None else None
27849        '''
27850         Reserved for future use.
27851        '''
27852        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
27853        '''
27854         The requested ProxyClusterKey.
27855        '''
27856        self.rate_limit = rate_limit if rate_limit is not None else None
27857        '''
27858         Rate limit information.
27859        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
27868    def to_dict(self):
27869        return {
27870            'meta': self.meta,
27871            'proxy_cluster_key': self.proxy_cluster_key,
27872            'rate_limit': self.rate_limit,
27873        }
@classmethod
def from_dict(cls, d)
27875    @classmethod
27876    def from_dict(cls, d):
27877        return cls(
27878            meta=d.get('meta'),
27879            proxy_cluster_key=d.get('proxy_cluster_key'),
27880            rate_limit=d.get('rate_limit'),
27881        )
class Query:
27884class Query:
27885    '''
27886         A Query is a record of a single client request to a resource, such as a SQL query.
27887     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
27888     interactive sessions will return two Query records with the same identifier, one record
27889     at the start of the query and a second record upon the completion of the query with
27890     additional detail.
27891    '''
27892    __slots__ = [
27893        'account_email',
27894        'account_first_name',
27895        'account_id',
27896        'account_last_name',
27897        'account_tags',
27898        'authzjson',
27899        'capture',
27900        'client_ip',
27901        'completed_at',
27902        'duration',
27903        'egress_node_id',
27904        'encrypted',
27905        'id',
27906        'identity_alias_username',
27907        'metadata_json',
27908        'query_body',
27909        'query_category',
27910        'query_hash',
27911        'query_key',
27912        'record_count',
27913        'remote_identity_username',
27914        'replayable',
27915        'resource_id',
27916        'resource_name',
27917        'resource_tags',
27918        'resource_type',
27919        'source_ip',
27920        'target',
27921        'timestamp',
27922    ]
27923
27924    def __init__(
27925        self,
27926        account_email=None,
27927        account_first_name=None,
27928        account_id=None,
27929        account_last_name=None,
27930        account_tags=None,
27931        authzjson=None,
27932        capture=None,
27933        client_ip=None,
27934        completed_at=None,
27935        duration=None,
27936        egress_node_id=None,
27937        encrypted=None,
27938        id=None,
27939        identity_alias_username=None,
27940        metadata_json=None,
27941        query_body=None,
27942        query_category=None,
27943        query_hash=None,
27944        query_key=None,
27945        record_count=None,
27946        remote_identity_username=None,
27947        replayable=None,
27948        resource_id=None,
27949        resource_name=None,
27950        resource_tags=None,
27951        resource_type=None,
27952        source_ip=None,
27953        target=None,
27954        timestamp=None,
27955    ):
27956        self.account_email = account_email if account_email is not None else ''
27957        '''
27958         The email of the account performing this query, at the time the query was executed.
27959         If the account email is later changed, that change will not be reflected via this field.
27960        '''
27961        self.account_first_name = account_first_name if account_first_name is not None else ''
27962        '''
27963         The given name of the account performing this query, at the time the query was executed.
27964         If the account is later renamed, that change will not be reflected via this field.
27965        '''
27966        self.account_id = account_id if account_id is not None else ''
27967        '''
27968         Unique identifier of the Account that performed the Query.
27969        '''
27970        self.account_last_name = account_last_name if account_last_name is not None else ''
27971        '''
27972         The family name of the account performing this query, at the time the query was executed.
27973         If the account is later renamed, that change will not be reflected via this field.
27974        '''
27975        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
27976        )
27977        '''
27978         The tags of the account accessed, at the time the query was executed. If the account
27979         tags are later changed, that change will not be reflected via this field.
27980        '''
27981        self.authzjson = authzjson if authzjson is not None else ''
27982        '''
27983         Authorization metadata associated with this query.
27984        '''
27985        self.capture = capture if capture is not None else None
27986        '''
27987         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
27988         about the captured query.
27989        '''
27990        self.client_ip = client_ip if client_ip is not None else ''
27991        '''
27992         The IP address the Query was performed from, as detected at the StrongDM control plane.
27993        '''
27994        self.completed_at = completed_at if completed_at is not None else None
27995        '''
27996         The time at which the Query was completed.
27997         Empty if this record indicates the start of a long-running query.
27998        '''
27999        self.duration = duration if duration is not None else None
28000        '''
28001         The duration of the Query.
28002        '''
28003        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
28004        '''
28005         The unique ID of the node through which the Resource was accessed.
28006        '''
28007        self.encrypted = encrypted if encrypted is not None else False
28008        '''
28009         Indicates that the body of the Query is encrypted.
28010        '''
28011        self.id = id if id is not None else ''
28012        '''
28013         Unique identifier of the Query.
28014        '''
28015        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
28016        '''
28017         The username of the IdentityAlias used to access the Resource.
28018        '''
28019        self.metadata_json = metadata_json if metadata_json is not None else ''
28020        '''
28021         Driver specific metadata associated with this query.
28022        '''
28023        self.query_body = query_body if query_body is not None else ''
28024        '''
28025         The captured content of the Query.
28026         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
28027        '''
28028        self.query_category = query_category if query_category is not None else ''
28029        '''
28030         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
28031        '''
28032        self.query_hash = query_hash if query_hash is not None else ''
28033        '''
28034         The hash of the body of the Query.
28035        '''
28036        self.query_key = query_key if query_key is not None else ''
28037        '''
28038         The symmetric key used to encrypt the body of this Query and its replay if replayable.
28039         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
28040         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
28041         If the Query is not encrypted, this field is empty.
28042        '''
28043        self.record_count = record_count if record_count is not None else 0
28044        '''
28045         The number of records returned by the Query, for a database Resource.
28046        '''
28047        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
28048        '''
28049         The username of the RemoteIdentity used to access the Resource.
28050        '''
28051        self.replayable = replayable if replayable is not None else False
28052        '''
28053         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
28054        '''
28055        self.resource_id = resource_id if resource_id is not None else ''
28056        '''
28057         Unique identifier of the Resource against which the Query was performed.
28058        '''
28059        self.resource_name = resource_name if resource_name is not None else ''
28060        '''
28061         The name of the resource accessed, at the time the query was executed. If the resource
28062         is later renamed, that change will not be reflected via this field.
28063        '''
28064        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
28065        )
28066        '''
28067         The tags of the resource accessed, at the time the query was executed. If the resource
28068         tags are later changed, that change will not be reflected via this field.
28069        '''
28070        self.resource_type = resource_type if resource_type is not None else ''
28071        '''
28072         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
28073        '''
28074        self.source_ip = source_ip if source_ip is not None else ''
28075        '''
28076         The IP address the Query was performed from, as detected at the ingress gateway.
28077        '''
28078        self.target = target if target is not None else ''
28079        '''
28080         The target destination of the query, in host:port format.
28081        '''
28082        self.timestamp = timestamp if timestamp is not None else None
28083        '''
28084         The time at which the Query was started.
28085        '''
28086
28087    def __repr__(self):
28088        return '<sdm.Query ' + \
28089            'account_email: ' + repr(self.account_email) + ' ' +\
28090            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
28091            'account_id: ' + repr(self.account_id) + ' ' +\
28092            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
28093            'account_tags: ' + repr(self.account_tags) + ' ' +\
28094            'authzjson: ' + repr(self.authzjson) + ' ' +\
28095            'capture: ' + repr(self.capture) + ' ' +\
28096            'client_ip: ' + repr(self.client_ip) + ' ' +\
28097            'completed_at: ' + repr(self.completed_at) + ' ' +\
28098            'duration: ' + repr(self.duration) + ' ' +\
28099            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
28100            'encrypted: ' + repr(self.encrypted) + ' ' +\
28101            'id: ' + repr(self.id) + ' ' +\
28102            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
28103            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
28104            'query_body: ' + repr(self.query_body) + ' ' +\
28105            'query_category: ' + repr(self.query_category) + ' ' +\
28106            'query_hash: ' + repr(self.query_hash) + ' ' +\
28107            'query_key: ' + repr(self.query_key) + ' ' +\
28108            'record_count: ' + repr(self.record_count) + ' ' +\
28109            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
28110            'replayable: ' + repr(self.replayable) + ' ' +\
28111            'resource_id: ' + repr(self.resource_id) + ' ' +\
28112            'resource_name: ' + repr(self.resource_name) + ' ' +\
28113            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
28114            'resource_type: ' + repr(self.resource_type) + ' ' +\
28115            'source_ip: ' + repr(self.source_ip) + ' ' +\
28116            'target: ' + repr(self.target) + ' ' +\
28117            'timestamp: ' + repr(self.timestamp) + ' ' +\
28118            '>'
28119
28120    def to_dict(self):
28121        return {
28122            'account_email': self.account_email,
28123            'account_first_name': self.account_first_name,
28124            'account_id': self.account_id,
28125            'account_last_name': self.account_last_name,
28126            'account_tags': self.account_tags,
28127            'authzjson': self.authzjson,
28128            'capture': self.capture,
28129            'client_ip': self.client_ip,
28130            'completed_at': self.completed_at,
28131            'duration': self.duration,
28132            'egress_node_id': self.egress_node_id,
28133            'encrypted': self.encrypted,
28134            'id': self.id,
28135            'identity_alias_username': self.identity_alias_username,
28136            'metadata_json': self.metadata_json,
28137            'query_body': self.query_body,
28138            'query_category': self.query_category,
28139            'query_hash': self.query_hash,
28140            'query_key': self.query_key,
28141            'record_count': self.record_count,
28142            'remote_identity_username': self.remote_identity_username,
28143            'replayable': self.replayable,
28144            'resource_id': self.resource_id,
28145            'resource_name': self.resource_name,
28146            'resource_tags': self.resource_tags,
28147            'resource_type': self.resource_type,
28148            'source_ip': self.source_ip,
28149            'target': self.target,
28150            'timestamp': self.timestamp,
28151        }
28152
28153    @classmethod
28154    def from_dict(cls, d):
28155        return cls(
28156            account_email=d.get('account_email'),
28157            account_first_name=d.get('account_first_name'),
28158            account_id=d.get('account_id'),
28159            account_last_name=d.get('account_last_name'),
28160            account_tags=d.get('account_tags'),
28161            authzjson=d.get('authzjson'),
28162            capture=d.get('capture'),
28163            client_ip=d.get('client_ip'),
28164            completed_at=d.get('completed_at'),
28165            duration=d.get('duration'),
28166            egress_node_id=d.get('egress_node_id'),
28167            encrypted=d.get('encrypted'),
28168            id=d.get('id'),
28169            identity_alias_username=d.get('identity_alias_username'),
28170            metadata_json=d.get('metadata_json'),
28171            query_body=d.get('query_body'),
28172            query_category=d.get('query_category'),
28173            query_hash=d.get('query_hash'),
28174            query_key=d.get('query_key'),
28175            record_count=d.get('record_count'),
28176            remote_identity_username=d.get('remote_identity_username'),
28177            replayable=d.get('replayable'),
28178            resource_id=d.get('resource_id'),
28179            resource_name=d.get('resource_name'),
28180            resource_tags=d.get('resource_tags'),
28181            resource_type=d.get('resource_type'),
28182            source_ip=d.get('source_ip'),
28183            target=d.get('target'),
28184            timestamp=d.get('timestamp'),
28185        )

A Query is a record of a single client request to a resource, such as a SQL query. Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes interactive sessions will return two Query records with the same identifier, one record at the start of the query and a second record upon the completion of the query with additional detail.

Query( account_email=None, account_first_name=None, account_id=None, account_last_name=None, account_tags=None, authzjson=None, capture=None, client_ip=None, completed_at=None, duration=None, egress_node_id=None, encrypted=None, id=None, identity_alias_username=None, metadata_json=None, query_body=None, query_category=None, query_hash=None, query_key=None, record_count=None, remote_identity_username=None, replayable=None, resource_id=None, resource_name=None, resource_tags=None, resource_type=None, source_ip=None, target=None, timestamp=None)
27924    def __init__(
27925        self,
27926        account_email=None,
27927        account_first_name=None,
27928        account_id=None,
27929        account_last_name=None,
27930        account_tags=None,
27931        authzjson=None,
27932        capture=None,
27933        client_ip=None,
27934        completed_at=None,
27935        duration=None,
27936        egress_node_id=None,
27937        encrypted=None,
27938        id=None,
27939        identity_alias_username=None,
27940        metadata_json=None,
27941        query_body=None,
27942        query_category=None,
27943        query_hash=None,
27944        query_key=None,
27945        record_count=None,
27946        remote_identity_username=None,
27947        replayable=None,
27948        resource_id=None,
27949        resource_name=None,
27950        resource_tags=None,
27951        resource_type=None,
27952        source_ip=None,
27953        target=None,
27954        timestamp=None,
27955    ):
27956        self.account_email = account_email if account_email is not None else ''
27957        '''
27958         The email of the account performing this query, at the time the query was executed.
27959         If the account email is later changed, that change will not be reflected via this field.
27960        '''
27961        self.account_first_name = account_first_name if account_first_name is not None else ''
27962        '''
27963         The given name of the account performing this query, at the time the query was executed.
27964         If the account is later renamed, that change will not be reflected via this field.
27965        '''
27966        self.account_id = account_id if account_id is not None else ''
27967        '''
27968         Unique identifier of the Account that performed the Query.
27969        '''
27970        self.account_last_name = account_last_name if account_last_name is not None else ''
27971        '''
27972         The family name of the account performing this query, at the time the query was executed.
27973         If the account is later renamed, that change will not be reflected via this field.
27974        '''
27975        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
27976        )
27977        '''
27978         The tags of the account accessed, at the time the query was executed. If the account
27979         tags are later changed, that change will not be reflected via this field.
27980        '''
27981        self.authzjson = authzjson if authzjson is not None else ''
27982        '''
27983         Authorization metadata associated with this query.
27984        '''
27985        self.capture = capture if capture is not None else None
27986        '''
27987         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
27988         about the captured query.
27989        '''
27990        self.client_ip = client_ip if client_ip is not None else ''
27991        '''
27992         The IP address the Query was performed from, as detected at the StrongDM control plane.
27993        '''
27994        self.completed_at = completed_at if completed_at is not None else None
27995        '''
27996         The time at which the Query was completed.
27997         Empty if this record indicates the start of a long-running query.
27998        '''
27999        self.duration = duration if duration is not None else None
28000        '''
28001         The duration of the Query.
28002        '''
28003        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
28004        '''
28005         The unique ID of the node through which the Resource was accessed.
28006        '''
28007        self.encrypted = encrypted if encrypted is not None else False
28008        '''
28009         Indicates that the body of the Query is encrypted.
28010        '''
28011        self.id = id if id is not None else ''
28012        '''
28013         Unique identifier of the Query.
28014        '''
28015        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
28016        '''
28017         The username of the IdentityAlias used to access the Resource.
28018        '''
28019        self.metadata_json = metadata_json if metadata_json is not None else ''
28020        '''
28021         Driver specific metadata associated with this query.
28022        '''
28023        self.query_body = query_body if query_body is not None else ''
28024        '''
28025         The captured content of the Query.
28026         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
28027        '''
28028        self.query_category = query_category if query_category is not None else ''
28029        '''
28030         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
28031        '''
28032        self.query_hash = query_hash if query_hash is not None else ''
28033        '''
28034         The hash of the body of the Query.
28035        '''
28036        self.query_key = query_key if query_key is not None else ''
28037        '''
28038         The symmetric key used to encrypt the body of this Query and its replay if replayable.
28039         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
28040         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
28041         If the Query is not encrypted, this field is empty.
28042        '''
28043        self.record_count = record_count if record_count is not None else 0
28044        '''
28045         The number of records returned by the Query, for a database Resource.
28046        '''
28047        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
28048        '''
28049         The username of the RemoteIdentity used to access the Resource.
28050        '''
28051        self.replayable = replayable if replayable is not None else False
28052        '''
28053         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
28054        '''
28055        self.resource_id = resource_id if resource_id is not None else ''
28056        '''
28057         Unique identifier of the Resource against which the Query was performed.
28058        '''
28059        self.resource_name = resource_name if resource_name is not None else ''
28060        '''
28061         The name of the resource accessed, at the time the query was executed. If the resource
28062         is later renamed, that change will not be reflected via this field.
28063        '''
28064        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
28065        )
28066        '''
28067         The tags of the resource accessed, at the time the query was executed. If the resource
28068         tags are later changed, that change will not be reflected via this field.
28069        '''
28070        self.resource_type = resource_type if resource_type is not None else ''
28071        '''
28072         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
28073        '''
28074        self.source_ip = source_ip if source_ip is not None else ''
28075        '''
28076         The IP address the Query was performed from, as detected at the ingress gateway.
28077        '''
28078        self.target = target if target is not None else ''
28079        '''
28080         The target destination of the query, in host:port format.
28081        '''
28082        self.timestamp = timestamp if timestamp is not None else None
28083        '''
28084         The time at which the Query was started.
28085        '''
account_email

The email of the account performing this query, at the time the query was executed. If the account email is later changed, that change will not be reflected via this field.

account_first_name

The given name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.

account_id

Unique identifier of the Account that performed the Query.

account_last_name

The family name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.

account_tags

The tags of the account accessed, at the time the query was executed. If the account tags are later changed, that change will not be reflected via this field.

authzjson

Authorization metadata associated with this query.

capture

For queries against SSH, Kubernetes, and RDP resources, this contains additional information about the captured query.

client_ip

The IP address the Query was performed from, as detected at the StrongDM control plane.

completed_at

The time at which the Query was completed. Empty if this record indicates the start of a long-running query.

duration

The duration of the Query.

egress_node_id

The unique ID of the node through which the Resource was accessed.

encrypted

Indicates that the body of the Query is encrypted.

id

Unique identifier of the Query.

identity_alias_username

The username of the IdentityAlias used to access the Resource.

metadata_json

Driver specific metadata associated with this query.

query_body

The captured content of the Query. For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.

query_category

The general category of Resource against which Query was performed, e.g. "web" or "cloud".

query_hash

The hash of the body of the Query.

query_key

The symmetric key used to encrypt the body of this Query and its replay if replayable. If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding. This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body. If the Query is not encrypted, this field is empty.

record_count

The number of records returned by the Query, for a database Resource.

remote_identity_username

The username of the RemoteIdentity used to access the Resource.

replayable

Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.

resource_id

Unique identifier of the Resource against which the Query was performed.

resource_name

The name of the resource accessed, at the time the query was executed. If the resource is later renamed, that change will not be reflected via this field.

resource_tags

The tags of the resource accessed, at the time the query was executed. If the resource tags are later changed, that change will not be reflected via this field.

resource_type

The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".

source_ip

The IP address the Query was performed from, as detected at the ingress gateway.

target

The target destination of the query, in host:port format.

timestamp

The time at which the Query was started.

def to_dict(self)
28120    def to_dict(self):
28121        return {
28122            'account_email': self.account_email,
28123            'account_first_name': self.account_first_name,
28124            'account_id': self.account_id,
28125            'account_last_name': self.account_last_name,
28126            'account_tags': self.account_tags,
28127            'authzjson': self.authzjson,
28128            'capture': self.capture,
28129            'client_ip': self.client_ip,
28130            'completed_at': self.completed_at,
28131            'duration': self.duration,
28132            'egress_node_id': self.egress_node_id,
28133            'encrypted': self.encrypted,
28134            'id': self.id,
28135            'identity_alias_username': self.identity_alias_username,
28136            'metadata_json': self.metadata_json,
28137            'query_body': self.query_body,
28138            'query_category': self.query_category,
28139            'query_hash': self.query_hash,
28140            'query_key': self.query_key,
28141            'record_count': self.record_count,
28142            'remote_identity_username': self.remote_identity_username,
28143            'replayable': self.replayable,
28144            'resource_id': self.resource_id,
28145            'resource_name': self.resource_name,
28146            'resource_tags': self.resource_tags,
28147            'resource_type': self.resource_type,
28148            'source_ip': self.source_ip,
28149            'target': self.target,
28150            'timestamp': self.timestamp,
28151        }
@classmethod
def from_dict(cls, d)
28153    @classmethod
28154    def from_dict(cls, d):
28155        return cls(
28156            account_email=d.get('account_email'),
28157            account_first_name=d.get('account_first_name'),
28158            account_id=d.get('account_id'),
28159            account_last_name=d.get('account_last_name'),
28160            account_tags=d.get('account_tags'),
28161            authzjson=d.get('authzjson'),
28162            capture=d.get('capture'),
28163            client_ip=d.get('client_ip'),
28164            completed_at=d.get('completed_at'),
28165            duration=d.get('duration'),
28166            egress_node_id=d.get('egress_node_id'),
28167            encrypted=d.get('encrypted'),
28168            id=d.get('id'),
28169            identity_alias_username=d.get('identity_alias_username'),
28170            metadata_json=d.get('metadata_json'),
28171            query_body=d.get('query_body'),
28172            query_category=d.get('query_category'),
28173            query_hash=d.get('query_hash'),
28174            query_key=d.get('query_key'),
28175            record_count=d.get('record_count'),
28176            remote_identity_username=d.get('remote_identity_username'),
28177            replayable=d.get('replayable'),
28178            resource_id=d.get('resource_id'),
28179            resource_name=d.get('resource_name'),
28180            resource_tags=d.get('resource_tags'),
28181            resource_type=d.get('resource_type'),
28182            source_ip=d.get('source_ip'),
28183            target=d.get('target'),
28184            timestamp=d.get('timestamp'),
28185        )
class QueryCapture:
28188class QueryCapture:
28189    '''
28190         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
28191    '''
28192    __slots__ = [
28193        'client_command',
28194        'command',
28195        'container',
28196        'env',
28197        'file_name',
28198        'file_size',
28199        'height',
28200        'impersonation_groups',
28201        'impersonation_user',
28202        'pod',
28203        'privilege_groups',
28204        'request_body',
28205        'request_method',
28206        'request_uri',
28207        'type',
28208        'width',
28209    ]
28210
28211    def __init__(
28212        self,
28213        client_command=None,
28214        command=None,
28215        container=None,
28216        env=None,
28217        file_name=None,
28218        file_size=None,
28219        height=None,
28220        impersonation_groups=None,
28221        impersonation_user=None,
28222        pod=None,
28223        privilege_groups=None,
28224        request_body=None,
28225        request_method=None,
28226        request_uri=None,
28227        type=None,
28228        width=None,
28229    ):
28230        self.client_command = client_command if client_command is not None else ''
28231        '''
28232         The command executed on the client for a Kubernetes session.
28233        '''
28234        self.command = command if command is not None else ''
28235        '''
28236         The command executed over an SSH or Kubernetes session.
28237        '''
28238        self.container = container if container is not None else ''
28239        '''
28240         The target container of a Kubernetes operation.
28241        '''
28242        self.env = env if env is not None else {}
28243        '''
28244         The environment variables for an SSH or Kubernetes session.
28245        '''
28246        self.file_name = file_name if file_name is not None else ''
28247        '''
28248         The remote file name of an SCP operation.
28249        '''
28250        self.file_size = file_size if file_size is not None else 0
28251        '''
28252         The file size transferred for an SCP operation.
28253        '''
28254        self.height = height if height is not None else 0
28255        '''
28256         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
28257        '''
28258        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
28259        '''
28260         The impersonation groups of a Kubernetes operation.
28261        '''
28262        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
28263        '''
28264         The impersonation user of a Kubernetes operation.
28265        '''
28266        self.pod = pod if pod is not None else ''
28267        '''
28268         The target pod of a Kubernetes operation.
28269        '''
28270        self.privilege_groups = privilege_groups if privilege_groups is not None else []
28271        '''
28272         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
28273        '''
28274        self.request_body = request_body if request_body is not None else b''
28275        '''
28276         The HTTP request body of a Kubernetes operation.
28277        '''
28278        self.request_method = request_method if request_method is not None else ''
28279        '''
28280         The HTTP request method of a Kubernetes operation.
28281        '''
28282        self.request_uri = request_uri if request_uri is not None else ''
28283        '''
28284         The HTTP request URI of a Kubernetes operation.
28285        '''
28286        self.type = type if type is not None else ''
28287        '''
28288         The CaptureType of this query capture, one of the CaptureType constants.
28289        '''
28290        self.width = width if width is not None else 0
28291        '''
28292         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
28293        '''
28294
28295    def __repr__(self):
28296        return '<sdm.QueryCapture ' + \
28297            'client_command: ' + repr(self.client_command) + ' ' +\
28298            'command: ' + repr(self.command) + ' ' +\
28299            'container: ' + repr(self.container) + ' ' +\
28300            'env: ' + repr(self.env) + ' ' +\
28301            'file_name: ' + repr(self.file_name) + ' ' +\
28302            'file_size: ' + repr(self.file_size) + ' ' +\
28303            'height: ' + repr(self.height) + ' ' +\
28304            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
28305            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
28306            'pod: ' + repr(self.pod) + ' ' +\
28307            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
28308            'request_body: ' + repr(self.request_body) + ' ' +\
28309            'request_method: ' + repr(self.request_method) + ' ' +\
28310            'request_uri: ' + repr(self.request_uri) + ' ' +\
28311            'type: ' + repr(self.type) + ' ' +\
28312            'width: ' + repr(self.width) + ' ' +\
28313            '>'
28314
28315    def to_dict(self):
28316        return {
28317            'client_command': self.client_command,
28318            'command': self.command,
28319            'container': self.container,
28320            'env': self.env,
28321            'file_name': self.file_name,
28322            'file_size': self.file_size,
28323            'height': self.height,
28324            'impersonation_groups': self.impersonation_groups,
28325            'impersonation_user': self.impersonation_user,
28326            'pod': self.pod,
28327            'privilege_groups': self.privilege_groups,
28328            'request_body': self.request_body,
28329            'request_method': self.request_method,
28330            'request_uri': self.request_uri,
28331            'type': self.type,
28332            'width': self.width,
28333        }
28334
28335    @classmethod
28336    def from_dict(cls, d):
28337        return cls(
28338            client_command=d.get('client_command'),
28339            command=d.get('command'),
28340            container=d.get('container'),
28341            env=d.get('env'),
28342            file_name=d.get('file_name'),
28343            file_size=d.get('file_size'),
28344            height=d.get('height'),
28345            impersonation_groups=d.get('impersonation_groups'),
28346            impersonation_user=d.get('impersonation_user'),
28347            pod=d.get('pod'),
28348            privilege_groups=d.get('privilege_groups'),
28349            request_body=d.get('request_body'),
28350            request_method=d.get('request_method'),
28351            request_uri=d.get('request_uri'),
28352            type=d.get('type'),
28353            width=d.get('width'),
28354        )

A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.

QueryCapture( client_command=None, command=None, container=None, env=None, file_name=None, file_size=None, height=None, impersonation_groups=None, impersonation_user=None, pod=None, privilege_groups=None, request_body=None, request_method=None, request_uri=None, type=None, width=None)
28211    def __init__(
28212        self,
28213        client_command=None,
28214        command=None,
28215        container=None,
28216        env=None,
28217        file_name=None,
28218        file_size=None,
28219        height=None,
28220        impersonation_groups=None,
28221        impersonation_user=None,
28222        pod=None,
28223        privilege_groups=None,
28224        request_body=None,
28225        request_method=None,
28226        request_uri=None,
28227        type=None,
28228        width=None,
28229    ):
28230        self.client_command = client_command if client_command is not None else ''
28231        '''
28232         The command executed on the client for a Kubernetes session.
28233        '''
28234        self.command = command if command is not None else ''
28235        '''
28236         The command executed over an SSH or Kubernetes session.
28237        '''
28238        self.container = container if container is not None else ''
28239        '''
28240         The target container of a Kubernetes operation.
28241        '''
28242        self.env = env if env is not None else {}
28243        '''
28244         The environment variables for an SSH or Kubernetes session.
28245        '''
28246        self.file_name = file_name if file_name is not None else ''
28247        '''
28248         The remote file name of an SCP operation.
28249        '''
28250        self.file_size = file_size if file_size is not None else 0
28251        '''
28252         The file size transferred for an SCP operation.
28253        '''
28254        self.height = height if height is not None else 0
28255        '''
28256         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
28257        '''
28258        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
28259        '''
28260         The impersonation groups of a Kubernetes operation.
28261        '''
28262        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
28263        '''
28264         The impersonation user of a Kubernetes operation.
28265        '''
28266        self.pod = pod if pod is not None else ''
28267        '''
28268         The target pod of a Kubernetes operation.
28269        '''
28270        self.privilege_groups = privilege_groups if privilege_groups is not None else []
28271        '''
28272         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
28273        '''
28274        self.request_body = request_body if request_body is not None else b''
28275        '''
28276         The HTTP request body of a Kubernetes operation.
28277        '''
28278        self.request_method = request_method if request_method is not None else ''
28279        '''
28280         The HTTP request method of a Kubernetes operation.
28281        '''
28282        self.request_uri = request_uri if request_uri is not None else ''
28283        '''
28284         The HTTP request URI of a Kubernetes operation.
28285        '''
28286        self.type = type if type is not None else ''
28287        '''
28288         The CaptureType of this query capture, one of the CaptureType constants.
28289        '''
28290        self.width = width if width is not None else 0
28291        '''
28292         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
28293        '''
client_command

The command executed on the client for a Kubernetes session.

command

The command executed over an SSH or Kubernetes session.

container

The target container of a Kubernetes operation.

env

The environment variables for an SSH or Kubernetes session.

file_name

The remote file name of an SCP operation.

file_size

The file size transferred for an SCP operation.

height

The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.

impersonation_groups

The impersonation groups of a Kubernetes operation.

impersonation_user

The impersonation user of a Kubernetes operation.

pod

The target pod of a Kubernetes operation.

privilege_groups

The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.

request_body

The HTTP request body of a Kubernetes operation.

request_method

The HTTP request method of a Kubernetes operation.

request_uri

The HTTP request URI of a Kubernetes operation.

type

The CaptureType of this query capture, one of the CaptureType constants.

width

The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.

def to_dict(self)
28315    def to_dict(self):
28316        return {
28317            'client_command': self.client_command,
28318            'command': self.command,
28319            'container': self.container,
28320            'env': self.env,
28321            'file_name': self.file_name,
28322            'file_size': self.file_size,
28323            'height': self.height,
28324            'impersonation_groups': self.impersonation_groups,
28325            'impersonation_user': self.impersonation_user,
28326            'pod': self.pod,
28327            'privilege_groups': self.privilege_groups,
28328            'request_body': self.request_body,
28329            'request_method': self.request_method,
28330            'request_uri': self.request_uri,
28331            'type': self.type,
28332            'width': self.width,
28333        }
@classmethod
def from_dict(cls, d)
28335    @classmethod
28336    def from_dict(cls, d):
28337        return cls(
28338            client_command=d.get('client_command'),
28339            command=d.get('command'),
28340            container=d.get('container'),
28341            env=d.get('env'),
28342            file_name=d.get('file_name'),
28343            file_size=d.get('file_size'),
28344            height=d.get('height'),
28345            impersonation_groups=d.get('impersonation_groups'),
28346            impersonation_user=d.get('impersonation_user'),
28347            pod=d.get('pod'),
28348            privilege_groups=d.get('privilege_groups'),
28349            request_body=d.get('request_body'),
28350            request_method=d.get('request_method'),
28351            request_uri=d.get('request_uri'),
28352            type=d.get('type'),
28353            width=d.get('width'),
28354        )
class RDP:
28357class RDP:
28358    __slots__ = [
28359        'bind_interface',
28360        'downgrade_nla_connections',
28361        'egress_filter',
28362        'healthy',
28363        'hostname',
28364        'id',
28365        'identity_alias_healthcheck_username',
28366        'identity_set_id',
28367        'lock_required',
28368        'name',
28369        'password',
28370        'port',
28371        'port_override',
28372        'proxy_cluster_id',
28373        'secret_store_id',
28374        'subdomain',
28375        'tags',
28376        'username',
28377    ]
28378
28379    def __init__(
28380        self,
28381        bind_interface=None,
28382        downgrade_nla_connections=None,
28383        egress_filter=None,
28384        healthy=None,
28385        hostname=None,
28386        id=None,
28387        identity_alias_healthcheck_username=None,
28388        identity_set_id=None,
28389        lock_required=None,
28390        name=None,
28391        password=None,
28392        port=None,
28393        port_override=None,
28394        proxy_cluster_id=None,
28395        secret_store_id=None,
28396        subdomain=None,
28397        tags=None,
28398        username=None,
28399    ):
28400        self.bind_interface = bind_interface if bind_interface is not None else ''
28401        '''
28402         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28403        '''
28404        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
28405        '''
28406         When set, network level authentication will not be used. May resolve unexpected authentication errors to older servers. When set, healthchecks cannot detect if a provided username / password pair is correct.
28407        '''
28408        self.egress_filter = egress_filter if egress_filter is not None else ''
28409        '''
28410         A filter applied to the routing logic to pin datasource to nodes.
28411        '''
28412        self.healthy = healthy if healthy is not None else False
28413        '''
28414         True if the datasource is reachable and the credentials are valid.
28415        '''
28416        self.hostname = hostname if hostname is not None else ''
28417        '''
28418         The host to dial to initiate a connection from the egress node to this resource.
28419        '''
28420        self.id = id if id is not None else ''
28421        '''
28422         Unique identifier of the Resource.
28423        '''
28424        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
28425        '''
28426         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
28427        '''
28428        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
28429        '''
28430         if provided use identity_set to map username to secret store path
28431        '''
28432        self.lock_required = lock_required if lock_required is not None else False
28433        '''
28434         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
28435        '''
28436        self.name = name if name is not None else ''
28437        '''
28438         Unique human-readable name of the Resource.
28439        '''
28440        self.password = password if password is not None else ''
28441        '''
28442         The password to authenticate with.
28443        '''
28444        self.port = port if port is not None else 0
28445        '''
28446         The port to dial to initiate a connection from the egress node to this resource.
28447        '''
28448        self.port_override = port_override if port_override is not None else 0
28449        '''
28450         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28451        '''
28452        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28453        '''
28454         ID of the proxy cluster for this resource, if any.
28455        '''
28456        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28457        '''
28458         ID of the secret store containing credentials for this resource, if any.
28459        '''
28460        self.subdomain = subdomain if subdomain is not None else ''
28461        '''
28462         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28463        '''
28464        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28465        '''
28466         Tags is a map of key, value pairs.
28467        '''
28468        self.username = username if username is not None else ''
28469        '''
28470         The username to authenticate with.
28471        '''
28472
28473    def __repr__(self):
28474        return '<sdm.RDP ' + \
28475            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28476            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
28477            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28478            'healthy: ' + repr(self.healthy) + ' ' +\
28479            'hostname: ' + repr(self.hostname) + ' ' +\
28480            'id: ' + repr(self.id) + ' ' +\
28481            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
28482            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
28483            'lock_required: ' + repr(self.lock_required) + ' ' +\
28484            'name: ' + repr(self.name) + ' ' +\
28485            'password: ' + repr(self.password) + ' ' +\
28486            'port: ' + repr(self.port) + ' ' +\
28487            'port_override: ' + repr(self.port_override) + ' ' +\
28488            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28489            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28490            'subdomain: ' + repr(self.subdomain) + ' ' +\
28491            'tags: ' + repr(self.tags) + ' ' +\
28492            'username: ' + repr(self.username) + ' ' +\
28493            '>'
28494
28495    def to_dict(self):
28496        return {
28497            'bind_interface': self.bind_interface,
28498            'downgrade_nla_connections': self.downgrade_nla_connections,
28499            'egress_filter': self.egress_filter,
28500            'healthy': self.healthy,
28501            'hostname': self.hostname,
28502            'id': self.id,
28503            'identity_alias_healthcheck_username':
28504            self.identity_alias_healthcheck_username,
28505            'identity_set_id': self.identity_set_id,
28506            'lock_required': self.lock_required,
28507            'name': self.name,
28508            'password': self.password,
28509            'port': self.port,
28510            'port_override': self.port_override,
28511            'proxy_cluster_id': self.proxy_cluster_id,
28512            'secret_store_id': self.secret_store_id,
28513            'subdomain': self.subdomain,
28514            'tags': self.tags,
28515            'username': self.username,
28516        }
28517
28518    @classmethod
28519    def from_dict(cls, d):
28520        return cls(
28521            bind_interface=d.get('bind_interface'),
28522            downgrade_nla_connections=d.get('downgrade_nla_connections'),
28523            egress_filter=d.get('egress_filter'),
28524            healthy=d.get('healthy'),
28525            hostname=d.get('hostname'),
28526            id=d.get('id'),
28527            identity_alias_healthcheck_username=d.get(
28528                'identity_alias_healthcheck_username'),
28529            identity_set_id=d.get('identity_set_id'),
28530            lock_required=d.get('lock_required'),
28531            name=d.get('name'),
28532            password=d.get('password'),
28533            port=d.get('port'),
28534            port_override=d.get('port_override'),
28535            proxy_cluster_id=d.get('proxy_cluster_id'),
28536            secret_store_id=d.get('secret_store_id'),
28537            subdomain=d.get('subdomain'),
28538            tags=d.get('tags'),
28539            username=d.get('username'),
28540        )
RDP( bind_interface=None, downgrade_nla_connections=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, lock_required=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
28379    def __init__(
28380        self,
28381        bind_interface=None,
28382        downgrade_nla_connections=None,
28383        egress_filter=None,
28384        healthy=None,
28385        hostname=None,
28386        id=None,
28387        identity_alias_healthcheck_username=None,
28388        identity_set_id=None,
28389        lock_required=None,
28390        name=None,
28391        password=None,
28392        port=None,
28393        port_override=None,
28394        proxy_cluster_id=None,
28395        secret_store_id=None,
28396        subdomain=None,
28397        tags=None,
28398        username=None,
28399    ):
28400        self.bind_interface = bind_interface if bind_interface is not None else ''
28401        '''
28402         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28403        '''
28404        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
28405        '''
28406         When set, network level authentication will not be used. May resolve unexpected authentication errors to older servers. When set, healthchecks cannot detect if a provided username / password pair is correct.
28407        '''
28408        self.egress_filter = egress_filter if egress_filter is not None else ''
28409        '''
28410         A filter applied to the routing logic to pin datasource to nodes.
28411        '''
28412        self.healthy = healthy if healthy is not None else False
28413        '''
28414         True if the datasource is reachable and the credentials are valid.
28415        '''
28416        self.hostname = hostname if hostname is not None else ''
28417        '''
28418         The host to dial to initiate a connection from the egress node to this resource.
28419        '''
28420        self.id = id if id is not None else ''
28421        '''
28422         Unique identifier of the Resource.
28423        '''
28424        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
28425        '''
28426         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
28427        '''
28428        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
28429        '''
28430         if provided use identity_set to map username to secret store path
28431        '''
28432        self.lock_required = lock_required if lock_required is not None else False
28433        '''
28434         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
28435        '''
28436        self.name = name if name is not None else ''
28437        '''
28438         Unique human-readable name of the Resource.
28439        '''
28440        self.password = password if password is not None else ''
28441        '''
28442         The password to authenticate with.
28443        '''
28444        self.port = port if port is not None else 0
28445        '''
28446         The port to dial to initiate a connection from the egress node to this resource.
28447        '''
28448        self.port_override = port_override if port_override is not None else 0
28449        '''
28450         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28451        '''
28452        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28453        '''
28454         ID of the proxy cluster for this resource, if any.
28455        '''
28456        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28457        '''
28458         ID of the secret store containing credentials for this resource, if any.
28459        '''
28460        self.subdomain = subdomain if subdomain is not None else ''
28461        '''
28462         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28463        '''
28464        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28465        '''
28466         Tags is a map of key, value pairs.
28467        '''
28468        self.username = username if username is not None else ''
28469        '''
28470         The username to authenticate with.
28471        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

downgrade_nla_connections

When set, network level authentication will not be used. May resolve unexpected authentication errors to older servers. When set, healthchecks cannot detect if a provided username / password pair is correct.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

if provided use identity_set to map username to secret store path

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
28495    def to_dict(self):
28496        return {
28497            'bind_interface': self.bind_interface,
28498            'downgrade_nla_connections': self.downgrade_nla_connections,
28499            'egress_filter': self.egress_filter,
28500            'healthy': self.healthy,
28501            'hostname': self.hostname,
28502            'id': self.id,
28503            'identity_alias_healthcheck_username':
28504            self.identity_alias_healthcheck_username,
28505            'identity_set_id': self.identity_set_id,
28506            'lock_required': self.lock_required,
28507            'name': self.name,
28508            'password': self.password,
28509            'port': self.port,
28510            'port_override': self.port_override,
28511            'proxy_cluster_id': self.proxy_cluster_id,
28512            'secret_store_id': self.secret_store_id,
28513            'subdomain': self.subdomain,
28514            'tags': self.tags,
28515            'username': self.username,
28516        }
@classmethod
def from_dict(cls, d)
28518    @classmethod
28519    def from_dict(cls, d):
28520        return cls(
28521            bind_interface=d.get('bind_interface'),
28522            downgrade_nla_connections=d.get('downgrade_nla_connections'),
28523            egress_filter=d.get('egress_filter'),
28524            healthy=d.get('healthy'),
28525            hostname=d.get('hostname'),
28526            id=d.get('id'),
28527            identity_alias_healthcheck_username=d.get(
28528                'identity_alias_healthcheck_username'),
28529            identity_set_id=d.get('identity_set_id'),
28530            lock_required=d.get('lock_required'),
28531            name=d.get('name'),
28532            password=d.get('password'),
28533            port=d.get('port'),
28534            port_override=d.get('port_override'),
28535            proxy_cluster_id=d.get('proxy_cluster_id'),
28536            secret_store_id=d.get('secret_store_id'),
28537            subdomain=d.get('subdomain'),
28538            tags=d.get('tags'),
28539            username=d.get('username'),
28540        )
class RDPCert:
28543class RDPCert:
28544    __slots__ = [
28545        'bind_interface',
28546        'dc_hostnames',
28547        'egress_filter',
28548        'healthy',
28549        'hostname',
28550        'id',
28551        'identity_alias_healthcheck_username',
28552        'identity_set_id',
28553        'lock_required',
28554        'name',
28555        'port',
28556        'port_override',
28557        'proxy_cluster_id',
28558        'secret_store_id',
28559        'server_fqdn',
28560        'sid',
28561        'subdomain',
28562        'tags',
28563        'username',
28564    ]
28565
28566    def __init__(
28567        self,
28568        bind_interface=None,
28569        dc_hostnames=None,
28570        egress_filter=None,
28571        healthy=None,
28572        hostname=None,
28573        id=None,
28574        identity_alias_healthcheck_username=None,
28575        identity_set_id=None,
28576        lock_required=None,
28577        name=None,
28578        port=None,
28579        port_override=None,
28580        proxy_cluster_id=None,
28581        secret_store_id=None,
28582        server_fqdn=None,
28583        sid=None,
28584        subdomain=None,
28585        tags=None,
28586        username=None,
28587    ):
28588        self.bind_interface = bind_interface if bind_interface is not None else ''
28589        '''
28590         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28591        '''
28592        self.dc_hostnames = dc_hostnames if dc_hostnames is not None else ''
28593        '''
28594         Comma-separated list of Active Directory Domain Controller hostnames. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), and for LDAPS SID resolution for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID. Unused for Entra ID.
28595        '''
28596        self.egress_filter = egress_filter if egress_filter is not None else ''
28597        '''
28598         A filter applied to the routing logic to pin datasource to nodes.
28599        '''
28600        self.healthy = healthy if healthy is not None else False
28601        '''
28602         True if the datasource is reachable and the credentials are valid.
28603        '''
28604        self.hostname = hostname if hostname is not None else ''
28605        '''
28606         The host to dial to initiate a connection from the egress node to this resource.
28607        '''
28608        self.id = id if id is not None else ''
28609        '''
28610         Unique identifier of the Resource.
28611        '''
28612        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
28613        '''
28614         Username of the AD service account for health checks, and LDAPS SID resolution if necessary. Required for on-premises AD environments, unused for Entra ID.
28615        '''
28616        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
28617        '''
28618         The ID of the identity set to use for identity connections.
28619        '''
28620        self.lock_required = lock_required if lock_required is not None else False
28621        '''
28622         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
28623        '''
28624        self.name = name if name is not None else ''
28625        '''
28626         Unique human-readable name of the Resource.
28627        '''
28628        self.port = port if port is not None else 0
28629        '''
28630         The port to dial to initiate a connection from the egress node to this resource.
28631        '''
28632        self.port_override = port_override if port_override is not None else 0
28633        '''
28634         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28635        '''
28636        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28637        '''
28638         ID of the proxy cluster for this resource, if any.
28639        '''
28640        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28641        '''
28642         ID of the secret store containing credentials for this resource, if any.
28643        '''
28644        self.server_fqdn = server_fqdn if server_fqdn is not None else ''
28645        '''
28646         Fully-qualified DNS name of the target Windows server, including the AD domain. Must match the Service Principal Name (SPN) of the server in AD. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), unused for Entra ID.
28647        '''
28648        self.sid = sid if sid is not None else ''
28649        '''
28650         Windows Security Identifier (SID) of the configured Username, or AD service account if using LDAPS SID resolution. Required in on-premises AD environments for strong certificate mapping in full enforcement mode, unused for Entra ID.
28651        '''
28652        self.subdomain = subdomain if subdomain is not None else ''
28653        '''
28654         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28655        '''
28656        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28657        '''
28658         Tags is a map of key, value pairs.
28659        '''
28660        self.username = username if username is not None else ''
28661        '''
28662         The username to authenticate with.
28663        '''
28664
28665    def __repr__(self):
28666        return '<sdm.RDPCert ' + \
28667            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28668            'dc_hostnames: ' + repr(self.dc_hostnames) + ' ' +\
28669            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28670            'healthy: ' + repr(self.healthy) + ' ' +\
28671            'hostname: ' + repr(self.hostname) + ' ' +\
28672            'id: ' + repr(self.id) + ' ' +\
28673            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
28674            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
28675            'lock_required: ' + repr(self.lock_required) + ' ' +\
28676            'name: ' + repr(self.name) + ' ' +\
28677            'port: ' + repr(self.port) + ' ' +\
28678            'port_override: ' + repr(self.port_override) + ' ' +\
28679            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28680            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28681            'server_fqdn: ' + repr(self.server_fqdn) + ' ' +\
28682            'sid: ' + repr(self.sid) + ' ' +\
28683            'subdomain: ' + repr(self.subdomain) + ' ' +\
28684            'tags: ' + repr(self.tags) + ' ' +\
28685            'username: ' + repr(self.username) + ' ' +\
28686            '>'
28687
28688    def to_dict(self):
28689        return {
28690            'bind_interface': self.bind_interface,
28691            'dc_hostnames': self.dc_hostnames,
28692            'egress_filter': self.egress_filter,
28693            'healthy': self.healthy,
28694            'hostname': self.hostname,
28695            'id': self.id,
28696            'identity_alias_healthcheck_username':
28697            self.identity_alias_healthcheck_username,
28698            'identity_set_id': self.identity_set_id,
28699            'lock_required': self.lock_required,
28700            'name': self.name,
28701            'port': self.port,
28702            'port_override': self.port_override,
28703            'proxy_cluster_id': self.proxy_cluster_id,
28704            'secret_store_id': self.secret_store_id,
28705            'server_fqdn': self.server_fqdn,
28706            'sid': self.sid,
28707            'subdomain': self.subdomain,
28708            'tags': self.tags,
28709            'username': self.username,
28710        }
28711
28712    @classmethod
28713    def from_dict(cls, d):
28714        return cls(
28715            bind_interface=d.get('bind_interface'),
28716            dc_hostnames=d.get('dc_hostnames'),
28717            egress_filter=d.get('egress_filter'),
28718            healthy=d.get('healthy'),
28719            hostname=d.get('hostname'),
28720            id=d.get('id'),
28721            identity_alias_healthcheck_username=d.get(
28722                'identity_alias_healthcheck_username'),
28723            identity_set_id=d.get('identity_set_id'),
28724            lock_required=d.get('lock_required'),
28725            name=d.get('name'),
28726            port=d.get('port'),
28727            port_override=d.get('port_override'),
28728            proxy_cluster_id=d.get('proxy_cluster_id'),
28729            secret_store_id=d.get('secret_store_id'),
28730            server_fqdn=d.get('server_fqdn'),
28731            sid=d.get('sid'),
28732            subdomain=d.get('subdomain'),
28733            tags=d.get('tags'),
28734            username=d.get('username'),
28735        )
RDPCert( bind_interface=None, dc_hostnames=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, lock_required=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, server_fqdn=None, sid=None, subdomain=None, tags=None, username=None)
28566    def __init__(
28567        self,
28568        bind_interface=None,
28569        dc_hostnames=None,
28570        egress_filter=None,
28571        healthy=None,
28572        hostname=None,
28573        id=None,
28574        identity_alias_healthcheck_username=None,
28575        identity_set_id=None,
28576        lock_required=None,
28577        name=None,
28578        port=None,
28579        port_override=None,
28580        proxy_cluster_id=None,
28581        secret_store_id=None,
28582        server_fqdn=None,
28583        sid=None,
28584        subdomain=None,
28585        tags=None,
28586        username=None,
28587    ):
28588        self.bind_interface = bind_interface if bind_interface is not None else ''
28589        '''
28590         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28591        '''
28592        self.dc_hostnames = dc_hostnames if dc_hostnames is not None else ''
28593        '''
28594         Comma-separated list of Active Directory Domain Controller hostnames. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), and for LDAPS SID resolution for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID. Unused for Entra ID.
28595        '''
28596        self.egress_filter = egress_filter if egress_filter is not None else ''
28597        '''
28598         A filter applied to the routing logic to pin datasource to nodes.
28599        '''
28600        self.healthy = healthy if healthy is not None else False
28601        '''
28602         True if the datasource is reachable and the credentials are valid.
28603        '''
28604        self.hostname = hostname if hostname is not None else ''
28605        '''
28606         The host to dial to initiate a connection from the egress node to this resource.
28607        '''
28608        self.id = id if id is not None else ''
28609        '''
28610         Unique identifier of the Resource.
28611        '''
28612        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
28613        '''
28614         Username of the AD service account for health checks, and LDAPS SID resolution if necessary. Required for on-premises AD environments, unused for Entra ID.
28615        '''
28616        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
28617        '''
28618         The ID of the identity set to use for identity connections.
28619        '''
28620        self.lock_required = lock_required if lock_required is not None else False
28621        '''
28622         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
28623        '''
28624        self.name = name if name is not None else ''
28625        '''
28626         Unique human-readable name of the Resource.
28627        '''
28628        self.port = port if port is not None else 0
28629        '''
28630         The port to dial to initiate a connection from the egress node to this resource.
28631        '''
28632        self.port_override = port_override if port_override is not None else 0
28633        '''
28634         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28635        '''
28636        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28637        '''
28638         ID of the proxy cluster for this resource, if any.
28639        '''
28640        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28641        '''
28642         ID of the secret store containing credentials for this resource, if any.
28643        '''
28644        self.server_fqdn = server_fqdn if server_fqdn is not None else ''
28645        '''
28646         Fully-qualified DNS name of the target Windows server, including the AD domain. Must match the Service Principal Name (SPN) of the server in AD. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), unused for Entra ID.
28647        '''
28648        self.sid = sid if sid is not None else ''
28649        '''
28650         Windows Security Identifier (SID) of the configured Username, or AD service account if using LDAPS SID resolution. Required in on-premises AD environments for strong certificate mapping in full enforcement mode, unused for Entra ID.
28651        '''
28652        self.subdomain = subdomain if subdomain is not None else ''
28653        '''
28654         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28655        '''
28656        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28657        '''
28658         Tags is a map of key, value pairs.
28659        '''
28660        self.username = username if username is not None else ''
28661        '''
28662         The username to authenticate with.
28663        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

dc_hostnames

Comma-separated list of Active Directory Domain Controller hostnames. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), and for LDAPS SID resolution for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID. Unused for Entra ID.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

Username of the AD service account for health checks, and LDAPS SID resolution if necessary. Required for on-premises AD environments, unused for Entra ID.

identity_set_id

The ID of the identity set to use for identity connections.

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

server_fqdn

Fully-qualified DNS name of the target Windows server, including the AD domain. Must match the Service Principal Name (SPN) of the server in AD. Required in on-premises AD environments for Kerberos Network Level Authentication (NLA), unused for Entra ID.

sid

Windows Security Identifier (SID) of the configured Username, or AD service account if using LDAPS SID resolution. Required in on-premises AD environments for strong certificate mapping in full enforcement mode, unused for Entra ID.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
28688    def to_dict(self):
28689        return {
28690            'bind_interface': self.bind_interface,
28691            'dc_hostnames': self.dc_hostnames,
28692            'egress_filter': self.egress_filter,
28693            'healthy': self.healthy,
28694            'hostname': self.hostname,
28695            'id': self.id,
28696            'identity_alias_healthcheck_username':
28697            self.identity_alias_healthcheck_username,
28698            'identity_set_id': self.identity_set_id,
28699            'lock_required': self.lock_required,
28700            'name': self.name,
28701            'port': self.port,
28702            'port_override': self.port_override,
28703            'proxy_cluster_id': self.proxy_cluster_id,
28704            'secret_store_id': self.secret_store_id,
28705            'server_fqdn': self.server_fqdn,
28706            'sid': self.sid,
28707            'subdomain': self.subdomain,
28708            'tags': self.tags,
28709            'username': self.username,
28710        }
@classmethod
def from_dict(cls, d)
28712    @classmethod
28713    def from_dict(cls, d):
28714        return cls(
28715            bind_interface=d.get('bind_interface'),
28716            dc_hostnames=d.get('dc_hostnames'),
28717            egress_filter=d.get('egress_filter'),
28718            healthy=d.get('healthy'),
28719            hostname=d.get('hostname'),
28720            id=d.get('id'),
28721            identity_alias_healthcheck_username=d.get(
28722                'identity_alias_healthcheck_username'),
28723            identity_set_id=d.get('identity_set_id'),
28724            lock_required=d.get('lock_required'),
28725            name=d.get('name'),
28726            port=d.get('port'),
28727            port_override=d.get('port_override'),
28728            proxy_cluster_id=d.get('proxy_cluster_id'),
28729            secret_store_id=d.get('secret_store_id'),
28730            server_fqdn=d.get('server_fqdn'),
28731            sid=d.get('sid'),
28732            subdomain=d.get('subdomain'),
28733            tags=d.get('tags'),
28734            username=d.get('username'),
28735        )
class RDSPostgresIAM:
28738class RDSPostgresIAM:
28739    __slots__ = [
28740        'bind_interface',
28741        'database',
28742        'egress_filter',
28743        'healthy',
28744        'hostname',
28745        'id',
28746        'name',
28747        'override_database',
28748        'port',
28749        'port_override',
28750        'proxy_cluster_id',
28751        'region',
28752        'role_assumption_arn',
28753        'secret_store_id',
28754        'subdomain',
28755        'tags',
28756        'username',
28757    ]
28758
28759    def __init__(
28760        self,
28761        bind_interface=None,
28762        database=None,
28763        egress_filter=None,
28764        healthy=None,
28765        hostname=None,
28766        id=None,
28767        name=None,
28768        override_database=None,
28769        port=None,
28770        port_override=None,
28771        proxy_cluster_id=None,
28772        region=None,
28773        role_assumption_arn=None,
28774        secret_store_id=None,
28775        subdomain=None,
28776        tags=None,
28777        username=None,
28778    ):
28779        self.bind_interface = bind_interface if bind_interface is not None else ''
28780        '''
28781         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28782        '''
28783        self.database = database if database is not None else ''
28784        '''
28785         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28786        '''
28787        self.egress_filter = egress_filter if egress_filter is not None else ''
28788        '''
28789         A filter applied to the routing logic to pin datasource to nodes.
28790        '''
28791        self.healthy = healthy if healthy is not None else False
28792        '''
28793         True if the datasource is reachable and the credentials are valid.
28794        '''
28795        self.hostname = hostname if hostname is not None else ''
28796        '''
28797         The host to dial to initiate a connection from the egress node to this resource.
28798        '''
28799        self.id = id if id is not None else ''
28800        '''
28801         Unique identifier of the Resource.
28802        '''
28803        self.name = name if name is not None else ''
28804        '''
28805         Unique human-readable name of the Resource.
28806        '''
28807        self.override_database = override_database if override_database is not None else False
28808        '''
28809         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28810        '''
28811        self.port = port if port is not None else 0
28812        '''
28813         The port to dial to initiate a connection from the egress node to this resource.
28814        '''
28815        self.port_override = port_override if port_override is not None else 0
28816        '''
28817         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28818        '''
28819        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28820        '''
28821         ID of the proxy cluster for this resource, if any.
28822        '''
28823        self.region = region if region is not None else ''
28824        '''
28825         The AWS region to connect to.
28826        '''
28827        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
28828        '''
28829         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
28830        '''
28831        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28832        '''
28833         ID of the secret store containing credentials for this resource, if any.
28834        '''
28835        self.subdomain = subdomain if subdomain is not None else ''
28836        '''
28837         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28838        '''
28839        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28840        '''
28841         Tags is a map of key, value pairs.
28842        '''
28843        self.username = username if username is not None else ''
28844        '''
28845         The username to authenticate with.
28846        '''
28847
28848    def __repr__(self):
28849        return '<sdm.RDSPostgresIAM ' + \
28850            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28851            'database: ' + repr(self.database) + ' ' +\
28852            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28853            'healthy: ' + repr(self.healthy) + ' ' +\
28854            'hostname: ' + repr(self.hostname) + ' ' +\
28855            'id: ' + repr(self.id) + ' ' +\
28856            'name: ' + repr(self.name) + ' ' +\
28857            'override_database: ' + repr(self.override_database) + ' ' +\
28858            'port: ' + repr(self.port) + ' ' +\
28859            'port_override: ' + repr(self.port_override) + ' ' +\
28860            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28861            'region: ' + repr(self.region) + ' ' +\
28862            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
28863            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28864            'subdomain: ' + repr(self.subdomain) + ' ' +\
28865            'tags: ' + repr(self.tags) + ' ' +\
28866            'username: ' + repr(self.username) + ' ' +\
28867            '>'
28868
28869    def to_dict(self):
28870        return {
28871            'bind_interface': self.bind_interface,
28872            'database': self.database,
28873            'egress_filter': self.egress_filter,
28874            'healthy': self.healthy,
28875            'hostname': self.hostname,
28876            'id': self.id,
28877            'name': self.name,
28878            'override_database': self.override_database,
28879            'port': self.port,
28880            'port_override': self.port_override,
28881            'proxy_cluster_id': self.proxy_cluster_id,
28882            'region': self.region,
28883            'role_assumption_arn': self.role_assumption_arn,
28884            'secret_store_id': self.secret_store_id,
28885            'subdomain': self.subdomain,
28886            'tags': self.tags,
28887            'username': self.username,
28888        }
28889
28890    @classmethod
28891    def from_dict(cls, d):
28892        return cls(
28893            bind_interface=d.get('bind_interface'),
28894            database=d.get('database'),
28895            egress_filter=d.get('egress_filter'),
28896            healthy=d.get('healthy'),
28897            hostname=d.get('hostname'),
28898            id=d.get('id'),
28899            name=d.get('name'),
28900            override_database=d.get('override_database'),
28901            port=d.get('port'),
28902            port_override=d.get('port_override'),
28903            proxy_cluster_id=d.get('proxy_cluster_id'),
28904            region=d.get('region'),
28905            role_assumption_arn=d.get('role_assumption_arn'),
28906            secret_store_id=d.get('secret_store_id'),
28907            subdomain=d.get('subdomain'),
28908            tags=d.get('tags'),
28909            username=d.get('username'),
28910        )
RDSPostgresIAM( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_assumption_arn=None, secret_store_id=None, subdomain=None, tags=None, username=None)
28759    def __init__(
28760        self,
28761        bind_interface=None,
28762        database=None,
28763        egress_filter=None,
28764        healthy=None,
28765        hostname=None,
28766        id=None,
28767        name=None,
28768        override_database=None,
28769        port=None,
28770        port_override=None,
28771        proxy_cluster_id=None,
28772        region=None,
28773        role_assumption_arn=None,
28774        secret_store_id=None,
28775        subdomain=None,
28776        tags=None,
28777        username=None,
28778    ):
28779        self.bind_interface = bind_interface if bind_interface is not None else ''
28780        '''
28781         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28782        '''
28783        self.database = database if database is not None else ''
28784        '''
28785         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28786        '''
28787        self.egress_filter = egress_filter if egress_filter is not None else ''
28788        '''
28789         A filter applied to the routing logic to pin datasource to nodes.
28790        '''
28791        self.healthy = healthy if healthy is not None else False
28792        '''
28793         True if the datasource is reachable and the credentials are valid.
28794        '''
28795        self.hostname = hostname if hostname is not None else ''
28796        '''
28797         The host to dial to initiate a connection from the egress node to this resource.
28798        '''
28799        self.id = id if id is not None else ''
28800        '''
28801         Unique identifier of the Resource.
28802        '''
28803        self.name = name if name is not None else ''
28804        '''
28805         Unique human-readable name of the Resource.
28806        '''
28807        self.override_database = override_database if override_database is not None else False
28808        '''
28809         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28810        '''
28811        self.port = port if port is not None else 0
28812        '''
28813         The port to dial to initiate a connection from the egress node to this resource.
28814        '''
28815        self.port_override = port_override if port_override is not None else 0
28816        '''
28817         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28818        '''
28819        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28820        '''
28821         ID of the proxy cluster for this resource, if any.
28822        '''
28823        self.region = region if region is not None else ''
28824        '''
28825         The AWS region to connect to.
28826        '''
28827        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
28828        '''
28829         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
28830        '''
28831        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28832        '''
28833         ID of the secret store containing credentials for this resource, if any.
28834        '''
28835        self.subdomain = subdomain if subdomain is not None else ''
28836        '''
28837         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28838        '''
28839        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28840        '''
28841         Tags is a map of key, value pairs.
28842        '''
28843        self.username = username if username is not None else ''
28844        '''
28845         The username to authenticate with.
28846        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_assumption_arn

If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
28869    def to_dict(self):
28870        return {
28871            'bind_interface': self.bind_interface,
28872            'database': self.database,
28873            'egress_filter': self.egress_filter,
28874            'healthy': self.healthy,
28875            'hostname': self.hostname,
28876            'id': self.id,
28877            'name': self.name,
28878            'override_database': self.override_database,
28879            'port': self.port,
28880            'port_override': self.port_override,
28881            'proxy_cluster_id': self.proxy_cluster_id,
28882            'region': self.region,
28883            'role_assumption_arn': self.role_assumption_arn,
28884            'secret_store_id': self.secret_store_id,
28885            'subdomain': self.subdomain,
28886            'tags': self.tags,
28887            'username': self.username,
28888        }
@classmethod
def from_dict(cls, d)
28890    @classmethod
28891    def from_dict(cls, d):
28892        return cls(
28893            bind_interface=d.get('bind_interface'),
28894            database=d.get('database'),
28895            egress_filter=d.get('egress_filter'),
28896            healthy=d.get('healthy'),
28897            hostname=d.get('hostname'),
28898            id=d.get('id'),
28899            name=d.get('name'),
28900            override_database=d.get('override_database'),
28901            port=d.get('port'),
28902            port_override=d.get('port_override'),
28903            proxy_cluster_id=d.get('proxy_cluster_id'),
28904            region=d.get('region'),
28905            role_assumption_arn=d.get('role_assumption_arn'),
28906            secret_store_id=d.get('secret_store_id'),
28907            subdomain=d.get('subdomain'),
28908            tags=d.get('tags'),
28909            username=d.get('username'),
28910        )
class RabbitMQAMQP091:
28913class RabbitMQAMQP091:
28914    __slots__ = [
28915        'bind_interface',
28916        'egress_filter',
28917        'healthy',
28918        'hostname',
28919        'id',
28920        'name',
28921        'password',
28922        'port',
28923        'port_override',
28924        'proxy_cluster_id',
28925        'secret_store_id',
28926        'subdomain',
28927        'tags',
28928        'tls_required',
28929        'username',
28930    ]
28931
28932    def __init__(
28933        self,
28934        bind_interface=None,
28935        egress_filter=None,
28936        healthy=None,
28937        hostname=None,
28938        id=None,
28939        name=None,
28940        password=None,
28941        port=None,
28942        port_override=None,
28943        proxy_cluster_id=None,
28944        secret_store_id=None,
28945        subdomain=None,
28946        tags=None,
28947        tls_required=None,
28948        username=None,
28949    ):
28950        self.bind_interface = bind_interface if bind_interface is not None else ''
28951        '''
28952         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28953        '''
28954        self.egress_filter = egress_filter if egress_filter is not None else ''
28955        '''
28956         A filter applied to the routing logic to pin datasource to nodes.
28957        '''
28958        self.healthy = healthy if healthy is not None else False
28959        '''
28960         True if the datasource is reachable and the credentials are valid.
28961        '''
28962        self.hostname = hostname if hostname is not None else ''
28963        '''
28964         The host to dial to initiate a connection from the egress node to this resource.
28965        '''
28966        self.id = id if id is not None else ''
28967        '''
28968         Unique identifier of the Resource.
28969        '''
28970        self.name = name if name is not None else ''
28971        '''
28972         Unique human-readable name of the Resource.
28973        '''
28974        self.password = password if password is not None else ''
28975        '''
28976         The password to authenticate with.
28977        '''
28978        self.port = port if port is not None else 0
28979        '''
28980         The port to dial to initiate a connection from the egress node to this resource.
28981        '''
28982        self.port_override = port_override if port_override is not None else 0
28983        '''
28984         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28985        '''
28986        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28987        '''
28988         ID of the proxy cluster for this resource, if any.
28989        '''
28990        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28991        '''
28992         ID of the secret store containing credentials for this resource, if any.
28993        '''
28994        self.subdomain = subdomain if subdomain is not None else ''
28995        '''
28996         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28997        '''
28998        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28999        '''
29000         Tags is a map of key, value pairs.
29001        '''
29002        self.tls_required = tls_required if tls_required is not None else False
29003        '''
29004         If set, TLS must be used to connect to this resource.
29005        '''
29006        self.username = username if username is not None else ''
29007        '''
29008         The username to authenticate with.
29009        '''
29010
29011    def __repr__(self):
29012        return '<sdm.RabbitMQAMQP091 ' + \
29013            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29014            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29015            'healthy: ' + repr(self.healthy) + ' ' +\
29016            'hostname: ' + repr(self.hostname) + ' ' +\
29017            'id: ' + repr(self.id) + ' ' +\
29018            'name: ' + repr(self.name) + ' ' +\
29019            'password: ' + repr(self.password) + ' ' +\
29020            'port: ' + repr(self.port) + ' ' +\
29021            'port_override: ' + repr(self.port_override) + ' ' +\
29022            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29023            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29024            'subdomain: ' + repr(self.subdomain) + ' ' +\
29025            'tags: ' + repr(self.tags) + ' ' +\
29026            'tls_required: ' + repr(self.tls_required) + ' ' +\
29027            'username: ' + repr(self.username) + ' ' +\
29028            '>'
29029
29030    def to_dict(self):
29031        return {
29032            'bind_interface': self.bind_interface,
29033            'egress_filter': self.egress_filter,
29034            'healthy': self.healthy,
29035            'hostname': self.hostname,
29036            'id': self.id,
29037            'name': self.name,
29038            'password': self.password,
29039            'port': self.port,
29040            'port_override': self.port_override,
29041            'proxy_cluster_id': self.proxy_cluster_id,
29042            'secret_store_id': self.secret_store_id,
29043            'subdomain': self.subdomain,
29044            'tags': self.tags,
29045            'tls_required': self.tls_required,
29046            'username': self.username,
29047        }
29048
29049    @classmethod
29050    def from_dict(cls, d):
29051        return cls(
29052            bind_interface=d.get('bind_interface'),
29053            egress_filter=d.get('egress_filter'),
29054            healthy=d.get('healthy'),
29055            hostname=d.get('hostname'),
29056            id=d.get('id'),
29057            name=d.get('name'),
29058            password=d.get('password'),
29059            port=d.get('port'),
29060            port_override=d.get('port_override'),
29061            proxy_cluster_id=d.get('proxy_cluster_id'),
29062            secret_store_id=d.get('secret_store_id'),
29063            subdomain=d.get('subdomain'),
29064            tags=d.get('tags'),
29065            tls_required=d.get('tls_required'),
29066            username=d.get('username'),
29067        )
RabbitMQAMQP091( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
28932    def __init__(
28933        self,
28934        bind_interface=None,
28935        egress_filter=None,
28936        healthy=None,
28937        hostname=None,
28938        id=None,
28939        name=None,
28940        password=None,
28941        port=None,
28942        port_override=None,
28943        proxy_cluster_id=None,
28944        secret_store_id=None,
28945        subdomain=None,
28946        tags=None,
28947        tls_required=None,
28948        username=None,
28949    ):
28950        self.bind_interface = bind_interface if bind_interface is not None else ''
28951        '''
28952         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28953        '''
28954        self.egress_filter = egress_filter if egress_filter is not None else ''
28955        '''
28956         A filter applied to the routing logic to pin datasource to nodes.
28957        '''
28958        self.healthy = healthy if healthy is not None else False
28959        '''
28960         True if the datasource is reachable and the credentials are valid.
28961        '''
28962        self.hostname = hostname if hostname is not None else ''
28963        '''
28964         The host to dial to initiate a connection from the egress node to this resource.
28965        '''
28966        self.id = id if id is not None else ''
28967        '''
28968         Unique identifier of the Resource.
28969        '''
28970        self.name = name if name is not None else ''
28971        '''
28972         Unique human-readable name of the Resource.
28973        '''
28974        self.password = password if password is not None else ''
28975        '''
28976         The password to authenticate with.
28977        '''
28978        self.port = port if port is not None else 0
28979        '''
28980         The port to dial to initiate a connection from the egress node to this resource.
28981        '''
28982        self.port_override = port_override if port_override is not None else 0
28983        '''
28984         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28985        '''
28986        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28987        '''
28988         ID of the proxy cluster for this resource, if any.
28989        '''
28990        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28991        '''
28992         ID of the secret store containing credentials for this resource, if any.
28993        '''
28994        self.subdomain = subdomain if subdomain is not None else ''
28995        '''
28996         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28997        '''
28998        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28999        '''
29000         Tags is a map of key, value pairs.
29001        '''
29002        self.tls_required = tls_required if tls_required is not None else False
29003        '''
29004         If set, TLS must be used to connect to this resource.
29005        '''
29006        self.username = username if username is not None else ''
29007        '''
29008         The username to authenticate with.
29009        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
29030    def to_dict(self):
29031        return {
29032            'bind_interface': self.bind_interface,
29033            'egress_filter': self.egress_filter,
29034            'healthy': self.healthy,
29035            'hostname': self.hostname,
29036            'id': self.id,
29037            'name': self.name,
29038            'password': self.password,
29039            'port': self.port,
29040            'port_override': self.port_override,
29041            'proxy_cluster_id': self.proxy_cluster_id,
29042            'secret_store_id': self.secret_store_id,
29043            'subdomain': self.subdomain,
29044            'tags': self.tags,
29045            'tls_required': self.tls_required,
29046            'username': self.username,
29047        }
@classmethod
def from_dict(cls, d)
29049    @classmethod
29050    def from_dict(cls, d):
29051        return cls(
29052            bind_interface=d.get('bind_interface'),
29053            egress_filter=d.get('egress_filter'),
29054            healthy=d.get('healthy'),
29055            hostname=d.get('hostname'),
29056            id=d.get('id'),
29057            name=d.get('name'),
29058            password=d.get('password'),
29059            port=d.get('port'),
29060            port_override=d.get('port_override'),
29061            proxy_cluster_id=d.get('proxy_cluster_id'),
29062            secret_store_id=d.get('secret_store_id'),
29063            subdomain=d.get('subdomain'),
29064            tags=d.get('tags'),
29065            tls_required=d.get('tls_required'),
29066            username=d.get('username'),
29067        )
class RateLimitMetadata:
29070class RateLimitMetadata:
29071    '''
29072         RateLimitMetadata contains information about remaining requests avaialable
29073     to the user over some timeframe.
29074    '''
29075    __slots__ = [
29076        'bucket',
29077        'limit',
29078        'remaining',
29079        'reset_at',
29080    ]
29081
29082    def __init__(
29083        self,
29084        bucket=None,
29085        limit=None,
29086        remaining=None,
29087        reset_at=None,
29088    ):
29089        self.bucket = bucket if bucket is not None else ''
29090        '''
29091         The bucket this user/token is associated with, which may be shared between
29092         multiple users/tokens.
29093        '''
29094        self.limit = limit if limit is not None else 0
29095        '''
29096         How many total requests the user/token is authorized to make before being
29097         rate limited.
29098        '''
29099        self.remaining = remaining if remaining is not None else 0
29100        '''
29101         How many remaining requests out of the limit are still avaialable.
29102        '''
29103        self.reset_at = reset_at if reset_at is not None else None
29104        '''
29105         The time when remaining will be reset to limit.
29106        '''
29107
29108    def __repr__(self):
29109        return '<sdm.RateLimitMetadata ' + \
29110            'bucket: ' + repr(self.bucket) + ' ' +\
29111            'limit: ' + repr(self.limit) + ' ' +\
29112            'remaining: ' + repr(self.remaining) + ' ' +\
29113            'reset_at: ' + repr(self.reset_at) + ' ' +\
29114            '>'
29115
29116    def to_dict(self):
29117        return {
29118            'bucket': self.bucket,
29119            'limit': self.limit,
29120            'remaining': self.remaining,
29121            'reset_at': self.reset_at,
29122        }
29123
29124    @classmethod
29125    def from_dict(cls, d):
29126        return cls(
29127            bucket=d.get('bucket'),
29128            limit=d.get('limit'),
29129            remaining=d.get('remaining'),
29130            reset_at=d.get('reset_at'),
29131        )

RateLimitMetadata contains information about remaining requests avaialable to the user over some timeframe.

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
29082    def __init__(
29083        self,
29084        bucket=None,
29085        limit=None,
29086        remaining=None,
29087        reset_at=None,
29088    ):
29089        self.bucket = bucket if bucket is not None else ''
29090        '''
29091         The bucket this user/token is associated with, which may be shared between
29092         multiple users/tokens.
29093        '''
29094        self.limit = limit if limit is not None else 0
29095        '''
29096         How many total requests the user/token is authorized to make before being
29097         rate limited.
29098        '''
29099        self.remaining = remaining if remaining is not None else 0
29100        '''
29101         How many remaining requests out of the limit are still avaialable.
29102        '''
29103        self.reset_at = reset_at if reset_at is not None else None
29104        '''
29105         The time when remaining will be reset to limit.
29106        '''
bucket

The bucket this user/token is associated with, which may be shared between multiple users/tokens.

limit

How many total requests the user/token is authorized to make before being rate limited.

remaining

How many remaining requests out of the limit are still avaialable.

reset_at

The time when remaining will be reset to limit.

def to_dict(self)
29116    def to_dict(self):
29117        return {
29118            'bucket': self.bucket,
29119            'limit': self.limit,
29120            'remaining': self.remaining,
29121            'reset_at': self.reset_at,
29122        }
@classmethod
def from_dict(cls, d)
29124    @classmethod
29125    def from_dict(cls, d):
29126        return cls(
29127            bucket=d.get('bucket'),
29128            limit=d.get('limit'),
29129            remaining=d.get('remaining'),
29130            reset_at=d.get('reset_at'),
29131        )
class RawTCP:
29134class RawTCP:
29135    __slots__ = [
29136        'bind_interface',
29137        'egress_filter',
29138        'healthy',
29139        'hostname',
29140        'id',
29141        'name',
29142        'port',
29143        'port_override',
29144        'proxy_cluster_id',
29145        'secret_store_id',
29146        'subdomain',
29147        'tags',
29148    ]
29149
29150    def __init__(
29151        self,
29152        bind_interface=None,
29153        egress_filter=None,
29154        healthy=None,
29155        hostname=None,
29156        id=None,
29157        name=None,
29158        port=None,
29159        port_override=None,
29160        proxy_cluster_id=None,
29161        secret_store_id=None,
29162        subdomain=None,
29163        tags=None,
29164    ):
29165        self.bind_interface = bind_interface if bind_interface is not None else ''
29166        '''
29167         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29168        '''
29169        self.egress_filter = egress_filter if egress_filter is not None else ''
29170        '''
29171         A filter applied to the routing logic to pin datasource to nodes.
29172        '''
29173        self.healthy = healthy if healthy is not None else False
29174        '''
29175         True if the datasource is reachable and the credentials are valid.
29176        '''
29177        self.hostname = hostname if hostname is not None else ''
29178        '''
29179         The host to dial to initiate a connection from the egress node to this resource.
29180        '''
29181        self.id = id if id is not None else ''
29182        '''
29183         Unique identifier of the Resource.
29184        '''
29185        self.name = name if name is not None else ''
29186        '''
29187         Unique human-readable name of the Resource.
29188        '''
29189        self.port = port if port is not None else 0
29190        '''
29191         The port to dial to initiate a connection from the egress node to this resource.
29192        '''
29193        self.port_override = port_override if port_override is not None else 0
29194        '''
29195         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29196        '''
29197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29198        '''
29199         ID of the proxy cluster for this resource, if any.
29200        '''
29201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29202        '''
29203         ID of the secret store containing credentials for this resource, if any.
29204        '''
29205        self.subdomain = subdomain if subdomain is not None else ''
29206        '''
29207         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29208        '''
29209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29210        '''
29211         Tags is a map of key, value pairs.
29212        '''
29213
29214    def __repr__(self):
29215        return '<sdm.RawTCP ' + \
29216            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29217            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29218            'healthy: ' + repr(self.healthy) + ' ' +\
29219            'hostname: ' + repr(self.hostname) + ' ' +\
29220            'id: ' + repr(self.id) + ' ' +\
29221            'name: ' + repr(self.name) + ' ' +\
29222            'port: ' + repr(self.port) + ' ' +\
29223            'port_override: ' + repr(self.port_override) + ' ' +\
29224            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29225            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29226            'subdomain: ' + repr(self.subdomain) + ' ' +\
29227            'tags: ' + repr(self.tags) + ' ' +\
29228            '>'
29229
29230    def to_dict(self):
29231        return {
29232            'bind_interface': self.bind_interface,
29233            'egress_filter': self.egress_filter,
29234            'healthy': self.healthy,
29235            'hostname': self.hostname,
29236            'id': self.id,
29237            'name': self.name,
29238            'port': self.port,
29239            'port_override': self.port_override,
29240            'proxy_cluster_id': self.proxy_cluster_id,
29241            'secret_store_id': self.secret_store_id,
29242            'subdomain': self.subdomain,
29243            'tags': self.tags,
29244        }
29245
29246    @classmethod
29247    def from_dict(cls, d):
29248        return cls(
29249            bind_interface=d.get('bind_interface'),
29250            egress_filter=d.get('egress_filter'),
29251            healthy=d.get('healthy'),
29252            hostname=d.get('hostname'),
29253            id=d.get('id'),
29254            name=d.get('name'),
29255            port=d.get('port'),
29256            port_override=d.get('port_override'),
29257            proxy_cluster_id=d.get('proxy_cluster_id'),
29258            secret_store_id=d.get('secret_store_id'),
29259            subdomain=d.get('subdomain'),
29260            tags=d.get('tags'),
29261        )
RawTCP( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
29150    def __init__(
29151        self,
29152        bind_interface=None,
29153        egress_filter=None,
29154        healthy=None,
29155        hostname=None,
29156        id=None,
29157        name=None,
29158        port=None,
29159        port_override=None,
29160        proxy_cluster_id=None,
29161        secret_store_id=None,
29162        subdomain=None,
29163        tags=None,
29164    ):
29165        self.bind_interface = bind_interface if bind_interface is not None else ''
29166        '''
29167         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29168        '''
29169        self.egress_filter = egress_filter if egress_filter is not None else ''
29170        '''
29171         A filter applied to the routing logic to pin datasource to nodes.
29172        '''
29173        self.healthy = healthy if healthy is not None else False
29174        '''
29175         True if the datasource is reachable and the credentials are valid.
29176        '''
29177        self.hostname = hostname if hostname is not None else ''
29178        '''
29179         The host to dial to initiate a connection from the egress node to this resource.
29180        '''
29181        self.id = id if id is not None else ''
29182        '''
29183         Unique identifier of the Resource.
29184        '''
29185        self.name = name if name is not None else ''
29186        '''
29187         Unique human-readable name of the Resource.
29188        '''
29189        self.port = port if port is not None else 0
29190        '''
29191         The port to dial to initiate a connection from the egress node to this resource.
29192        '''
29193        self.port_override = port_override if port_override is not None else 0
29194        '''
29195         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29196        '''
29197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29198        '''
29199         ID of the proxy cluster for this resource, if any.
29200        '''
29201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29202        '''
29203         ID of the secret store containing credentials for this resource, if any.
29204        '''
29205        self.subdomain = subdomain if subdomain is not None else ''
29206        '''
29207         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29208        '''
29209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29210        '''
29211         Tags is a map of key, value pairs.
29212        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
29230    def to_dict(self):
29231        return {
29232            'bind_interface': self.bind_interface,
29233            'egress_filter': self.egress_filter,
29234            'healthy': self.healthy,
29235            'hostname': self.hostname,
29236            'id': self.id,
29237            'name': self.name,
29238            'port': self.port,
29239            'port_override': self.port_override,
29240            'proxy_cluster_id': self.proxy_cluster_id,
29241            'secret_store_id': self.secret_store_id,
29242            'subdomain': self.subdomain,
29243            'tags': self.tags,
29244        }
@classmethod
def from_dict(cls, d)
29246    @classmethod
29247    def from_dict(cls, d):
29248        return cls(
29249            bind_interface=d.get('bind_interface'),
29250            egress_filter=d.get('egress_filter'),
29251            healthy=d.get('healthy'),
29252            hostname=d.get('hostname'),
29253            id=d.get('id'),
29254            name=d.get('name'),
29255            port=d.get('port'),
29256            port_override=d.get('port_override'),
29257            proxy_cluster_id=d.get('proxy_cluster_id'),
29258            secret_store_id=d.get('secret_store_id'),
29259            subdomain=d.get('subdomain'),
29260            tags=d.get('tags'),
29261        )
class Redis:
29264class Redis:
29265    __slots__ = [
29266        'bind_interface',
29267        'egress_filter',
29268        'healthy',
29269        'hostname',
29270        'id',
29271        'name',
29272        'password',
29273        'port',
29274        'port_override',
29275        'proxy_cluster_id',
29276        'secret_store_id',
29277        'subdomain',
29278        'tags',
29279        'tls_required',
29280        'username',
29281    ]
29282
29283    def __init__(
29284        self,
29285        bind_interface=None,
29286        egress_filter=None,
29287        healthy=None,
29288        hostname=None,
29289        id=None,
29290        name=None,
29291        password=None,
29292        port=None,
29293        port_override=None,
29294        proxy_cluster_id=None,
29295        secret_store_id=None,
29296        subdomain=None,
29297        tags=None,
29298        tls_required=None,
29299        username=None,
29300    ):
29301        self.bind_interface = bind_interface if bind_interface is not None else ''
29302        '''
29303         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29304        '''
29305        self.egress_filter = egress_filter if egress_filter is not None else ''
29306        '''
29307         A filter applied to the routing logic to pin datasource to nodes.
29308        '''
29309        self.healthy = healthy if healthy is not None else False
29310        '''
29311         True if the datasource is reachable and the credentials are valid.
29312        '''
29313        self.hostname = hostname if hostname is not None else ''
29314        '''
29315         The host to dial to initiate a connection from the egress node to this resource.
29316        '''
29317        self.id = id if id is not None else ''
29318        '''
29319         Unique identifier of the Resource.
29320        '''
29321        self.name = name if name is not None else ''
29322        '''
29323         Unique human-readable name of the Resource.
29324        '''
29325        self.password = password if password is not None else ''
29326        '''
29327         The password to authenticate with.
29328        '''
29329        self.port = port if port is not None else 0
29330        '''
29331         The port to dial to initiate a connection from the egress node to this resource.
29332        '''
29333        self.port_override = port_override if port_override is not None else 0
29334        '''
29335         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29336        '''
29337        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29338        '''
29339         ID of the proxy cluster for this resource, if any.
29340        '''
29341        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29342        '''
29343         ID of the secret store containing credentials for this resource, if any.
29344        '''
29345        self.subdomain = subdomain if subdomain is not None else ''
29346        '''
29347         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29348        '''
29349        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29350        '''
29351         Tags is a map of key, value pairs.
29352        '''
29353        self.tls_required = tls_required if tls_required is not None else False
29354        '''
29355         If set, TLS must be used to connect to this resource.
29356        '''
29357        self.username = username if username is not None else ''
29358        '''
29359         The username to authenticate with.
29360        '''
29361
29362    def __repr__(self):
29363        return '<sdm.Redis ' + \
29364            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29365            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29366            'healthy: ' + repr(self.healthy) + ' ' +\
29367            'hostname: ' + repr(self.hostname) + ' ' +\
29368            'id: ' + repr(self.id) + ' ' +\
29369            'name: ' + repr(self.name) + ' ' +\
29370            'password: ' + repr(self.password) + ' ' +\
29371            'port: ' + repr(self.port) + ' ' +\
29372            'port_override: ' + repr(self.port_override) + ' ' +\
29373            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29374            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29375            'subdomain: ' + repr(self.subdomain) + ' ' +\
29376            'tags: ' + repr(self.tags) + ' ' +\
29377            'tls_required: ' + repr(self.tls_required) + ' ' +\
29378            'username: ' + repr(self.username) + ' ' +\
29379            '>'
29380
29381    def to_dict(self):
29382        return {
29383            'bind_interface': self.bind_interface,
29384            'egress_filter': self.egress_filter,
29385            'healthy': self.healthy,
29386            'hostname': self.hostname,
29387            'id': self.id,
29388            'name': self.name,
29389            'password': self.password,
29390            'port': self.port,
29391            'port_override': self.port_override,
29392            'proxy_cluster_id': self.proxy_cluster_id,
29393            'secret_store_id': self.secret_store_id,
29394            'subdomain': self.subdomain,
29395            'tags': self.tags,
29396            'tls_required': self.tls_required,
29397            'username': self.username,
29398        }
29399
29400    @classmethod
29401    def from_dict(cls, d):
29402        return cls(
29403            bind_interface=d.get('bind_interface'),
29404            egress_filter=d.get('egress_filter'),
29405            healthy=d.get('healthy'),
29406            hostname=d.get('hostname'),
29407            id=d.get('id'),
29408            name=d.get('name'),
29409            password=d.get('password'),
29410            port=d.get('port'),
29411            port_override=d.get('port_override'),
29412            proxy_cluster_id=d.get('proxy_cluster_id'),
29413            secret_store_id=d.get('secret_store_id'),
29414            subdomain=d.get('subdomain'),
29415            tags=d.get('tags'),
29416            tls_required=d.get('tls_required'),
29417            username=d.get('username'),
29418        )
Redis( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
29283    def __init__(
29284        self,
29285        bind_interface=None,
29286        egress_filter=None,
29287        healthy=None,
29288        hostname=None,
29289        id=None,
29290        name=None,
29291        password=None,
29292        port=None,
29293        port_override=None,
29294        proxy_cluster_id=None,
29295        secret_store_id=None,
29296        subdomain=None,
29297        tags=None,
29298        tls_required=None,
29299        username=None,
29300    ):
29301        self.bind_interface = bind_interface if bind_interface is not None else ''
29302        '''
29303         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29304        '''
29305        self.egress_filter = egress_filter if egress_filter is not None else ''
29306        '''
29307         A filter applied to the routing logic to pin datasource to nodes.
29308        '''
29309        self.healthy = healthy if healthy is not None else False
29310        '''
29311         True if the datasource is reachable and the credentials are valid.
29312        '''
29313        self.hostname = hostname if hostname is not None else ''
29314        '''
29315         The host to dial to initiate a connection from the egress node to this resource.
29316        '''
29317        self.id = id if id is not None else ''
29318        '''
29319         Unique identifier of the Resource.
29320        '''
29321        self.name = name if name is not None else ''
29322        '''
29323         Unique human-readable name of the Resource.
29324        '''
29325        self.password = password if password is not None else ''
29326        '''
29327         The password to authenticate with.
29328        '''
29329        self.port = port if port is not None else 0
29330        '''
29331         The port to dial to initiate a connection from the egress node to this resource.
29332        '''
29333        self.port_override = port_override if port_override is not None else 0
29334        '''
29335         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29336        '''
29337        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29338        '''
29339         ID of the proxy cluster for this resource, if any.
29340        '''
29341        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29342        '''
29343         ID of the secret store containing credentials for this resource, if any.
29344        '''
29345        self.subdomain = subdomain if subdomain is not None else ''
29346        '''
29347         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29348        '''
29349        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29350        '''
29351         Tags is a map of key, value pairs.
29352        '''
29353        self.tls_required = tls_required if tls_required is not None else False
29354        '''
29355         If set, TLS must be used to connect to this resource.
29356        '''
29357        self.username = username if username is not None else ''
29358        '''
29359         The username to authenticate with.
29360        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
29381    def to_dict(self):
29382        return {
29383            'bind_interface': self.bind_interface,
29384            'egress_filter': self.egress_filter,
29385            'healthy': self.healthy,
29386            'hostname': self.hostname,
29387            'id': self.id,
29388            'name': self.name,
29389            'password': self.password,
29390            'port': self.port,
29391            'port_override': self.port_override,
29392            'proxy_cluster_id': self.proxy_cluster_id,
29393            'secret_store_id': self.secret_store_id,
29394            'subdomain': self.subdomain,
29395            'tags': self.tags,
29396            'tls_required': self.tls_required,
29397            'username': self.username,
29398        }
@classmethod
def from_dict(cls, d)
29400    @classmethod
29401    def from_dict(cls, d):
29402        return cls(
29403            bind_interface=d.get('bind_interface'),
29404            egress_filter=d.get('egress_filter'),
29405            healthy=d.get('healthy'),
29406            hostname=d.get('hostname'),
29407            id=d.get('id'),
29408            name=d.get('name'),
29409            password=d.get('password'),
29410            port=d.get('port'),
29411            port_override=d.get('port_override'),
29412            proxy_cluster_id=d.get('proxy_cluster_id'),
29413            secret_store_id=d.get('secret_store_id'),
29414            subdomain=d.get('subdomain'),
29415            tags=d.get('tags'),
29416            tls_required=d.get('tls_required'),
29417            username=d.get('username'),
29418        )
class RedisCluster:
29421class RedisCluster:
29422    __slots__ = [
29423        'bind_interface',
29424        'egress_filter',
29425        'healthy',
29426        'hostname',
29427        'id',
29428        'name',
29429        'password',
29430        'port',
29431        'port_override',
29432        'proxy_cluster_id',
29433        'secret_store_id',
29434        'subdomain',
29435        'tags',
29436        'tls_required',
29437        'username',
29438    ]
29439
29440    def __init__(
29441        self,
29442        bind_interface=None,
29443        egress_filter=None,
29444        healthy=None,
29445        hostname=None,
29446        id=None,
29447        name=None,
29448        password=None,
29449        port=None,
29450        port_override=None,
29451        proxy_cluster_id=None,
29452        secret_store_id=None,
29453        subdomain=None,
29454        tags=None,
29455        tls_required=None,
29456        username=None,
29457    ):
29458        self.bind_interface = bind_interface if bind_interface is not None else ''
29459        '''
29460         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29461        '''
29462        self.egress_filter = egress_filter if egress_filter is not None else ''
29463        '''
29464         A filter applied to the routing logic to pin datasource to nodes.
29465        '''
29466        self.healthy = healthy if healthy is not None else False
29467        '''
29468         True if the datasource is reachable and the credentials are valid.
29469        '''
29470        self.hostname = hostname if hostname is not None else ''
29471        '''
29472         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
29473        '''
29474        self.id = id if id is not None else ''
29475        '''
29476         Unique identifier of the Resource.
29477        '''
29478        self.name = name if name is not None else ''
29479        '''
29480         Unique human-readable name of the Resource.
29481        '''
29482        self.password = password if password is not None else ''
29483        '''
29484         The password to authenticate with.
29485        '''
29486        self.port = port if port is not None else 0
29487        '''
29488         The port to dial to initiate a connection from the egress node to this resource.
29489        '''
29490        self.port_override = port_override if port_override is not None else 0
29491        '''
29492         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29493        '''
29494        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29495        '''
29496         ID of the proxy cluster for this resource, if any.
29497        '''
29498        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29499        '''
29500         ID of the secret store containing credentials for this resource, if any.
29501        '''
29502        self.subdomain = subdomain if subdomain is not None else ''
29503        '''
29504         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29505        '''
29506        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29507        '''
29508         Tags is a map of key, value pairs.
29509        '''
29510        self.tls_required = tls_required if tls_required is not None else False
29511        '''
29512         If set, TLS must be used to connect to this resource.
29513        '''
29514        self.username = username if username is not None else ''
29515        '''
29516         The username to authenticate with.
29517        '''
29518
29519    def __repr__(self):
29520        return '<sdm.RedisCluster ' + \
29521            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29522            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29523            'healthy: ' + repr(self.healthy) + ' ' +\
29524            'hostname: ' + repr(self.hostname) + ' ' +\
29525            'id: ' + repr(self.id) + ' ' +\
29526            'name: ' + repr(self.name) + ' ' +\
29527            'password: ' + repr(self.password) + ' ' +\
29528            'port: ' + repr(self.port) + ' ' +\
29529            'port_override: ' + repr(self.port_override) + ' ' +\
29530            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29531            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29532            'subdomain: ' + repr(self.subdomain) + ' ' +\
29533            'tags: ' + repr(self.tags) + ' ' +\
29534            'tls_required: ' + repr(self.tls_required) + ' ' +\
29535            'username: ' + repr(self.username) + ' ' +\
29536            '>'
29537
29538    def to_dict(self):
29539        return {
29540            'bind_interface': self.bind_interface,
29541            'egress_filter': self.egress_filter,
29542            'healthy': self.healthy,
29543            'hostname': self.hostname,
29544            'id': self.id,
29545            'name': self.name,
29546            'password': self.password,
29547            'port': self.port,
29548            'port_override': self.port_override,
29549            'proxy_cluster_id': self.proxy_cluster_id,
29550            'secret_store_id': self.secret_store_id,
29551            'subdomain': self.subdomain,
29552            'tags': self.tags,
29553            'tls_required': self.tls_required,
29554            'username': self.username,
29555        }
29556
29557    @classmethod
29558    def from_dict(cls, d):
29559        return cls(
29560            bind_interface=d.get('bind_interface'),
29561            egress_filter=d.get('egress_filter'),
29562            healthy=d.get('healthy'),
29563            hostname=d.get('hostname'),
29564            id=d.get('id'),
29565            name=d.get('name'),
29566            password=d.get('password'),
29567            port=d.get('port'),
29568            port_override=d.get('port_override'),
29569            proxy_cluster_id=d.get('proxy_cluster_id'),
29570            secret_store_id=d.get('secret_store_id'),
29571            subdomain=d.get('subdomain'),
29572            tags=d.get('tags'),
29573            tls_required=d.get('tls_required'),
29574            username=d.get('username'),
29575        )
RedisCluster( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
29440    def __init__(
29441        self,
29442        bind_interface=None,
29443        egress_filter=None,
29444        healthy=None,
29445        hostname=None,
29446        id=None,
29447        name=None,
29448        password=None,
29449        port=None,
29450        port_override=None,
29451        proxy_cluster_id=None,
29452        secret_store_id=None,
29453        subdomain=None,
29454        tags=None,
29455        tls_required=None,
29456        username=None,
29457    ):
29458        self.bind_interface = bind_interface if bind_interface is not None else ''
29459        '''
29460         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29461        '''
29462        self.egress_filter = egress_filter if egress_filter is not None else ''
29463        '''
29464         A filter applied to the routing logic to pin datasource to nodes.
29465        '''
29466        self.healthy = healthy if healthy is not None else False
29467        '''
29468         True if the datasource is reachable and the credentials are valid.
29469        '''
29470        self.hostname = hostname if hostname is not None else ''
29471        '''
29472         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
29473        '''
29474        self.id = id if id is not None else ''
29475        '''
29476         Unique identifier of the Resource.
29477        '''
29478        self.name = name if name is not None else ''
29479        '''
29480         Unique human-readable name of the Resource.
29481        '''
29482        self.password = password if password is not None else ''
29483        '''
29484         The password to authenticate with.
29485        '''
29486        self.port = port if port is not None else 0
29487        '''
29488         The port to dial to initiate a connection from the egress node to this resource.
29489        '''
29490        self.port_override = port_override if port_override is not None else 0
29491        '''
29492         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29493        '''
29494        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29495        '''
29496         ID of the proxy cluster for this resource, if any.
29497        '''
29498        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29499        '''
29500         ID of the secret store containing credentials for this resource, if any.
29501        '''
29502        self.subdomain = subdomain if subdomain is not None else ''
29503        '''
29504         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29505        '''
29506        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29507        '''
29508         Tags is a map of key, value pairs.
29509        '''
29510        self.tls_required = tls_required if tls_required is not None else False
29511        '''
29512         If set, TLS must be used to connect to this resource.
29513        '''
29514        self.username = username if username is not None else ''
29515        '''
29516         The username to authenticate with.
29517        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
29538    def to_dict(self):
29539        return {
29540            'bind_interface': self.bind_interface,
29541            'egress_filter': self.egress_filter,
29542            'healthy': self.healthy,
29543            'hostname': self.hostname,
29544            'id': self.id,
29545            'name': self.name,
29546            'password': self.password,
29547            'port': self.port,
29548            'port_override': self.port_override,
29549            'proxy_cluster_id': self.proxy_cluster_id,
29550            'secret_store_id': self.secret_store_id,
29551            'subdomain': self.subdomain,
29552            'tags': self.tags,
29553            'tls_required': self.tls_required,
29554            'username': self.username,
29555        }
@classmethod
def from_dict(cls, d)
29557    @classmethod
29558    def from_dict(cls, d):
29559        return cls(
29560            bind_interface=d.get('bind_interface'),
29561            egress_filter=d.get('egress_filter'),
29562            healthy=d.get('healthy'),
29563            hostname=d.get('hostname'),
29564            id=d.get('id'),
29565            name=d.get('name'),
29566            password=d.get('password'),
29567            port=d.get('port'),
29568            port_override=d.get('port_override'),
29569            proxy_cluster_id=d.get('proxy_cluster_id'),
29570            secret_store_id=d.get('secret_store_id'),
29571            subdomain=d.get('subdomain'),
29572            tags=d.get('tags'),
29573            tls_required=d.get('tls_required'),
29574            username=d.get('username'),
29575        )
class Redshift:
29578class Redshift:
29579    __slots__ = [
29580        'bind_interface',
29581        'database',
29582        'egress_filter',
29583        'healthy',
29584        'hostname',
29585        'id',
29586        'name',
29587        'override_database',
29588        'password',
29589        'port',
29590        'port_override',
29591        'proxy_cluster_id',
29592        'secret_store_id',
29593        'subdomain',
29594        'tags',
29595        'username',
29596    ]
29597
29598    def __init__(
29599        self,
29600        bind_interface=None,
29601        database=None,
29602        egress_filter=None,
29603        healthy=None,
29604        hostname=None,
29605        id=None,
29606        name=None,
29607        override_database=None,
29608        password=None,
29609        port=None,
29610        port_override=None,
29611        proxy_cluster_id=None,
29612        secret_store_id=None,
29613        subdomain=None,
29614        tags=None,
29615        username=None,
29616    ):
29617        self.bind_interface = bind_interface if bind_interface is not None else ''
29618        '''
29619         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29620        '''
29621        self.database = database if database is not None else ''
29622        '''
29623         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29624        '''
29625        self.egress_filter = egress_filter if egress_filter is not None else ''
29626        '''
29627         A filter applied to the routing logic to pin datasource to nodes.
29628        '''
29629        self.healthy = healthy if healthy is not None else False
29630        '''
29631         True if the datasource is reachable and the credentials are valid.
29632        '''
29633        self.hostname = hostname if hostname is not None else ''
29634        '''
29635         The host to dial to initiate a connection from the egress node to this resource.
29636        '''
29637        self.id = id if id is not None else ''
29638        '''
29639         Unique identifier of the Resource.
29640        '''
29641        self.name = name if name is not None else ''
29642        '''
29643         Unique human-readable name of the Resource.
29644        '''
29645        self.override_database = override_database if override_database is not None else False
29646        '''
29647         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29648        '''
29649        self.password = password if password is not None else ''
29650        '''
29651         The password to authenticate with.
29652        '''
29653        self.port = port if port is not None else 0
29654        '''
29655         The port to dial to initiate a connection from the egress node to this resource.
29656        '''
29657        self.port_override = port_override if port_override is not None else 0
29658        '''
29659         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29660        '''
29661        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29662        '''
29663         ID of the proxy cluster for this resource, if any.
29664        '''
29665        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29666        '''
29667         ID of the secret store containing credentials for this resource, if any.
29668        '''
29669        self.subdomain = subdomain if subdomain is not None else ''
29670        '''
29671         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29672        '''
29673        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29674        '''
29675         Tags is a map of key, value pairs.
29676        '''
29677        self.username = username if username is not None else ''
29678        '''
29679         The username to authenticate with.
29680        '''
29681
29682    def __repr__(self):
29683        return '<sdm.Redshift ' + \
29684            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29685            'database: ' + repr(self.database) + ' ' +\
29686            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29687            'healthy: ' + repr(self.healthy) + ' ' +\
29688            'hostname: ' + repr(self.hostname) + ' ' +\
29689            'id: ' + repr(self.id) + ' ' +\
29690            'name: ' + repr(self.name) + ' ' +\
29691            'override_database: ' + repr(self.override_database) + ' ' +\
29692            'password: ' + repr(self.password) + ' ' +\
29693            'port: ' + repr(self.port) + ' ' +\
29694            'port_override: ' + repr(self.port_override) + ' ' +\
29695            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29696            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29697            'subdomain: ' + repr(self.subdomain) + ' ' +\
29698            'tags: ' + repr(self.tags) + ' ' +\
29699            'username: ' + repr(self.username) + ' ' +\
29700            '>'
29701
29702    def to_dict(self):
29703        return {
29704            'bind_interface': self.bind_interface,
29705            'database': self.database,
29706            'egress_filter': self.egress_filter,
29707            'healthy': self.healthy,
29708            'hostname': self.hostname,
29709            'id': self.id,
29710            'name': self.name,
29711            'override_database': self.override_database,
29712            'password': self.password,
29713            'port': self.port,
29714            'port_override': self.port_override,
29715            'proxy_cluster_id': self.proxy_cluster_id,
29716            'secret_store_id': self.secret_store_id,
29717            'subdomain': self.subdomain,
29718            'tags': self.tags,
29719            'username': self.username,
29720        }
29721
29722    @classmethod
29723    def from_dict(cls, d):
29724        return cls(
29725            bind_interface=d.get('bind_interface'),
29726            database=d.get('database'),
29727            egress_filter=d.get('egress_filter'),
29728            healthy=d.get('healthy'),
29729            hostname=d.get('hostname'),
29730            id=d.get('id'),
29731            name=d.get('name'),
29732            override_database=d.get('override_database'),
29733            password=d.get('password'),
29734            port=d.get('port'),
29735            port_override=d.get('port_override'),
29736            proxy_cluster_id=d.get('proxy_cluster_id'),
29737            secret_store_id=d.get('secret_store_id'),
29738            subdomain=d.get('subdomain'),
29739            tags=d.get('tags'),
29740            username=d.get('username'),
29741        )
Redshift( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
29598    def __init__(
29599        self,
29600        bind_interface=None,
29601        database=None,
29602        egress_filter=None,
29603        healthy=None,
29604        hostname=None,
29605        id=None,
29606        name=None,
29607        override_database=None,
29608        password=None,
29609        port=None,
29610        port_override=None,
29611        proxy_cluster_id=None,
29612        secret_store_id=None,
29613        subdomain=None,
29614        tags=None,
29615        username=None,
29616    ):
29617        self.bind_interface = bind_interface if bind_interface is not None else ''
29618        '''
29619         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29620        '''
29621        self.database = database if database is not None else ''
29622        '''
29623         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29624        '''
29625        self.egress_filter = egress_filter if egress_filter is not None else ''
29626        '''
29627         A filter applied to the routing logic to pin datasource to nodes.
29628        '''
29629        self.healthy = healthy if healthy is not None else False
29630        '''
29631         True if the datasource is reachable and the credentials are valid.
29632        '''
29633        self.hostname = hostname if hostname is not None else ''
29634        '''
29635         The host to dial to initiate a connection from the egress node to this resource.
29636        '''
29637        self.id = id if id is not None else ''
29638        '''
29639         Unique identifier of the Resource.
29640        '''
29641        self.name = name if name is not None else ''
29642        '''
29643         Unique human-readable name of the Resource.
29644        '''
29645        self.override_database = override_database if override_database is not None else False
29646        '''
29647         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29648        '''
29649        self.password = password if password is not None else ''
29650        '''
29651         The password to authenticate with.
29652        '''
29653        self.port = port if port is not None else 0
29654        '''
29655         The port to dial to initiate a connection from the egress node to this resource.
29656        '''
29657        self.port_override = port_override if port_override is not None else 0
29658        '''
29659         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29660        '''
29661        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29662        '''
29663         ID of the proxy cluster for this resource, if any.
29664        '''
29665        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29666        '''
29667         ID of the secret store containing credentials for this resource, if any.
29668        '''
29669        self.subdomain = subdomain if subdomain is not None else ''
29670        '''
29671         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29672        '''
29673        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29674        '''
29675         Tags is a map of key, value pairs.
29676        '''
29677        self.username = username if username is not None else ''
29678        '''
29679         The username to authenticate with.
29680        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29702    def to_dict(self):
29703        return {
29704            'bind_interface': self.bind_interface,
29705            'database': self.database,
29706            'egress_filter': self.egress_filter,
29707            'healthy': self.healthy,
29708            'hostname': self.hostname,
29709            'id': self.id,
29710            'name': self.name,
29711            'override_database': self.override_database,
29712            'password': self.password,
29713            'port': self.port,
29714            'port_override': self.port_override,
29715            'proxy_cluster_id': self.proxy_cluster_id,
29716            'secret_store_id': self.secret_store_id,
29717            'subdomain': self.subdomain,
29718            'tags': self.tags,
29719            'username': self.username,
29720        }
@classmethod
def from_dict(cls, d)
29722    @classmethod
29723    def from_dict(cls, d):
29724        return cls(
29725            bind_interface=d.get('bind_interface'),
29726            database=d.get('database'),
29727            egress_filter=d.get('egress_filter'),
29728            healthy=d.get('healthy'),
29729            hostname=d.get('hostname'),
29730            id=d.get('id'),
29731            name=d.get('name'),
29732            override_database=d.get('override_database'),
29733            password=d.get('password'),
29734            port=d.get('port'),
29735            port_override=d.get('port_override'),
29736            proxy_cluster_id=d.get('proxy_cluster_id'),
29737            secret_store_id=d.get('secret_store_id'),
29738            subdomain=d.get('subdomain'),
29739            tags=d.get('tags'),
29740            username=d.get('username'),
29741        )
class RedshiftIAM:
29744class RedshiftIAM:
29745    __slots__ = [
29746        'bind_interface',
29747        'cluster_id',
29748        'database',
29749        'egress_filter',
29750        'healthy',
29751        'hostname',
29752        'id',
29753        'name',
29754        'override_database',
29755        'port',
29756        'port_override',
29757        'proxy_cluster_id',
29758        'region',
29759        'role_assumption_arn',
29760        'secret_store_id',
29761        'subdomain',
29762        'tags',
29763    ]
29764
29765    def __init__(
29766        self,
29767        bind_interface=None,
29768        cluster_id=None,
29769        database=None,
29770        egress_filter=None,
29771        healthy=None,
29772        hostname=None,
29773        id=None,
29774        name=None,
29775        override_database=None,
29776        port=None,
29777        port_override=None,
29778        proxy_cluster_id=None,
29779        region=None,
29780        role_assumption_arn=None,
29781        secret_store_id=None,
29782        subdomain=None,
29783        tags=None,
29784    ):
29785        self.bind_interface = bind_interface if bind_interface is not None else ''
29786        '''
29787         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29788        '''
29789        self.cluster_id = cluster_id if cluster_id is not None else ''
29790        '''
29791         Cluster Identified of Redshift cluster
29792        '''
29793        self.database = database if database is not None else ''
29794        '''
29795         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29796        '''
29797        self.egress_filter = egress_filter if egress_filter is not None else ''
29798        '''
29799         A filter applied to the routing logic to pin datasource to nodes.
29800        '''
29801        self.healthy = healthy if healthy is not None else False
29802        '''
29803         True if the datasource is reachable and the credentials are valid.
29804        '''
29805        self.hostname = hostname if hostname is not None else ''
29806        '''
29807         The host to dial to initiate a connection from the egress node to this resource.
29808        '''
29809        self.id = id if id is not None else ''
29810        '''
29811         Unique identifier of the Resource.
29812        '''
29813        self.name = name if name is not None else ''
29814        '''
29815         Unique human-readable name of the Resource.
29816        '''
29817        self.override_database = override_database if override_database is not None else False
29818        '''
29819         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29820        '''
29821        self.port = port if port is not None else 0
29822        '''
29823         The port to dial to initiate a connection from the egress node to this resource.
29824        '''
29825        self.port_override = port_override if port_override is not None else 0
29826        '''
29827         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29828        '''
29829        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29830        '''
29831         ID of the proxy cluster for this resource, if any.
29832        '''
29833        self.region = region if region is not None else ''
29834        '''
29835         The AWS region to connect to.
29836        '''
29837        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
29838        '''
29839         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
29840        '''
29841        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29842        '''
29843         ID of the secret store containing credentials for this resource, if any.
29844        '''
29845        self.subdomain = subdomain if subdomain is not None else ''
29846        '''
29847         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29848        '''
29849        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29850        '''
29851         Tags is a map of key, value pairs.
29852        '''
29853
29854    def __repr__(self):
29855        return '<sdm.RedshiftIAM ' + \
29856            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29857            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
29858            'database: ' + repr(self.database) + ' ' +\
29859            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29860            'healthy: ' + repr(self.healthy) + ' ' +\
29861            'hostname: ' + repr(self.hostname) + ' ' +\
29862            'id: ' + repr(self.id) + ' ' +\
29863            'name: ' + repr(self.name) + ' ' +\
29864            'override_database: ' + repr(self.override_database) + ' ' +\
29865            'port: ' + repr(self.port) + ' ' +\
29866            'port_override: ' + repr(self.port_override) + ' ' +\
29867            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29868            'region: ' + repr(self.region) + ' ' +\
29869            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
29870            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29871            'subdomain: ' + repr(self.subdomain) + ' ' +\
29872            'tags: ' + repr(self.tags) + ' ' +\
29873            '>'
29874
29875    def to_dict(self):
29876        return {
29877            'bind_interface': self.bind_interface,
29878            'cluster_id': self.cluster_id,
29879            'database': self.database,
29880            'egress_filter': self.egress_filter,
29881            'healthy': self.healthy,
29882            'hostname': self.hostname,
29883            'id': self.id,
29884            'name': self.name,
29885            'override_database': self.override_database,
29886            'port': self.port,
29887            'port_override': self.port_override,
29888            'proxy_cluster_id': self.proxy_cluster_id,
29889            'region': self.region,
29890            'role_assumption_arn': self.role_assumption_arn,
29891            'secret_store_id': self.secret_store_id,
29892            'subdomain': self.subdomain,
29893            'tags': self.tags,
29894        }
29895
29896    @classmethod
29897    def from_dict(cls, d):
29898        return cls(
29899            bind_interface=d.get('bind_interface'),
29900            cluster_id=d.get('cluster_id'),
29901            database=d.get('database'),
29902            egress_filter=d.get('egress_filter'),
29903            healthy=d.get('healthy'),
29904            hostname=d.get('hostname'),
29905            id=d.get('id'),
29906            name=d.get('name'),
29907            override_database=d.get('override_database'),
29908            port=d.get('port'),
29909            port_override=d.get('port_override'),
29910            proxy_cluster_id=d.get('proxy_cluster_id'),
29911            region=d.get('region'),
29912            role_assumption_arn=d.get('role_assumption_arn'),
29913            secret_store_id=d.get('secret_store_id'),
29914            subdomain=d.get('subdomain'),
29915            tags=d.get('tags'),
29916        )
RedshiftIAM( bind_interface=None, cluster_id=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_assumption_arn=None, secret_store_id=None, subdomain=None, tags=None)
29765    def __init__(
29766        self,
29767        bind_interface=None,
29768        cluster_id=None,
29769        database=None,
29770        egress_filter=None,
29771        healthy=None,
29772        hostname=None,
29773        id=None,
29774        name=None,
29775        override_database=None,
29776        port=None,
29777        port_override=None,
29778        proxy_cluster_id=None,
29779        region=None,
29780        role_assumption_arn=None,
29781        secret_store_id=None,
29782        subdomain=None,
29783        tags=None,
29784    ):
29785        self.bind_interface = bind_interface if bind_interface is not None else ''
29786        '''
29787         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29788        '''
29789        self.cluster_id = cluster_id if cluster_id is not None else ''
29790        '''
29791         Cluster Identified of Redshift cluster
29792        '''
29793        self.database = database if database is not None else ''
29794        '''
29795         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29796        '''
29797        self.egress_filter = egress_filter if egress_filter is not None else ''
29798        '''
29799         A filter applied to the routing logic to pin datasource to nodes.
29800        '''
29801        self.healthy = healthy if healthy is not None else False
29802        '''
29803         True if the datasource is reachable and the credentials are valid.
29804        '''
29805        self.hostname = hostname if hostname is not None else ''
29806        '''
29807         The host to dial to initiate a connection from the egress node to this resource.
29808        '''
29809        self.id = id if id is not None else ''
29810        '''
29811         Unique identifier of the Resource.
29812        '''
29813        self.name = name if name is not None else ''
29814        '''
29815         Unique human-readable name of the Resource.
29816        '''
29817        self.override_database = override_database if override_database is not None else False
29818        '''
29819         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29820        '''
29821        self.port = port if port is not None else 0
29822        '''
29823         The port to dial to initiate a connection from the egress node to this resource.
29824        '''
29825        self.port_override = port_override if port_override is not None else 0
29826        '''
29827         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29828        '''
29829        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29830        '''
29831         ID of the proxy cluster for this resource, if any.
29832        '''
29833        self.region = region if region is not None else ''
29834        '''
29835         The AWS region to connect to.
29836        '''
29837        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
29838        '''
29839         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
29840        '''
29841        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29842        '''
29843         ID of the secret store containing credentials for this resource, if any.
29844        '''
29845        self.subdomain = subdomain if subdomain is not None else ''
29846        '''
29847         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29848        '''
29849        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29850        '''
29851         Tags is a map of key, value pairs.
29852        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

cluster_id

Cluster Identified of Redshift cluster

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_assumption_arn

If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
29875    def to_dict(self):
29876        return {
29877            'bind_interface': self.bind_interface,
29878            'cluster_id': self.cluster_id,
29879            'database': self.database,
29880            'egress_filter': self.egress_filter,
29881            'healthy': self.healthy,
29882            'hostname': self.hostname,
29883            'id': self.id,
29884            'name': self.name,
29885            'override_database': self.override_database,
29886            'port': self.port,
29887            'port_override': self.port_override,
29888            'proxy_cluster_id': self.proxy_cluster_id,
29889            'region': self.region,
29890            'role_assumption_arn': self.role_assumption_arn,
29891            'secret_store_id': self.secret_store_id,
29892            'subdomain': self.subdomain,
29893            'tags': self.tags,
29894        }
@classmethod
def from_dict(cls, d)
29896    @classmethod
29897    def from_dict(cls, d):
29898        return cls(
29899            bind_interface=d.get('bind_interface'),
29900            cluster_id=d.get('cluster_id'),
29901            database=d.get('database'),
29902            egress_filter=d.get('egress_filter'),
29903            healthy=d.get('healthy'),
29904            hostname=d.get('hostname'),
29905            id=d.get('id'),
29906            name=d.get('name'),
29907            override_database=d.get('override_database'),
29908            port=d.get('port'),
29909            port_override=d.get('port_override'),
29910            proxy_cluster_id=d.get('proxy_cluster_id'),
29911            region=d.get('region'),
29912            role_assumption_arn=d.get('role_assumption_arn'),
29913            secret_store_id=d.get('secret_store_id'),
29914            subdomain=d.get('subdomain'),
29915            tags=d.get('tags'),
29916        )
class RedshiftServerlessIAM:
29919class RedshiftServerlessIAM:
29920    __slots__ = [
29921        'bind_interface',
29922        'database',
29923        'egress_filter',
29924        'healthy',
29925        'hostname',
29926        'id',
29927        'name',
29928        'override_database',
29929        'port',
29930        'port_override',
29931        'proxy_cluster_id',
29932        'region',
29933        'role_assumption_arn',
29934        'secret_store_id',
29935        'subdomain',
29936        'tags',
29937        'workgroup',
29938    ]
29939
29940    def __init__(
29941        self,
29942        bind_interface=None,
29943        database=None,
29944        egress_filter=None,
29945        healthy=None,
29946        hostname=None,
29947        id=None,
29948        name=None,
29949        override_database=None,
29950        port=None,
29951        port_override=None,
29952        proxy_cluster_id=None,
29953        region=None,
29954        role_assumption_arn=None,
29955        secret_store_id=None,
29956        subdomain=None,
29957        tags=None,
29958        workgroup=None,
29959    ):
29960        self.bind_interface = bind_interface if bind_interface is not None else ''
29961        '''
29962         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29963        '''
29964        self.database = database if database is not None else ''
29965        '''
29966         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29967        '''
29968        self.egress_filter = egress_filter if egress_filter is not None else ''
29969        '''
29970         A filter applied to the routing logic to pin datasource to nodes.
29971        '''
29972        self.healthy = healthy if healthy is not None else False
29973        '''
29974         True if the datasource is reachable and the credentials are valid.
29975        '''
29976        self.hostname = hostname if hostname is not None else ''
29977        '''
29978         The host to dial to initiate a connection from the egress node to this resource.
29979        '''
29980        self.id = id if id is not None else ''
29981        '''
29982         Unique identifier of the Resource.
29983        '''
29984        self.name = name if name is not None else ''
29985        '''
29986         Unique human-readable name of the Resource.
29987        '''
29988        self.override_database = override_database if override_database is not None else False
29989        '''
29990         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29991        '''
29992        self.port = port if port is not None else 0
29993        '''
29994         The port to dial to initiate a connection from the egress node to this resource.
29995        '''
29996        self.port_override = port_override if port_override is not None else 0
29997        '''
29998         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29999        '''
30000        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30001        '''
30002         ID of the proxy cluster for this resource, if any.
30003        '''
30004        self.region = region if region is not None else ''
30005        '''
30006         The AWS region to connect to.
30007        '''
30008        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
30009        '''
30010         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
30011        '''
30012        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30013        '''
30014         ID of the secret store containing credentials for this resource, if any.
30015        '''
30016        self.subdomain = subdomain if subdomain is not None else ''
30017        '''
30018         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
30019        '''
30020        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30021        '''
30022         Tags is a map of key, value pairs.
30023        '''
30024        self.workgroup = workgroup if workgroup is not None else ''
30025        '''
30026         Workgroup name in the serverless Redshift
30027        '''
30028
30029    def __repr__(self):
30030        return '<sdm.RedshiftServerlessIAM ' + \
30031            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30032            'database: ' + repr(self.database) + ' ' +\
30033            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30034            'healthy: ' + repr(self.healthy) + ' ' +\
30035            'hostname: ' + repr(self.hostname) + ' ' +\
30036            'id: ' + repr(self.id) + ' ' +\
30037            'name: ' + repr(self.name) + ' ' +\
30038            'override_database: ' + repr(self.override_database) + ' ' +\
30039            'port: ' + repr(self.port) + ' ' +\
30040            'port_override: ' + repr(self.port_override) + ' ' +\
30041            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30042            'region: ' + repr(self.region) + ' ' +\
30043            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
30044            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30045            'subdomain: ' + repr(self.subdomain) + ' ' +\
30046            'tags: ' + repr(self.tags) + ' ' +\
30047            'workgroup: ' + repr(self.workgroup) + ' ' +\
30048            '>'
30049
30050    def to_dict(self):
30051        return {
30052            'bind_interface': self.bind_interface,
30053            'database': self.database,
30054            'egress_filter': self.egress_filter,
30055            'healthy': self.healthy,
30056            'hostname': self.hostname,
30057            'id': self.id,
30058            'name': self.name,
30059            'override_database': self.override_database,
30060            'port': self.port,
30061            'port_override': self.port_override,
30062            'proxy_cluster_id': self.proxy_cluster_id,
30063            'region': self.region,
30064            'role_assumption_arn': self.role_assumption_arn,
30065            'secret_store_id': self.secret_store_id,
30066            'subdomain': self.subdomain,
30067            'tags': self.tags,
30068            'workgroup': self.workgroup,
30069        }
30070
30071    @classmethod
30072    def from_dict(cls, d):
30073        return cls(
30074            bind_interface=d.get('bind_interface'),
30075            database=d.get('database'),
30076            egress_filter=d.get('egress_filter'),
30077            healthy=d.get('healthy'),
30078            hostname=d.get('hostname'),
30079            id=d.get('id'),
30080            name=d.get('name'),
30081            override_database=d.get('override_database'),
30082            port=d.get('port'),
30083            port_override=d.get('port_override'),
30084            proxy_cluster_id=d.get('proxy_cluster_id'),
30085            region=d.get('region'),
30086            role_assumption_arn=d.get('role_assumption_arn'),
30087            secret_store_id=d.get('secret_store_id'),
30088            subdomain=d.get('subdomain'),
30089            tags=d.get('tags'),
30090            workgroup=d.get('workgroup'),
30091        )
RedshiftServerlessIAM( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, port=None, port_override=None, proxy_cluster_id=None, region=None, role_assumption_arn=None, secret_store_id=None, subdomain=None, tags=None, workgroup=None)
29940    def __init__(
29941        self,
29942        bind_interface=None,
29943        database=None,
29944        egress_filter=None,
29945        healthy=None,
29946        hostname=None,
29947        id=None,
29948        name=None,
29949        override_database=None,
29950        port=None,
29951        port_override=None,
29952        proxy_cluster_id=None,
29953        region=None,
29954        role_assumption_arn=None,
29955        secret_store_id=None,
29956        subdomain=None,
29957        tags=None,
29958        workgroup=None,
29959    ):
29960        self.bind_interface = bind_interface if bind_interface is not None else ''
29961        '''
29962         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29963        '''
29964        self.database = database if database is not None else ''
29965        '''
29966         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
29967        '''
29968        self.egress_filter = egress_filter if egress_filter is not None else ''
29969        '''
29970         A filter applied to the routing logic to pin datasource to nodes.
29971        '''
29972        self.healthy = healthy if healthy is not None else False
29973        '''
29974         True if the datasource is reachable and the credentials are valid.
29975        '''
29976        self.hostname = hostname if hostname is not None else ''
29977        '''
29978         The host to dial to initiate a connection from the egress node to this resource.
29979        '''
29980        self.id = id if id is not None else ''
29981        '''
29982         Unique identifier of the Resource.
29983        '''
29984        self.name = name if name is not None else ''
29985        '''
29986         Unique human-readable name of the Resource.
29987        '''
29988        self.override_database = override_database if override_database is not None else False
29989        '''
29990         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
29991        '''
29992        self.port = port if port is not None else 0
29993        '''
29994         The port to dial to initiate a connection from the egress node to this resource.
29995        '''
29996        self.port_override = port_override if port_override is not None else 0
29997        '''
29998         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29999        '''
30000        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30001        '''
30002         ID of the proxy cluster for this resource, if any.
30003        '''
30004        self.region = region if region is not None else ''
30005        '''
30006         The AWS region to connect to.
30007        '''
30008        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
30009        '''
30010         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
30011        '''
30012        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30013        '''
30014         ID of the secret store containing credentials for this resource, if any.
30015        '''
30016        self.subdomain = subdomain if subdomain is not None else ''
30017        '''
30018         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
30019        '''
30020        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30021        '''
30022         Tags is a map of key, value pairs.
30023        '''
30024        self.workgroup = workgroup if workgroup is not None else ''
30025        '''
30026         Workgroup name in the serverless Redshift
30027        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

region

The AWS region to connect to.

role_assumption_arn

If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

workgroup

Workgroup name in the serverless Redshift

def to_dict(self)
30050    def to_dict(self):
30051        return {
30052            'bind_interface': self.bind_interface,
30053            'database': self.database,
30054            'egress_filter': self.egress_filter,
30055            'healthy': self.healthy,
30056            'hostname': self.hostname,
30057            'id': self.id,
30058            'name': self.name,
30059            'override_database': self.override_database,
30060            'port': self.port,
30061            'port_override': self.port_override,
30062            'proxy_cluster_id': self.proxy_cluster_id,
30063            'region': self.region,
30064            'role_assumption_arn': self.role_assumption_arn,
30065            'secret_store_id': self.secret_store_id,
30066            'subdomain': self.subdomain,
30067            'tags': self.tags,
30068            'workgroup': self.workgroup,
30069        }
@classmethod
def from_dict(cls, d)
30071    @classmethod
30072    def from_dict(cls, d):
30073        return cls(
30074            bind_interface=d.get('bind_interface'),
30075            database=d.get('database'),
30076            egress_filter=d.get('egress_filter'),
30077            healthy=d.get('healthy'),
30078            hostname=d.get('hostname'),
30079            id=d.get('id'),
30080            name=d.get('name'),
30081            override_database=d.get('override_database'),
30082            port=d.get('port'),
30083            port_override=d.get('port_override'),
30084            proxy_cluster_id=d.get('proxy_cluster_id'),
30085            region=d.get('region'),
30086            role_assumption_arn=d.get('role_assumption_arn'),
30087            secret_store_id=d.get('secret_store_id'),
30088            subdomain=d.get('subdomain'),
30089            tags=d.get('tags'),
30090            workgroup=d.get('workgroup'),
30091        )
class Relay:
30094class Relay:
30095    '''
30096         Relay represents a StrongDM CLI installation running in relay mode.
30097    '''
30098    __slots__ = [
30099        'device',
30100        'gateway_filter',
30101        'id',
30102        'location',
30103        'maintenance_windows',
30104        'name',
30105        'state',
30106        'tags',
30107        'version',
30108    ]
30109
30110    def __init__(
30111        self,
30112        device=None,
30113        gateway_filter=None,
30114        id=None,
30115        location=None,
30116        maintenance_windows=None,
30117        name=None,
30118        state=None,
30119        tags=None,
30120        version=None,
30121    ):
30122        self.device = device if device is not None else ''
30123        '''
30124         Device is a read only device name uploaded by the gateway process when
30125         it comes online.
30126        '''
30127        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
30128        '''
30129         GatewayFilter can be used to restrict the peering between relays and
30130         gateways. Deprecated.
30131        '''
30132        self.id = id if id is not None else ''
30133        '''
30134         Unique identifier of the Relay.
30135        '''
30136        self.location = location if location is not None else ''
30137        '''
30138         Location is a read only network location uploaded by the gateway process
30139         when it comes online.
30140        '''
30141        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
30142        '''
30143         Maintenance Windows define when this node is allowed to restart. If a node
30144         is requested to restart, it will check each window to determine if any of
30145         them permit it to restart, and if any do, it will. This check is repeated
30146         per window until the restart is successfully completed.
30147         
30148         If not set here, may be set on the command line or via an environment variable
30149         on the process itself; any server setting will take precedence over local
30150         settings. This setting is ineffective for nodes below version 38.44.0.
30151         
30152         If this setting is not applied via this remote configuration or via local
30153         configuration, the default setting is used: always allow restarts if serving
30154         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
30155        '''
30156        self.name = name if name is not None else ''
30157        '''
30158         Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
30159        '''
30160        self.state = state if state is not None else ''
30161        '''
30162         The current state of the relay, one of the NodeState constants.
30163        '''
30164        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30165        '''
30166         Tags is a map of key, value pairs.
30167        '''
30168        self.version = version if version is not None else ''
30169        '''
30170         Version is a read only sdm binary version uploaded by the gateway process
30171         when it comes online.
30172        '''
30173
30174    def __repr__(self):
30175        return '<sdm.Relay ' + \
30176            'device: ' + repr(self.device) + ' ' +\
30177            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
30178            'id: ' + repr(self.id) + ' ' +\
30179            'location: ' + repr(self.location) + ' ' +\
30180            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
30181            'name: ' + repr(self.name) + ' ' +\
30182            'state: ' + repr(self.state) + ' ' +\
30183            'tags: ' + repr(self.tags) + ' ' +\
30184            'version: ' + repr(self.version) + ' ' +\
30185            '>'
30186
30187    def to_dict(self):
30188        return {
30189            'device': self.device,
30190            'gateway_filter': self.gateway_filter,
30191            'id': self.id,
30192            'location': self.location,
30193            'maintenance_windows': self.maintenance_windows,
30194            'name': self.name,
30195            'state': self.state,
30196            'tags': self.tags,
30197            'version': self.version,
30198        }
30199
30200    @classmethod
30201    def from_dict(cls, d):
30202        return cls(
30203            device=d.get('device'),
30204            gateway_filter=d.get('gateway_filter'),
30205            id=d.get('id'),
30206            location=d.get('location'),
30207            maintenance_windows=d.get('maintenance_windows'),
30208            name=d.get('name'),
30209            state=d.get('state'),
30210            tags=d.get('tags'),
30211            version=d.get('version'),
30212        )

Relay represents a StrongDM CLI installation running in relay mode.

Relay( device=None, gateway_filter=None, id=None, location=None, maintenance_windows=None, name=None, state=None, tags=None, version=None)
30110    def __init__(
30111        self,
30112        device=None,
30113        gateway_filter=None,
30114        id=None,
30115        location=None,
30116        maintenance_windows=None,
30117        name=None,
30118        state=None,
30119        tags=None,
30120        version=None,
30121    ):
30122        self.device = device if device is not None else ''
30123        '''
30124         Device is a read only device name uploaded by the gateway process when
30125         it comes online.
30126        '''
30127        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
30128        '''
30129         GatewayFilter can be used to restrict the peering between relays and
30130         gateways. Deprecated.
30131        '''
30132        self.id = id if id is not None else ''
30133        '''
30134         Unique identifier of the Relay.
30135        '''
30136        self.location = location if location is not None else ''
30137        '''
30138         Location is a read only network location uploaded by the gateway process
30139         when it comes online.
30140        '''
30141        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
30142        '''
30143         Maintenance Windows define when this node is allowed to restart. If a node
30144         is requested to restart, it will check each window to determine if any of
30145         them permit it to restart, and if any do, it will. This check is repeated
30146         per window until the restart is successfully completed.
30147         
30148         If not set here, may be set on the command line or via an environment variable
30149         on the process itself; any server setting will take precedence over local
30150         settings. This setting is ineffective for nodes below version 38.44.0.
30151         
30152         If this setting is not applied via this remote configuration or via local
30153         configuration, the default setting is used: always allow restarts if serving
30154         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
30155        '''
30156        self.name = name if name is not None else ''
30157        '''
30158         Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
30159        '''
30160        self.state = state if state is not None else ''
30161        '''
30162         The current state of the relay, one of the NodeState constants.
30163        '''
30164        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30165        '''
30166         Tags is a map of key, value pairs.
30167        '''
30168        self.version = version if version is not None else ''
30169        '''
30170         Version is a read only sdm binary version uploaded by the gateway process
30171         when it comes online.
30172        '''
device

Device is a read only device name uploaded by the gateway process when it comes online.

gateway_filter

GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.

id

Unique identifier of the Relay.

location

Location is a read only network location uploaded by the gateway process when it comes online.

maintenance_windows

Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.

If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.

If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.

name

Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.

state

The current state of the relay, one of the NodeState constants.

tags

Tags is a map of key, value pairs.

version

Version is a read only sdm binary version uploaded by the gateway process when it comes online.

def to_dict(self)
30187    def to_dict(self):
30188        return {
30189            'device': self.device,
30190            'gateway_filter': self.gateway_filter,
30191            'id': self.id,
30192            'location': self.location,
30193            'maintenance_windows': self.maintenance_windows,
30194            'name': self.name,
30195            'state': self.state,
30196            'tags': self.tags,
30197            'version': self.version,
30198        }
@classmethod
def from_dict(cls, d)
30200    @classmethod
30201    def from_dict(cls, d):
30202        return cls(
30203            device=d.get('device'),
30204            gateway_filter=d.get('gateway_filter'),
30205            id=d.get('id'),
30206            location=d.get('location'),
30207            maintenance_windows=d.get('maintenance_windows'),
30208            name=d.get('name'),
30209            state=d.get('state'),
30210            tags=d.get('tags'),
30211            version=d.get('version'),
30212        )
class RemoteIdentity:
30215class RemoteIdentity:
30216    '''
30217         RemoteIdentities define the username to be used for a specific account
30218     when connecting to a remote resource using that group.
30219    '''
30220    __slots__ = [
30221        'account_id',
30222        'id',
30223        'remote_identity_group_id',
30224        'username',
30225    ]
30226
30227    def __init__(
30228        self,
30229        account_id=None,
30230        id=None,
30231        remote_identity_group_id=None,
30232        username=None,
30233    ):
30234        self.account_id = account_id if account_id is not None else ''
30235        '''
30236         The account for this remote identity.
30237        '''
30238        self.id = id if id is not None else ''
30239        '''
30240         Unique identifier of the RemoteIdentity.
30241        '''
30242        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
30243        '''
30244         The remote identity group.
30245        '''
30246        self.username = username if username is not None else ''
30247        '''
30248         The username to be used as the remote identity for this account.
30249        '''
30250
30251    def __repr__(self):
30252        return '<sdm.RemoteIdentity ' + \
30253            'account_id: ' + repr(self.account_id) + ' ' +\
30254            'id: ' + repr(self.id) + ' ' +\
30255            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
30256            'username: ' + repr(self.username) + ' ' +\
30257            '>'
30258
30259    def to_dict(self):
30260        return {
30261            'account_id': self.account_id,
30262            'id': self.id,
30263            'remote_identity_group_id': self.remote_identity_group_id,
30264            'username': self.username,
30265        }
30266
30267    @classmethod
30268    def from_dict(cls, d):
30269        return cls(
30270            account_id=d.get('account_id'),
30271            id=d.get('id'),
30272            remote_identity_group_id=d.get('remote_identity_group_id'),
30273            username=d.get('username'),
30274        )

RemoteIdentities define the username to be used for a specific account when connecting to a remote resource using that group.

RemoteIdentity( account_id=None, id=None, remote_identity_group_id=None, username=None)
30227    def __init__(
30228        self,
30229        account_id=None,
30230        id=None,
30231        remote_identity_group_id=None,
30232        username=None,
30233    ):
30234        self.account_id = account_id if account_id is not None else ''
30235        '''
30236         The account for this remote identity.
30237        '''
30238        self.id = id if id is not None else ''
30239        '''
30240         Unique identifier of the RemoteIdentity.
30241        '''
30242        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
30243        '''
30244         The remote identity group.
30245        '''
30246        self.username = username if username is not None else ''
30247        '''
30248         The username to be used as the remote identity for this account.
30249        '''
account_id

The account for this remote identity.

id

Unique identifier of the RemoteIdentity.

remote_identity_group_id

The remote identity group.

username

The username to be used as the remote identity for this account.

def to_dict(self)
30259    def to_dict(self):
30260        return {
30261            'account_id': self.account_id,
30262            'id': self.id,
30263            'remote_identity_group_id': self.remote_identity_group_id,
30264            'username': self.username,
30265        }
@classmethod
def from_dict(cls, d)
30267    @classmethod
30268    def from_dict(cls, d):
30269        return cls(
30270            account_id=d.get('account_id'),
30271            id=d.get('id'),
30272            remote_identity_group_id=d.get('remote_identity_group_id'),
30273            username=d.get('username'),
30274        )
class RemoteIdentityCreateResponse:
30277class RemoteIdentityCreateResponse:
30278    '''
30279         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
30280    '''
30281    __slots__ = [
30282        'meta',
30283        'rate_limit',
30284        'remote_identity',
30285    ]
30286
30287    def __init__(
30288        self,
30289        meta=None,
30290        rate_limit=None,
30291        remote_identity=None,
30292    ):
30293        self.meta = meta if meta is not None else None
30294        '''
30295         Reserved for future use.
30296        '''
30297        self.rate_limit = rate_limit if rate_limit is not None else None
30298        '''
30299         Rate limit information.
30300        '''
30301        self.remote_identity = remote_identity if remote_identity is not None else None
30302        '''
30303         The created RemoteIdentity.
30304        '''
30305
30306    def __repr__(self):
30307        return '<sdm.RemoteIdentityCreateResponse ' + \
30308            'meta: ' + repr(self.meta) + ' ' +\
30309            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30310            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30311            '>'
30312
30313    def to_dict(self):
30314        return {
30315            'meta': self.meta,
30316            'rate_limit': self.rate_limit,
30317            'remote_identity': self.remote_identity,
30318        }
30319
30320    @classmethod
30321    def from_dict(cls, d):
30322        return cls(
30323            meta=d.get('meta'),
30324            rate_limit=d.get('rate_limit'),
30325            remote_identity=d.get('remote_identity'),
30326        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
30287    def __init__(
30288        self,
30289        meta=None,
30290        rate_limit=None,
30291        remote_identity=None,
30292    ):
30293        self.meta = meta if meta is not None else None
30294        '''
30295         Reserved for future use.
30296        '''
30297        self.rate_limit = rate_limit if rate_limit is not None else None
30298        '''
30299         Rate limit information.
30300        '''
30301        self.remote_identity = remote_identity if remote_identity is not None else None
30302        '''
30303         The created RemoteIdentity.
30304        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
30313    def to_dict(self):
30314        return {
30315            'meta': self.meta,
30316            'rate_limit': self.rate_limit,
30317            'remote_identity': self.remote_identity,
30318        }
@classmethod
def from_dict(cls, d)
30320    @classmethod
30321    def from_dict(cls, d):
30322        return cls(
30323            meta=d.get('meta'),
30324            rate_limit=d.get('rate_limit'),
30325            remote_identity=d.get('remote_identity'),
30326        )
class RemoteIdentityDeleteResponse:
30329class RemoteIdentityDeleteResponse:
30330    '''
30331         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
30332    '''
30333    __slots__ = [
30334        'meta',
30335        'rate_limit',
30336    ]
30337
30338    def __init__(
30339        self,
30340        meta=None,
30341        rate_limit=None,
30342    ):
30343        self.meta = meta if meta is not None else None
30344        '''
30345         Reserved for future use.
30346        '''
30347        self.rate_limit = rate_limit if rate_limit is not None else None
30348        '''
30349         Rate limit information.
30350        '''
30351
30352    def __repr__(self):
30353        return '<sdm.RemoteIdentityDeleteResponse ' + \
30354            'meta: ' + repr(self.meta) + ' ' +\
30355            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30356            '>'
30357
30358    def to_dict(self):
30359        return {
30360            'meta': self.meta,
30361            'rate_limit': self.rate_limit,
30362        }
30363
30364    @classmethod
30365    def from_dict(cls, d):
30366        return cls(
30367            meta=d.get('meta'),
30368            rate_limit=d.get('rate_limit'),
30369        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
30338    def __init__(
30339        self,
30340        meta=None,
30341        rate_limit=None,
30342    ):
30343        self.meta = meta if meta is not None else None
30344        '''
30345         Reserved for future use.
30346        '''
30347        self.rate_limit = rate_limit if rate_limit is not None else None
30348        '''
30349         Rate limit information.
30350        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
30358    def to_dict(self):
30359        return {
30360            'meta': self.meta,
30361            'rate_limit': self.rate_limit,
30362        }
@classmethod
def from_dict(cls, d)
30364    @classmethod
30365    def from_dict(cls, d):
30366        return cls(
30367            meta=d.get('meta'),
30368            rate_limit=d.get('rate_limit'),
30369        )
class RemoteIdentityGetResponse:
30372class RemoteIdentityGetResponse:
30373    '''
30374         RemoteIdentityGetResponse returns a requested RemoteIdentity.
30375    '''
30376    __slots__ = [
30377        'meta',
30378        'rate_limit',
30379        'remote_identity',
30380    ]
30381
30382    def __init__(
30383        self,
30384        meta=None,
30385        rate_limit=None,
30386        remote_identity=None,
30387    ):
30388        self.meta = meta if meta is not None else None
30389        '''
30390         Reserved for future use.
30391        '''
30392        self.rate_limit = rate_limit if rate_limit is not None else None
30393        '''
30394         Rate limit information.
30395        '''
30396        self.remote_identity = remote_identity if remote_identity is not None else None
30397        '''
30398         The requested RemoteIdentity.
30399        '''
30400
30401    def __repr__(self):
30402        return '<sdm.RemoteIdentityGetResponse ' + \
30403            'meta: ' + repr(self.meta) + ' ' +\
30404            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30405            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30406            '>'
30407
30408    def to_dict(self):
30409        return {
30410            'meta': self.meta,
30411            'rate_limit': self.rate_limit,
30412            'remote_identity': self.remote_identity,
30413        }
30414
30415    @classmethod
30416    def from_dict(cls, d):
30417        return cls(
30418            meta=d.get('meta'),
30419            rate_limit=d.get('rate_limit'),
30420            remote_identity=d.get('remote_identity'),
30421        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
30382    def __init__(
30383        self,
30384        meta=None,
30385        rate_limit=None,
30386        remote_identity=None,
30387    ):
30388        self.meta = meta if meta is not None else None
30389        '''
30390         Reserved for future use.
30391        '''
30392        self.rate_limit = rate_limit if rate_limit is not None else None
30393        '''
30394         Rate limit information.
30395        '''
30396        self.remote_identity = remote_identity if remote_identity is not None else None
30397        '''
30398         The requested RemoteIdentity.
30399        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
30408    def to_dict(self):
30409        return {
30410            'meta': self.meta,
30411            'rate_limit': self.rate_limit,
30412            'remote_identity': self.remote_identity,
30413        }
@classmethod
def from_dict(cls, d)
30415    @classmethod
30416    def from_dict(cls, d):
30417        return cls(
30418            meta=d.get('meta'),
30419            rate_limit=d.get('rate_limit'),
30420            remote_identity=d.get('remote_identity'),
30421        )
class RemoteIdentityGroup:
30424class RemoteIdentityGroup:
30425    '''
30426         A RemoteIdentityGroup defines a group of remote identities.
30427    '''
30428    __slots__ = [
30429        'id',
30430        'name',
30431    ]
30432
30433    def __init__(
30434        self,
30435        id=None,
30436        name=None,
30437    ):
30438        self.id = id if id is not None else ''
30439        '''
30440         Unique identifier of the RemoteIdentityGroup.
30441        '''
30442        self.name = name if name is not None else ''
30443        '''
30444         Unique human-readable name of the RemoteIdentityGroup.
30445        '''
30446
30447    def __repr__(self):
30448        return '<sdm.RemoteIdentityGroup ' + \
30449            'id: ' + repr(self.id) + ' ' +\
30450            'name: ' + repr(self.name) + ' ' +\
30451            '>'
30452
30453    def to_dict(self):
30454        return {
30455            'id': self.id,
30456            'name': self.name,
30457        }
30458
30459    @classmethod
30460    def from_dict(cls, d):
30461        return cls(
30462            id=d.get('id'),
30463            name=d.get('name'),
30464        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
30433    def __init__(
30434        self,
30435        id=None,
30436        name=None,
30437    ):
30438        self.id = id if id is not None else ''
30439        '''
30440         Unique identifier of the RemoteIdentityGroup.
30441        '''
30442        self.name = name if name is not None else ''
30443        '''
30444         Unique human-readable name of the RemoteIdentityGroup.
30445        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
30453    def to_dict(self):
30454        return {
30455            'id': self.id,
30456            'name': self.name,
30457        }
@classmethod
def from_dict(cls, d)
30459    @classmethod
30460    def from_dict(cls, d):
30461        return cls(
30462            id=d.get('id'),
30463            name=d.get('name'),
30464        )
class RemoteIdentityGroupGetResponse:
30467class RemoteIdentityGroupGetResponse:
30468    '''
30469         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
30470    '''
30471    __slots__ = [
30472        'meta',
30473        'rate_limit',
30474        'remote_identity_group',
30475    ]
30476
30477    def __init__(
30478        self,
30479        meta=None,
30480        rate_limit=None,
30481        remote_identity_group=None,
30482    ):
30483        self.meta = meta if meta is not None else None
30484        '''
30485         Reserved for future use.
30486        '''
30487        self.rate_limit = rate_limit if rate_limit is not None else None
30488        '''
30489         Rate limit information.
30490        '''
30491        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
30492        '''
30493         The requested RemoteIdentityGroup.
30494        '''
30495
30496    def __repr__(self):
30497        return '<sdm.RemoteIdentityGroupGetResponse ' + \
30498            'meta: ' + repr(self.meta) + ' ' +\
30499            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30500            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
30501            '>'
30502
30503    def to_dict(self):
30504        return {
30505            'meta': self.meta,
30506            'rate_limit': self.rate_limit,
30507            'remote_identity_group': self.remote_identity_group,
30508        }
30509
30510    @classmethod
30511    def from_dict(cls, d):
30512        return cls(
30513            meta=d.get('meta'),
30514            rate_limit=d.get('rate_limit'),
30515            remote_identity_group=d.get('remote_identity_group'),
30516        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
30477    def __init__(
30478        self,
30479        meta=None,
30480        rate_limit=None,
30481        remote_identity_group=None,
30482    ):
30483        self.meta = meta if meta is not None else None
30484        '''
30485         Reserved for future use.
30486        '''
30487        self.rate_limit = rate_limit if rate_limit is not None else None
30488        '''
30489         Rate limit information.
30490        '''
30491        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
30492        '''
30493         The requested RemoteIdentityGroup.
30494        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
30503    def to_dict(self):
30504        return {
30505            'meta': self.meta,
30506            'rate_limit': self.rate_limit,
30507            'remote_identity_group': self.remote_identity_group,
30508        }
@classmethod
def from_dict(cls, d)
30510    @classmethod
30511    def from_dict(cls, d):
30512        return cls(
30513            meta=d.get('meta'),
30514            rate_limit=d.get('rate_limit'),
30515            remote_identity_group=d.get('remote_identity_group'),
30516        )
class RemoteIdentityGroupHistory:
30519class RemoteIdentityGroupHistory:
30520    '''
30521         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
30522     where every change (create, update and delete) to a RemoteIdentityGroup produces an
30523     RemoteIdentityGroupHistory record.
30524    '''
30525    __slots__ = [
30526        'activity_id',
30527        'deleted_at',
30528        'remote_identity_group',
30529        'timestamp',
30530    ]
30531
30532    def __init__(
30533        self,
30534        activity_id=None,
30535        deleted_at=None,
30536        remote_identity_group=None,
30537        timestamp=None,
30538    ):
30539        self.activity_id = activity_id if activity_id is not None else ''
30540        '''
30541         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
30542         May be empty for some system-initiated updates.
30543        '''
30544        self.deleted_at = deleted_at if deleted_at is not None else None
30545        '''
30546         If this RemoteIdentityGroup was deleted, the time it was deleted.
30547        '''
30548        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
30549        '''
30550         The complete RemoteIdentityGroup state at this time.
30551        '''
30552        self.timestamp = timestamp if timestamp is not None else None
30553        '''
30554         The time at which the RemoteIdentityGroup state was recorded.
30555        '''
30556
30557    def __repr__(self):
30558        return '<sdm.RemoteIdentityGroupHistory ' + \
30559            'activity_id: ' + repr(self.activity_id) + ' ' +\
30560            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
30561            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
30562            'timestamp: ' + repr(self.timestamp) + ' ' +\
30563            '>'
30564
30565    def to_dict(self):
30566        return {
30567            'activity_id': self.activity_id,
30568            'deleted_at': self.deleted_at,
30569            'remote_identity_group': self.remote_identity_group,
30570            'timestamp': self.timestamp,
30571        }
30572
30573    @classmethod
30574    def from_dict(cls, d):
30575        return cls(
30576            activity_id=d.get('activity_id'),
30577            deleted_at=d.get('deleted_at'),
30578            remote_identity_group=d.get('remote_identity_group'),
30579            timestamp=d.get('timestamp'),
30580        )

RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time, where every change (create, update and delete) to a RemoteIdentityGroup produces an RemoteIdentityGroupHistory record.

RemoteIdentityGroupHistory( activity_id=None, deleted_at=None, remote_identity_group=None, timestamp=None)
30532    def __init__(
30533        self,
30534        activity_id=None,
30535        deleted_at=None,
30536        remote_identity_group=None,
30537        timestamp=None,
30538    ):
30539        self.activity_id = activity_id if activity_id is not None else ''
30540        '''
30541         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
30542         May be empty for some system-initiated updates.
30543        '''
30544        self.deleted_at = deleted_at if deleted_at is not None else None
30545        '''
30546         If this RemoteIdentityGroup was deleted, the time it was deleted.
30547        '''
30548        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
30549        '''
30550         The complete RemoteIdentityGroup state at this time.
30551        '''
30552        self.timestamp = timestamp if timestamp is not None else None
30553        '''
30554         The time at which the RemoteIdentityGroup state was recorded.
30555        '''
activity_id

The unique identifier of the Activity that produced this change to the RemoteIdentityGroup. May be empty for some system-initiated updates.

deleted_at

If this RemoteIdentityGroup was deleted, the time it was deleted.

remote_identity_group

The complete RemoteIdentityGroup state at this time.

timestamp

The time at which the RemoteIdentityGroup state was recorded.

def to_dict(self)
30565    def to_dict(self):
30566        return {
30567            'activity_id': self.activity_id,
30568            'deleted_at': self.deleted_at,
30569            'remote_identity_group': self.remote_identity_group,
30570            'timestamp': self.timestamp,
30571        }
@classmethod
def from_dict(cls, d)
30573    @classmethod
30574    def from_dict(cls, d):
30575        return cls(
30576            activity_id=d.get('activity_id'),
30577            deleted_at=d.get('deleted_at'),
30578            remote_identity_group=d.get('remote_identity_group'),
30579            timestamp=d.get('timestamp'),
30580        )
class RemoteIdentityHistory:
30583class RemoteIdentityHistory:
30584    '''
30585         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
30586     where every change (create, update and delete) to a RemoteIdentity produces an
30587     RemoteIdentityHistory record.
30588    '''
30589    __slots__ = [
30590        'activity_id',
30591        'deleted_at',
30592        'remote_identity',
30593        'timestamp',
30594    ]
30595
30596    def __init__(
30597        self,
30598        activity_id=None,
30599        deleted_at=None,
30600        remote_identity=None,
30601        timestamp=None,
30602    ):
30603        self.activity_id = activity_id if activity_id is not None else ''
30604        '''
30605         The unique identifier of the Activity that produced this change to the RemoteIdentity.
30606         May be empty for some system-initiated updates.
30607        '''
30608        self.deleted_at = deleted_at if deleted_at is not None else None
30609        '''
30610         If this RemoteIdentity was deleted, the time it was deleted.
30611        '''
30612        self.remote_identity = remote_identity if remote_identity is not None else None
30613        '''
30614         The complete RemoteIdentity state at this time.
30615        '''
30616        self.timestamp = timestamp if timestamp is not None else None
30617        '''
30618         The time at which the RemoteIdentity state was recorded.
30619        '''
30620
30621    def __repr__(self):
30622        return '<sdm.RemoteIdentityHistory ' + \
30623            'activity_id: ' + repr(self.activity_id) + ' ' +\
30624            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
30625            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30626            'timestamp: ' + repr(self.timestamp) + ' ' +\
30627            '>'
30628
30629    def to_dict(self):
30630        return {
30631            'activity_id': self.activity_id,
30632            'deleted_at': self.deleted_at,
30633            'remote_identity': self.remote_identity,
30634            'timestamp': self.timestamp,
30635        }
30636
30637    @classmethod
30638    def from_dict(cls, d):
30639        return cls(
30640            activity_id=d.get('activity_id'),
30641            deleted_at=d.get('deleted_at'),
30642            remote_identity=d.get('remote_identity'),
30643            timestamp=d.get('timestamp'),
30644        )

RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time, where every change (create, update and delete) to a RemoteIdentity produces an RemoteIdentityHistory record.

RemoteIdentityHistory( activity_id=None, deleted_at=None, remote_identity=None, timestamp=None)
30596    def __init__(
30597        self,
30598        activity_id=None,
30599        deleted_at=None,
30600        remote_identity=None,
30601        timestamp=None,
30602    ):
30603        self.activity_id = activity_id if activity_id is not None else ''
30604        '''
30605         The unique identifier of the Activity that produced this change to the RemoteIdentity.
30606         May be empty for some system-initiated updates.
30607        '''
30608        self.deleted_at = deleted_at if deleted_at is not None else None
30609        '''
30610         If this RemoteIdentity was deleted, the time it was deleted.
30611        '''
30612        self.remote_identity = remote_identity if remote_identity is not None else None
30613        '''
30614         The complete RemoteIdentity state at this time.
30615        '''
30616        self.timestamp = timestamp if timestamp is not None else None
30617        '''
30618         The time at which the RemoteIdentity state was recorded.
30619        '''
activity_id

The unique identifier of the Activity that produced this change to the RemoteIdentity. May be empty for some system-initiated updates.

deleted_at

If this RemoteIdentity was deleted, the time it was deleted.

remote_identity

The complete RemoteIdentity state at this time.

timestamp

The time at which the RemoteIdentity state was recorded.

def to_dict(self)
30629    def to_dict(self):
30630        return {
30631            'activity_id': self.activity_id,
30632            'deleted_at': self.deleted_at,
30633            'remote_identity': self.remote_identity,
30634            'timestamp': self.timestamp,
30635        }
@classmethod
def from_dict(cls, d)
30637    @classmethod
30638    def from_dict(cls, d):
30639        return cls(
30640            activity_id=d.get('activity_id'),
30641            deleted_at=d.get('deleted_at'),
30642            remote_identity=d.get('remote_identity'),
30643            timestamp=d.get('timestamp'),
30644        )
class RemoteIdentityUpdateResponse:
30647class RemoteIdentityUpdateResponse:
30648    '''
30649         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
30650     a RemoteIdentityUpdateRequest.
30651    '''
30652    __slots__ = [
30653        'meta',
30654        'rate_limit',
30655        'remote_identity',
30656    ]
30657
30658    def __init__(
30659        self,
30660        meta=None,
30661        rate_limit=None,
30662        remote_identity=None,
30663    ):
30664        self.meta = meta if meta is not None else None
30665        '''
30666         Reserved for future use.
30667        '''
30668        self.rate_limit = rate_limit if rate_limit is not None else None
30669        '''
30670         Rate limit information.
30671        '''
30672        self.remote_identity = remote_identity if remote_identity is not None else None
30673        '''
30674         The updated RemoteIdentity.
30675        '''
30676
30677    def __repr__(self):
30678        return '<sdm.RemoteIdentityUpdateResponse ' + \
30679            'meta: ' + repr(self.meta) + ' ' +\
30680            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30681            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
30682            '>'
30683
30684    def to_dict(self):
30685        return {
30686            'meta': self.meta,
30687            'rate_limit': self.rate_limit,
30688            'remote_identity': self.remote_identity,
30689        }
30690
30691    @classmethod
30692    def from_dict(cls, d):
30693        return cls(
30694            meta=d.get('meta'),
30695            rate_limit=d.get('rate_limit'),
30696            remote_identity=d.get('remote_identity'),
30697        )

RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by a RemoteIdentityUpdateRequest.

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
30658    def __init__(
30659        self,
30660        meta=None,
30661        rate_limit=None,
30662        remote_identity=None,
30663    ):
30664        self.meta = meta if meta is not None else None
30665        '''
30666         Reserved for future use.
30667        '''
30668        self.rate_limit = rate_limit if rate_limit is not None else None
30669        '''
30670         Rate limit information.
30671        '''
30672        self.remote_identity = remote_identity if remote_identity is not None else None
30673        '''
30674         The updated RemoteIdentity.
30675        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
30684    def to_dict(self):
30685        return {
30686            'meta': self.meta,
30687            'rate_limit': self.rate_limit,
30688            'remote_identity': self.remote_identity,
30689        }
@classmethod
def from_dict(cls, d)
30691    @classmethod
30692    def from_dict(cls, d):
30693        return cls(
30694            meta=d.get('meta'),
30695            rate_limit=d.get('rate_limit'),
30696            remote_identity=d.get('remote_identity'),
30697        )
class ReplayChunk:
30700class ReplayChunk:
30701    '''
30702         A ReplayChunk represents a single "chunk" of data from the query replay.
30703    '''
30704    __slots__ = [
30705        'data',
30706        'events',
30707        'symmetric_key',
30708    ]
30709
30710    def __init__(
30711        self,
30712        data=None,
30713        events=None,
30714        symmetric_key=None,
30715    ):
30716        self.data = data if data is not None else b''
30717        '''
30718         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
30719        '''
30720        self.events = events if events is not None else []
30721        '''
30722         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
30723         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
30724        '''
30725        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
30726        '''
30727         If the data is encrypted, this contains the encrypted symmetric key
30728        '''
30729
30730    def __repr__(self):
30731        return '<sdm.ReplayChunk ' + \
30732            'data: ' + repr(self.data) + ' ' +\
30733            'events: ' + repr(self.events) + ' ' +\
30734            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
30735            '>'
30736
30737    def to_dict(self):
30738        return {
30739            'data': self.data,
30740            'events': self.events,
30741            'symmetric_key': self.symmetric_key,
30742        }
30743
30744    @classmethod
30745    def from_dict(cls, d):
30746        return cls(
30747            data=d.get('data'),
30748            events=d.get('events'),
30749            symmetric_key=d.get('symmetric_key'),
30750        )

A ReplayChunk represents a single "chunk" of data from the query replay.

ReplayChunk(data=None, events=None, symmetric_key=None)
30710    def __init__(
30711        self,
30712        data=None,
30713        events=None,
30714        symmetric_key=None,
30715    ):
30716        self.data = data if data is not None else b''
30717        '''
30718         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
30719        '''
30720        self.events = events if events is not None else []
30721        '''
30722         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
30723         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
30724        '''
30725        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
30726        '''
30727         If the data is encrypted, this contains the encrypted symmetric key
30728        '''
data

The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.

events

The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty and the events can be obtained by decrypting the data using the QueryKey returned with the Query.

symmetric_key

If the data is encrypted, this contains the encrypted symmetric key

def to_dict(self)
30737    def to_dict(self):
30738        return {
30739            'data': self.data,
30740            'events': self.events,
30741            'symmetric_key': self.symmetric_key,
30742        }
@classmethod
def from_dict(cls, d)
30744    @classmethod
30745    def from_dict(cls, d):
30746        return cls(
30747            data=d.get('data'),
30748            events=d.get('events'),
30749            symmetric_key=d.get('symmetric_key'),
30750        )
class ReplayChunkEvent:
30753class ReplayChunkEvent:
30754    '''
30755         A ReplayChunkEvent represents a single event within a query replay.
30756     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
30757    '''
30758    __slots__ = [
30759        'data',
30760        'duration',
30761    ]
30762
30763    def __init__(
30764        self,
30765        data=None,
30766        duration=None,
30767    ):
30768        self.data = data if data is not None else b''
30769        '''
30770         The raw data of the ReplayChunkEvent.
30771        '''
30772        self.duration = duration if duration is not None else None
30773        '''
30774         The time duration over which the data in this ReplayChunkEvent was transferred.
30775        '''
30776
30777    def __repr__(self):
30778        return '<sdm.ReplayChunkEvent ' + \
30779            'data: ' + repr(self.data) + ' ' +\
30780            'duration: ' + repr(self.duration) + ' ' +\
30781            '>'
30782
30783    def to_dict(self):
30784        return {
30785            'data': self.data,
30786            'duration': self.duration,
30787        }
30788
30789    @classmethod
30790    def from_dict(cls, d):
30791        return cls(
30792            data=d.get('data'),
30793            duration=d.get('duration'),
30794        )

A ReplayChunkEvent represents a single event within a query replay. The timing information included in each ReplayChunkEvent may be used to replay a session in real time.

ReplayChunkEvent(data=None, duration=None)
30763    def __init__(
30764        self,
30765        data=None,
30766        duration=None,
30767    ):
30768        self.data = data if data is not None else b''
30769        '''
30770         The raw data of the ReplayChunkEvent.
30771        '''
30772        self.duration = duration if duration is not None else None
30773        '''
30774         The time duration over which the data in this ReplayChunkEvent was transferred.
30775        '''
data

The raw data of the ReplayChunkEvent.

duration

The time duration over which the data in this ReplayChunkEvent was transferred.

def to_dict(self)
30783    def to_dict(self):
30784        return {
30785            'data': self.data,
30786            'duration': self.duration,
30787        }
@classmethod
def from_dict(cls, d)
30789    @classmethod
30790    def from_dict(cls, d):
30791        return cls(
30792            data=d.get('data'),
30793            duration=d.get('duration'),
30794        )
class RequestableAccountEntitlement:
30797class RequestableAccountEntitlement:
30798    '''
30799         RequestableAccountEntitlement represents an individual resource that an Account is permitted to request access to.
30800    '''
30801    __slots__ = [
30802        'group_id',
30803        'mapped_identities',
30804        'origin_id',
30805        'resource_id',
30806    ]
30807
30808    def __init__(
30809        self,
30810        group_id=None,
30811        mapped_identities=None,
30812        origin_id=None,
30813        resource_id=None,
30814    ):
30815        self.group_id = group_id if group_id is not None else ''
30816        '''
30817         The unique identifier of the group associated with this entitlement, if any.
30818        '''
30819        self.mapped_identities = mapped_identities if mapped_identities is not None else None
30820        '''
30821         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
30822        '''
30823        self.origin_id = origin_id if origin_id is not None else ''
30824        '''
30825         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
30826        '''
30827        self.resource_id = resource_id if resource_id is not None else ''
30828        '''
30829         The unique identifier of the Resource to which access can be requested.
30830        '''
30831
30832    def __repr__(self):
30833        return '<sdm.RequestableAccountEntitlement ' + \
30834            'group_id: ' + repr(self.group_id) + ' ' +\
30835            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
30836            'origin_id: ' + repr(self.origin_id) + ' ' +\
30837            'resource_id: ' + repr(self.resource_id) + ' ' +\
30838            '>'
30839
30840    def to_dict(self):
30841        return {
30842            'group_id': self.group_id,
30843            'mapped_identities': self.mapped_identities,
30844            'origin_id': self.origin_id,
30845            'resource_id': self.resource_id,
30846        }
30847
30848    @classmethod
30849    def from_dict(cls, d):
30850        return cls(
30851            group_id=d.get('group_id'),
30852            mapped_identities=d.get('mapped_identities'),
30853            origin_id=d.get('origin_id'),
30854            resource_id=d.get('resource_id'),
30855        )

RequestableAccountEntitlement represents an individual resource that an Account is permitted to request access to.

RequestableAccountEntitlement( group_id=None, mapped_identities=None, origin_id=None, resource_id=None)
30808    def __init__(
30809        self,
30810        group_id=None,
30811        mapped_identities=None,
30812        origin_id=None,
30813        resource_id=None,
30814    ):
30815        self.group_id = group_id if group_id is not None else ''
30816        '''
30817         The unique identifier of the group associated with this entitlement, if any.
30818        '''
30819        self.mapped_identities = mapped_identities if mapped_identities is not None else None
30820        '''
30821         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
30822        '''
30823        self.origin_id = origin_id if origin_id is not None else ''
30824        '''
30825         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
30826        '''
30827        self.resource_id = resource_id if resource_id is not None else ''
30828        '''
30829         The unique identifier of the Resource to which access can be requested.
30830        '''
group_id

The unique identifier of the group associated with this entitlement, if any.

mapped_identities

The mapped identity privileges for this entitlement, such as Kubernetes group memberships.

origin_id

The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).

resource_id

The unique identifier of the Resource to which access can be requested.

def to_dict(self)
30840    def to_dict(self):
30841        return {
30842            'group_id': self.group_id,
30843            'mapped_identities': self.mapped_identities,
30844            'origin_id': self.origin_id,
30845            'resource_id': self.resource_id,
30846        }
@classmethod
def from_dict(cls, d)
30848    @classmethod
30849    def from_dict(cls, d):
30850        return cls(
30851            group_id=d.get('group_id'),
30852            mapped_identities=d.get('mapped_identities'),
30853            origin_id=d.get('origin_id'),
30854            resource_id=d.get('resource_id'),
30855        )
class RequestableResource:
30858class RequestableResource:
30859    '''
30860         RequestableResource is a resource that can be requested via an AccessRequestConfig
30861    '''
30862    __slots__ = [
30863        'access',
30864        'authentication',
30865        'healthy',
30866        'id',
30867        'name',
30868        'tags',
30869        'type',
30870    ]
30871
30872    def __init__(
30873        self,
30874        access=None,
30875        authentication=None,
30876        healthy=None,
30877        id=None,
30878        name=None,
30879        tags=None,
30880        type=None,
30881    ):
30882        self.access = access if access is not None else ''
30883        '''
30884         The current state of the user's access to the resources
30885        '''
30886        self.authentication = authentication if authentication is not None else ''
30887        '''
30888         The type of authentication for the resource
30889        '''
30890        self.healthy = healthy if healthy is not None else False
30891        '''
30892         The health check status of the reasource
30893        '''
30894        self.id = id if id is not None else ''
30895        '''
30896         The resource id.
30897        '''
30898        self.name = name if name is not None else ''
30899        '''
30900         The resource name.
30901        '''
30902        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30903        '''
30904         Any tags attached to this resource
30905        '''
30906        self.type = type if type is not None else ''
30907        '''
30908         The resource type
30909        '''
30910
30911    def __repr__(self):
30912        return '<sdm.RequestableResource ' + \
30913            'access: ' + repr(self.access) + ' ' +\
30914            'authentication: ' + repr(self.authentication) + ' ' +\
30915            'healthy: ' + repr(self.healthy) + ' ' +\
30916            'id: ' + repr(self.id) + ' ' +\
30917            'name: ' + repr(self.name) + ' ' +\
30918            'tags: ' + repr(self.tags) + ' ' +\
30919            'type: ' + repr(self.type) + ' ' +\
30920            '>'
30921
30922    def to_dict(self):
30923        return {
30924            'access': self.access,
30925            'authentication': self.authentication,
30926            'healthy': self.healthy,
30927            'id': self.id,
30928            'name': self.name,
30929            'tags': self.tags,
30930            'type': self.type,
30931        }
30932
30933    @classmethod
30934    def from_dict(cls, d):
30935        return cls(
30936            access=d.get('access'),
30937            authentication=d.get('authentication'),
30938            healthy=d.get('healthy'),
30939            id=d.get('id'),
30940            name=d.get('name'),
30941            tags=d.get('tags'),
30942            type=d.get('type'),
30943        )

RequestableResource is a resource that can be requested via an AccessRequestConfig

RequestableResource( access=None, authentication=None, healthy=None, id=None, name=None, tags=None, type=None)
30872    def __init__(
30873        self,
30874        access=None,
30875        authentication=None,
30876        healthy=None,
30877        id=None,
30878        name=None,
30879        tags=None,
30880        type=None,
30881    ):
30882        self.access = access if access is not None else ''
30883        '''
30884         The current state of the user's access to the resources
30885        '''
30886        self.authentication = authentication if authentication is not None else ''
30887        '''
30888         The type of authentication for the resource
30889        '''
30890        self.healthy = healthy if healthy is not None else False
30891        '''
30892         The health check status of the reasource
30893        '''
30894        self.id = id if id is not None else ''
30895        '''
30896         The resource id.
30897        '''
30898        self.name = name if name is not None else ''
30899        '''
30900         The resource name.
30901        '''
30902        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30903        '''
30904         Any tags attached to this resource
30905        '''
30906        self.type = type if type is not None else ''
30907        '''
30908         The resource type
30909        '''
access

The current state of the user's access to the resources

authentication

The type of authentication for the resource

healthy

The health check status of the reasource

id

The resource id.

name

The resource name.

tags

Any tags attached to this resource

type

The resource type

def to_dict(self)
30922    def to_dict(self):
30923        return {
30924            'access': self.access,
30925            'authentication': self.authentication,
30926            'healthy': self.healthy,
30927            'id': self.id,
30928            'name': self.name,
30929            'tags': self.tags,
30930            'type': self.type,
30931        }
@classmethod
def from_dict(cls, d)
30933    @classmethod
30934    def from_dict(cls, d):
30935        return cls(
30936            access=d.get('access'),
30937            authentication=d.get('authentication'),
30938            healthy=d.get('healthy'),
30939            id=d.get('id'),
30940            name=d.get('name'),
30941            tags=d.get('tags'),
30942            type=d.get('type'),
30943        )
class RequestableResourceEntitlement:
30946class RequestableResourceEntitlement:
30947    '''
30948         RequestableResourceEntitlement represents an individual account that is permitted to request access to a Resource.
30949    '''
30950    __slots__ = [
30951        'account_id',
30952        'group_id',
30953        'mapped_identities',
30954        'origin_id',
30955    ]
30956
30957    def __init__(
30958        self,
30959        account_id=None,
30960        group_id=None,
30961        mapped_identities=None,
30962        origin_id=None,
30963    ):
30964        self.account_id = account_id if account_id is not None else ''
30965        '''
30966         The unique identifier of the Account that can request access to this resource.
30967        '''
30968        self.group_id = group_id if group_id is not None else ''
30969        '''
30970         The unique identifier of the group associated with this entitlement, if any.
30971        '''
30972        self.mapped_identities = mapped_identities if mapped_identities is not None else None
30973        '''
30974         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
30975        '''
30976        self.origin_id = origin_id if origin_id is not None else ''
30977        '''
30978         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
30979        '''
30980
30981    def __repr__(self):
30982        return '<sdm.RequestableResourceEntitlement ' + \
30983            'account_id: ' + repr(self.account_id) + ' ' +\
30984            'group_id: ' + repr(self.group_id) + ' ' +\
30985            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
30986            'origin_id: ' + repr(self.origin_id) + ' ' +\
30987            '>'
30988
30989    def to_dict(self):
30990        return {
30991            'account_id': self.account_id,
30992            'group_id': self.group_id,
30993            'mapped_identities': self.mapped_identities,
30994            'origin_id': self.origin_id,
30995        }
30996
30997    @classmethod
30998    def from_dict(cls, d):
30999        return cls(
31000            account_id=d.get('account_id'),
31001            group_id=d.get('group_id'),
31002            mapped_identities=d.get('mapped_identities'),
31003            origin_id=d.get('origin_id'),
31004        )

RequestableResourceEntitlement represents an individual account that is permitted to request access to a Resource.

RequestableResourceEntitlement( account_id=None, group_id=None, mapped_identities=None, origin_id=None)
30957    def __init__(
30958        self,
30959        account_id=None,
30960        group_id=None,
30961        mapped_identities=None,
30962        origin_id=None,
30963    ):
30964        self.account_id = account_id if account_id is not None else ''
30965        '''
30966         The unique identifier of the Account that can request access to this resource.
30967        '''
30968        self.group_id = group_id if group_id is not None else ''
30969        '''
30970         The unique identifier of the group associated with this entitlement, if any.
30971        '''
30972        self.mapped_identities = mapped_identities if mapped_identities is not None else None
30973        '''
30974         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
30975        '''
30976        self.origin_id = origin_id if origin_id is not None else ''
30977        '''
30978         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
30979        '''
account_id

The unique identifier of the Account that can request access to this resource.

group_id

The unique identifier of the group associated with this entitlement, if any.

mapped_identities

The mapped identity privileges for this entitlement, such as Kubernetes group memberships.

origin_id

The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).

def to_dict(self)
30989    def to_dict(self):
30990        return {
30991            'account_id': self.account_id,
30992            'group_id': self.group_id,
30993            'mapped_identities': self.mapped_identities,
30994            'origin_id': self.origin_id,
30995        }
@classmethod
def from_dict(cls, d)
30997    @classmethod
30998    def from_dict(cls, d):
30999        return cls(
31000            account_id=d.get('account_id'),
31001            group_id=d.get('group_id'),
31002            mapped_identities=d.get('mapped_identities'),
31003            origin_id=d.get('origin_id'),
31004        )
class RequestableRoleEntitlement:
31007class RequestableRoleEntitlement:
31008    '''
31009         RequestableRoleEntitlement represents an individual resource that a Role permits its members to request access to.
31010    '''
31011    __slots__ = [
31012        'group_id',
31013        'mapped_identities',
31014        'origin_id',
31015        'resource_id',
31016    ]
31017
31018    def __init__(
31019        self,
31020        group_id=None,
31021        mapped_identities=None,
31022        origin_id=None,
31023        resource_id=None,
31024    ):
31025        self.group_id = group_id if group_id is not None else ''
31026        '''
31027         The unique identifier of the group associated with this entitlement, if any.
31028        '''
31029        self.mapped_identities = mapped_identities if mapped_identities is not None else None
31030        '''
31031         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
31032        '''
31033        self.origin_id = origin_id if origin_id is not None else ''
31034        '''
31035         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
31036        '''
31037        self.resource_id = resource_id if resource_id is not None else ''
31038        '''
31039         The unique identifier of the Resource to which access can be requested through this role.
31040        '''
31041
31042    def __repr__(self):
31043        return '<sdm.RequestableRoleEntitlement ' + \
31044            'group_id: ' + repr(self.group_id) + ' ' +\
31045            'mapped_identities: ' + repr(self.mapped_identities) + ' ' +\
31046            'origin_id: ' + repr(self.origin_id) + ' ' +\
31047            'resource_id: ' + repr(self.resource_id) + ' ' +\
31048            '>'
31049
31050    def to_dict(self):
31051        return {
31052            'group_id': self.group_id,
31053            'mapped_identities': self.mapped_identities,
31054            'origin_id': self.origin_id,
31055            'resource_id': self.resource_id,
31056        }
31057
31058    @classmethod
31059    def from_dict(cls, d):
31060        return cls(
31061            group_id=d.get('group_id'),
31062            mapped_identities=d.get('mapped_identities'),
31063            origin_id=d.get('origin_id'),
31064            resource_id=d.get('resource_id'),
31065        )

RequestableRoleEntitlement represents an individual resource that a Role permits its members to request access to.

RequestableRoleEntitlement( group_id=None, mapped_identities=None, origin_id=None, resource_id=None)
31018    def __init__(
31019        self,
31020        group_id=None,
31021        mapped_identities=None,
31022        origin_id=None,
31023        resource_id=None,
31024    ):
31025        self.group_id = group_id if group_id is not None else ''
31026        '''
31027         The unique identifier of the group associated with this entitlement, if any.
31028        '''
31029        self.mapped_identities = mapped_identities if mapped_identities is not None else None
31030        '''
31031         The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
31032        '''
31033        self.origin_id = origin_id if origin_id is not None else ''
31034        '''
31035         The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).
31036        '''
31037        self.resource_id = resource_id if resource_id is not None else ''
31038        '''
31039         The unique identifier of the Resource to which access can be requested through this role.
31040        '''
group_id

The unique identifier of the group associated with this entitlement, if any.

mapped_identities

The mapped identity privileges for this entitlement, such as Kubernetes group memberships.

origin_id

The unique identifier of the origin of this entitlement (e.g., an Access Workflow ID).

resource_id

The unique identifier of the Resource to which access can be requested through this role.

def to_dict(self)
31050    def to_dict(self):
31051        return {
31052            'group_id': self.group_id,
31053            'mapped_identities': self.mapped_identities,
31054            'origin_id': self.origin_id,
31055            'resource_id': self.resource_id,
31056        }
@classmethod
def from_dict(cls, d)
31058    @classmethod
31059    def from_dict(cls, d):
31060        return cls(
31061            group_id=d.get('group_id'),
31062            mapped_identities=d.get('mapped_identities'),
31063            origin_id=d.get('origin_id'),
31064            resource_id=d.get('resource_id'),
31065        )
class ResourceCreateResponse:
31068class ResourceCreateResponse:
31069    '''
31070         ResourceCreateResponse reports how the Resources were created in the system.
31071    '''
31072    __slots__ = [
31073        'meta',
31074        'rate_limit',
31075        'resource',
31076    ]
31077
31078    def __init__(
31079        self,
31080        meta=None,
31081        rate_limit=None,
31082        resource=None,
31083    ):
31084        self.meta = meta if meta is not None else None
31085        '''
31086         Reserved for future use.
31087        '''
31088        self.rate_limit = rate_limit if rate_limit is not None else None
31089        '''
31090         Rate limit information.
31091        '''
31092        self.resource = resource if resource is not None else None
31093        '''
31094         The created Resource.
31095        '''
31096
31097    def __repr__(self):
31098        return '<sdm.ResourceCreateResponse ' + \
31099            'meta: ' + repr(self.meta) + ' ' +\
31100            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31101            'resource: ' + repr(self.resource) + ' ' +\
31102            '>'
31103
31104    def to_dict(self):
31105        return {
31106            'meta': self.meta,
31107            'rate_limit': self.rate_limit,
31108            'resource': self.resource,
31109        }
31110
31111    @classmethod
31112    def from_dict(cls, d):
31113        return cls(
31114            meta=d.get('meta'),
31115            rate_limit=d.get('rate_limit'),
31116            resource=d.get('resource'),
31117        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
31078    def __init__(
31079        self,
31080        meta=None,
31081        rate_limit=None,
31082        resource=None,
31083    ):
31084        self.meta = meta if meta is not None else None
31085        '''
31086         Reserved for future use.
31087        '''
31088        self.rate_limit = rate_limit if rate_limit is not None else None
31089        '''
31090         Rate limit information.
31091        '''
31092        self.resource = resource if resource is not None else None
31093        '''
31094         The created Resource.
31095        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
31104    def to_dict(self):
31105        return {
31106            'meta': self.meta,
31107            'rate_limit': self.rate_limit,
31108            'resource': self.resource,
31109        }
@classmethod
def from_dict(cls, d)
31111    @classmethod
31112    def from_dict(cls, d):
31113        return cls(
31114            meta=d.get('meta'),
31115            rate_limit=d.get('rate_limit'),
31116            resource=d.get('resource'),
31117        )
class ResourceDeleteResponse:
31120class ResourceDeleteResponse:
31121    '''
31122         ResourceDeleteResponse returns information about a Resource that was deleted.
31123    '''
31124    __slots__ = [
31125        'meta',
31126        'rate_limit',
31127    ]
31128
31129    def __init__(
31130        self,
31131        meta=None,
31132        rate_limit=None,
31133    ):
31134        self.meta = meta if meta is not None else None
31135        '''
31136         Reserved for future use.
31137        '''
31138        self.rate_limit = rate_limit if rate_limit is not None else None
31139        '''
31140         Rate limit information.
31141        '''
31142
31143    def __repr__(self):
31144        return '<sdm.ResourceDeleteResponse ' + \
31145            'meta: ' + repr(self.meta) + ' ' +\
31146            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31147            '>'
31148
31149    def to_dict(self):
31150        return {
31151            'meta': self.meta,
31152            'rate_limit': self.rate_limit,
31153        }
31154
31155    @classmethod
31156    def from_dict(cls, d):
31157        return cls(
31158            meta=d.get('meta'),
31159            rate_limit=d.get('rate_limit'),
31160        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
31129    def __init__(
31130        self,
31131        meta=None,
31132        rate_limit=None,
31133    ):
31134        self.meta = meta if meta is not None else None
31135        '''
31136         Reserved for future use.
31137        '''
31138        self.rate_limit = rate_limit if rate_limit is not None else None
31139        '''
31140         Rate limit information.
31141        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
31149    def to_dict(self):
31150        return {
31151            'meta': self.meta,
31152            'rate_limit': self.rate_limit,
31153        }
@classmethod
def from_dict(cls, d)
31155    @classmethod
31156    def from_dict(cls, d):
31157        return cls(
31158            meta=d.get('meta'),
31159            rate_limit=d.get('rate_limit'),
31160        )
class ResourceGetResponse:
31163class ResourceGetResponse:
31164    '''
31165         ResourceGetResponse returns a requested Resource.
31166    '''
31167    __slots__ = [
31168        'meta',
31169        'rate_limit',
31170        'resource',
31171    ]
31172
31173    def __init__(
31174        self,
31175        meta=None,
31176        rate_limit=None,
31177        resource=None,
31178    ):
31179        self.meta = meta if meta is not None else None
31180        '''
31181         Reserved for future use.
31182        '''
31183        self.rate_limit = rate_limit if rate_limit is not None else None
31184        '''
31185         Rate limit information.
31186        '''
31187        self.resource = resource if resource is not None else None
31188        '''
31189         The requested Resource.
31190        '''
31191
31192    def __repr__(self):
31193        return '<sdm.ResourceGetResponse ' + \
31194            'meta: ' + repr(self.meta) + ' ' +\
31195            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31196            'resource: ' + repr(self.resource) + ' ' +\
31197            '>'
31198
31199    def to_dict(self):
31200        return {
31201            'meta': self.meta,
31202            'rate_limit': self.rate_limit,
31203            'resource': self.resource,
31204        }
31205
31206    @classmethod
31207    def from_dict(cls, d):
31208        return cls(
31209            meta=d.get('meta'),
31210            rate_limit=d.get('rate_limit'),
31211            resource=d.get('resource'),
31212        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
31173    def __init__(
31174        self,
31175        meta=None,
31176        rate_limit=None,
31177        resource=None,
31178    ):
31179        self.meta = meta if meta is not None else None
31180        '''
31181         Reserved for future use.
31182        '''
31183        self.rate_limit = rate_limit if rate_limit is not None else None
31184        '''
31185         Rate limit information.
31186        '''
31187        self.resource = resource if resource is not None else None
31188        '''
31189         The requested Resource.
31190        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
31199    def to_dict(self):
31200        return {
31201            'meta': self.meta,
31202            'rate_limit': self.rate_limit,
31203            'resource': self.resource,
31204        }
@classmethod
def from_dict(cls, d)
31206    @classmethod
31207    def from_dict(cls, d):
31208        return cls(
31209            meta=d.get('meta'),
31210            rate_limit=d.get('rate_limit'),
31211            resource=d.get('resource'),
31212        )
class ResourceHealthcheckRequest:
31215class ResourceHealthcheckRequest:
31216    '''
31217         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
31218    '''
31219    __slots__ = [
31220        'id',
31221    ]
31222
31223    def __init__(
31224        self,
31225        id=None,
31226    ):
31227        self.id = id if id is not None else ''
31228        '''
31229         The unique identifier of the Resource to healthcheck.
31230        '''
31231
31232    def __repr__(self):
31233        return '<sdm.ResourceHealthcheckRequest ' + \
31234            'id: ' + repr(self.id) + ' ' +\
31235            '>'
31236
31237    def to_dict(self):
31238        return {
31239            'id': self.id,
31240        }
31241
31242    @classmethod
31243    def from_dict(cls, d):
31244        return cls(id=d.get('id'), )

ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.

ResourceHealthcheckRequest(id=None)
31223    def __init__(
31224        self,
31225        id=None,
31226    ):
31227        self.id = id if id is not None else ''
31228        '''
31229         The unique identifier of the Resource to healthcheck.
31230        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
31237    def to_dict(self):
31238        return {
31239            'id': self.id,
31240        }
@classmethod
def from_dict(cls, d)
31242    @classmethod
31243    def from_dict(cls, d):
31244        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
31247class ResourceHealthcheckResponse:
31248    '''
31249         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
31250     Healthchecks are non blocking, and this contains no non-metadata.
31251    '''
31252    __slots__ = [
31253        'meta',
31254        'rate_limit',
31255    ]
31256
31257    def __init__(
31258        self,
31259        meta=None,
31260        rate_limit=None,
31261    ):
31262        self.meta = meta if meta is not None else None
31263        '''
31264         Reserved for future use.
31265        '''
31266        self.rate_limit = rate_limit if rate_limit is not None else None
31267        '''
31268         Rate limit information.
31269        '''
31270
31271    def __repr__(self):
31272        return '<sdm.ResourceHealthcheckResponse ' + \
31273            'meta: ' + repr(self.meta) + ' ' +\
31274            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31275            '>'
31276
31277    def to_dict(self):
31278        return {
31279            'meta': self.meta,
31280            'rate_limit': self.rate_limit,
31281        }
31282
31283    @classmethod
31284    def from_dict(cls, d):
31285        return cls(
31286            meta=d.get('meta'),
31287            rate_limit=d.get('rate_limit'),
31288        )

ResourceHealthcheckResponse reports any metadata concerning a healthcheck response. Healthchecks are non blocking, and this contains no non-metadata.

ResourceHealthcheckResponse(meta=None, rate_limit=None)
31257    def __init__(
31258        self,
31259        meta=None,
31260        rate_limit=None,
31261    ):
31262        self.meta = meta if meta is not None else None
31263        '''
31264         Reserved for future use.
31265        '''
31266        self.rate_limit = rate_limit if rate_limit is not None else None
31267        '''
31268         Rate limit information.
31269        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
31277    def to_dict(self):
31278        return {
31279            'meta': self.meta,
31280            'rate_limit': self.rate_limit,
31281        }
@classmethod
def from_dict(cls, d)
31283    @classmethod
31284    def from_dict(cls, d):
31285        return cls(
31286            meta=d.get('meta'),
31287            rate_limit=d.get('rate_limit'),
31288        )
class ResourceHistory:
31291class ResourceHistory:
31292    '''
31293         ResourceHistory records the state of a Resource at a given point in time,
31294     where every change (create, update and delete) to a Resource produces an
31295     ResourceHistory record.
31296    '''
31297    __slots__ = [
31298        'activity_id',
31299        'deleted_at',
31300        'resource',
31301        'timestamp',
31302    ]
31303
31304    def __init__(
31305        self,
31306        activity_id=None,
31307        deleted_at=None,
31308        resource=None,
31309        timestamp=None,
31310    ):
31311        self.activity_id = activity_id if activity_id is not None else ''
31312        '''
31313         The unique identifier of the Activity that produced this change to the Resource.
31314         May be empty for some system-initiated updates.
31315        '''
31316        self.deleted_at = deleted_at if deleted_at is not None else None
31317        '''
31318         If this Resource was deleted, the time it was deleted.
31319        '''
31320        self.resource = resource if resource is not None else None
31321        '''
31322         The complete Resource state at this time.
31323        '''
31324        self.timestamp = timestamp if timestamp is not None else None
31325        '''
31326         The time at which the Resource state was recorded.
31327        '''
31328
31329    def __repr__(self):
31330        return '<sdm.ResourceHistory ' + \
31331            'activity_id: ' + repr(self.activity_id) + ' ' +\
31332            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31333            'resource: ' + repr(self.resource) + ' ' +\
31334            'timestamp: ' + repr(self.timestamp) + ' ' +\
31335            '>'
31336
31337    def to_dict(self):
31338        return {
31339            'activity_id': self.activity_id,
31340            'deleted_at': self.deleted_at,
31341            'resource': self.resource,
31342            'timestamp': self.timestamp,
31343        }
31344
31345    @classmethod
31346    def from_dict(cls, d):
31347        return cls(
31348            activity_id=d.get('activity_id'),
31349            deleted_at=d.get('deleted_at'),
31350            resource=d.get('resource'),
31351            timestamp=d.get('timestamp'),
31352        )

ResourceHistory records the state of a Resource at a given point in time, where every change (create, update and delete) to a Resource produces an ResourceHistory record.

ResourceHistory(activity_id=None, deleted_at=None, resource=None, timestamp=None)
31304    def __init__(
31305        self,
31306        activity_id=None,
31307        deleted_at=None,
31308        resource=None,
31309        timestamp=None,
31310    ):
31311        self.activity_id = activity_id if activity_id is not None else ''
31312        '''
31313         The unique identifier of the Activity that produced this change to the Resource.
31314         May be empty for some system-initiated updates.
31315        '''
31316        self.deleted_at = deleted_at if deleted_at is not None else None
31317        '''
31318         If this Resource was deleted, the time it was deleted.
31319        '''
31320        self.resource = resource if resource is not None else None
31321        '''
31322         The complete Resource state at this time.
31323        '''
31324        self.timestamp = timestamp if timestamp is not None else None
31325        '''
31326         The time at which the Resource state was recorded.
31327        '''
activity_id

The unique identifier of the Activity that produced this change to the Resource. May be empty for some system-initiated updates.

deleted_at

If this Resource was deleted, the time it was deleted.

resource

The complete Resource state at this time.

timestamp

The time at which the Resource state was recorded.

def to_dict(self)
31337    def to_dict(self):
31338        return {
31339            'activity_id': self.activity_id,
31340            'deleted_at': self.deleted_at,
31341            'resource': self.resource,
31342            'timestamp': self.timestamp,
31343        }
@classmethod
def from_dict(cls, d)
31345    @classmethod
31346    def from_dict(cls, d):
31347        return cls(
31348            activity_id=d.get('activity_id'),
31349            deleted_at=d.get('deleted_at'),
31350            resource=d.get('resource'),
31351            timestamp=d.get('timestamp'),
31352        )
class ResourceUpdateResponse:
31355class ResourceUpdateResponse:
31356    '''
31357         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
31358     a ResourceUpdateRequest.
31359    '''
31360    __slots__ = [
31361        'meta',
31362        'rate_limit',
31363        'resource',
31364    ]
31365
31366    def __init__(
31367        self,
31368        meta=None,
31369        rate_limit=None,
31370        resource=None,
31371    ):
31372        self.meta = meta if meta is not None else None
31373        '''
31374         Reserved for future use.
31375        '''
31376        self.rate_limit = rate_limit if rate_limit is not None else None
31377        '''
31378         Rate limit information.
31379        '''
31380        self.resource = resource if resource is not None else None
31381        '''
31382         The updated Resource.
31383        '''
31384
31385    def __repr__(self):
31386        return '<sdm.ResourceUpdateResponse ' + \
31387            'meta: ' + repr(self.meta) + ' ' +\
31388            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31389            'resource: ' + repr(self.resource) + ' ' +\
31390            '>'
31391
31392    def to_dict(self):
31393        return {
31394            'meta': self.meta,
31395            'rate_limit': self.rate_limit,
31396            'resource': self.resource,
31397        }
31398
31399    @classmethod
31400    def from_dict(cls, d):
31401        return cls(
31402            meta=d.get('meta'),
31403            rate_limit=d.get('rate_limit'),
31404            resource=d.get('resource'),
31405        )

ResourceUpdateResponse returns the fields of a Resource after it has been updated by a ResourceUpdateRequest.

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
31366    def __init__(
31367        self,
31368        meta=None,
31369        rate_limit=None,
31370        resource=None,
31371    ):
31372        self.meta = meta if meta is not None else None
31373        '''
31374         Reserved for future use.
31375        '''
31376        self.rate_limit = rate_limit if rate_limit is not None else None
31377        '''
31378         Rate limit information.
31379        '''
31380        self.resource = resource if resource is not None else None
31381        '''
31382         The updated Resource.
31383        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
31392    def to_dict(self):
31393        return {
31394            'meta': self.meta,
31395            'rate_limit': self.rate_limit,
31396            'resource': self.resource,
31397        }
@classmethod
def from_dict(cls, d)
31399    @classmethod
31400    def from_dict(cls, d):
31401        return cls(
31402            meta=d.get('meta'),
31403            rate_limit=d.get('rate_limit'),
31404            resource=d.get('resource'),
31405        )
class Role:
31408class Role:
31409    '''
31410         A Role has a list of access rules which determine which Resources the members
31411     of the Role have access to. An Account can be a member of multiple Roles via
31412     AccountAttachments.
31413    '''
31414    __slots__ = [
31415        'access_rules',
31416        'id',
31417        'managed_by',
31418        'name',
31419        'tags',
31420    ]
31421
31422    def __init__(
31423        self,
31424        access_rules=None,
31425        id=None,
31426        managed_by=None,
31427        name=None,
31428        tags=None,
31429    ):
31430        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31431        )
31432        '''
31433         AccessRules is a list of access rules defining the resources this Role has access to.
31434        '''
31435        self.id = id if id is not None else ''
31436        '''
31437         Unique identifier of the Role.
31438        '''
31439        self.managed_by = managed_by if managed_by is not None else ''
31440        '''
31441         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
31442        '''
31443        self.name = name if name is not None else ''
31444        '''
31445         Unique human-readable name of the Role.
31446        '''
31447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31448        '''
31449         Tags is a map of key, value pairs.
31450        '''
31451
31452    def __repr__(self):
31453        return '<sdm.Role ' + \
31454            'access_rules: ' + repr(self.access_rules) + ' ' +\
31455            'id: ' + repr(self.id) + ' ' +\
31456            'managed_by: ' + repr(self.managed_by) + ' ' +\
31457            'name: ' + repr(self.name) + ' ' +\
31458            'tags: ' + repr(self.tags) + ' ' +\
31459            '>'
31460
31461    def to_dict(self):
31462        return {
31463            'access_rules': self.access_rules,
31464            'id': self.id,
31465            'managed_by': self.managed_by,
31466            'name': self.name,
31467            'tags': self.tags,
31468        }
31469
31470    @classmethod
31471    def from_dict(cls, d):
31472        return cls(
31473            access_rules=d.get('access_rules'),
31474            id=d.get('id'),
31475            managed_by=d.get('managed_by'),
31476            name=d.get('name'),
31477            tags=d.get('tags'),
31478        )

A Role has a list of access rules which determine which Resources the members of the Role have access to. An Account can be a member of multiple Roles via AccountAttachments.

Role(access_rules=None, id=None, managed_by=None, name=None, tags=None)
31422    def __init__(
31423        self,
31424        access_rules=None,
31425        id=None,
31426        managed_by=None,
31427        name=None,
31428        tags=None,
31429    ):
31430        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31431        )
31432        '''
31433         AccessRules is a list of access rules defining the resources this Role has access to.
31434        '''
31435        self.id = id if id is not None else ''
31436        '''
31437         Unique identifier of the Role.
31438        '''
31439        self.managed_by = managed_by if managed_by is not None else ''
31440        '''
31441         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
31442        '''
31443        self.name = name if name is not None else ''
31444        '''
31445         Unique human-readable name of the Role.
31446        '''
31447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31448        '''
31449         Tags is a map of key, value pairs.
31450        '''
access_rules

AccessRules is a list of access rules defining the resources this Role has access to.

id

Unique identifier of the Role.

managed_by

Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.

name

Unique human-readable name of the Role.

tags

Tags is a map of key, value pairs.

def to_dict(self)
31461    def to_dict(self):
31462        return {
31463            'access_rules': self.access_rules,
31464            'id': self.id,
31465            'managed_by': self.managed_by,
31466            'name': self.name,
31467            'tags': self.tags,
31468        }
@classmethod
def from_dict(cls, d)
31470    @classmethod
31471    def from_dict(cls, d):
31472        return cls(
31473            access_rules=d.get('access_rules'),
31474            id=d.get('id'),
31475            managed_by=d.get('managed_by'),
31476            name=d.get('name'),
31477            tags=d.get('tags'),
31478        )
class RoleCreateResponse:
31481class RoleCreateResponse:
31482    '''
31483         RoleCreateResponse reports how the Roles were created in the system. It can
31484     communicate partial successes or failures.
31485    '''
31486    __slots__ = [
31487        'meta',
31488        'rate_limit',
31489        'role',
31490    ]
31491
31492    def __init__(
31493        self,
31494        meta=None,
31495        rate_limit=None,
31496        role=None,
31497    ):
31498        self.meta = meta if meta is not None else None
31499        '''
31500         Reserved for future use.
31501        '''
31502        self.rate_limit = rate_limit if rate_limit is not None else None
31503        '''
31504         Rate limit information.
31505        '''
31506        self.role = role if role is not None else None
31507        '''
31508         The created Role.
31509        '''
31510
31511    def __repr__(self):
31512        return '<sdm.RoleCreateResponse ' + \
31513            'meta: ' + repr(self.meta) + ' ' +\
31514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31515            'role: ' + repr(self.role) + ' ' +\
31516            '>'
31517
31518    def to_dict(self):
31519        return {
31520            'meta': self.meta,
31521            'rate_limit': self.rate_limit,
31522            'role': self.role,
31523        }
31524
31525    @classmethod
31526    def from_dict(cls, d):
31527        return cls(
31528            meta=d.get('meta'),
31529            rate_limit=d.get('rate_limit'),
31530            role=d.get('role'),
31531        )

RoleCreateResponse reports how the Roles were created in the system. It can communicate partial successes or failures.

RoleCreateResponse(meta=None, rate_limit=None, role=None)
31492    def __init__(
31493        self,
31494        meta=None,
31495        rate_limit=None,
31496        role=None,
31497    ):
31498        self.meta = meta if meta is not None else None
31499        '''
31500         Reserved for future use.
31501        '''
31502        self.rate_limit = rate_limit if rate_limit is not None else None
31503        '''
31504         Rate limit information.
31505        '''
31506        self.role = role if role is not None else None
31507        '''
31508         The created Role.
31509        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
31518    def to_dict(self):
31519        return {
31520            'meta': self.meta,
31521            'rate_limit': self.rate_limit,
31522            'role': self.role,
31523        }
@classmethod
def from_dict(cls, d)
31525    @classmethod
31526    def from_dict(cls, d):
31527        return cls(
31528            meta=d.get('meta'),
31529            rate_limit=d.get('rate_limit'),
31530            role=d.get('role'),
31531        )
class RoleDeleteResponse:
31534class RoleDeleteResponse:
31535    '''
31536         RoleDeleteResponse returns information about a Role that was deleted.
31537    '''
31538    __slots__ = [
31539        'meta',
31540        'rate_limit',
31541    ]
31542
31543    def __init__(
31544        self,
31545        meta=None,
31546        rate_limit=None,
31547    ):
31548        self.meta = meta if meta is not None else None
31549        '''
31550         Reserved for future use.
31551        '''
31552        self.rate_limit = rate_limit if rate_limit is not None else None
31553        '''
31554         Rate limit information.
31555        '''
31556
31557    def __repr__(self):
31558        return '<sdm.RoleDeleteResponse ' + \
31559            'meta: ' + repr(self.meta) + ' ' +\
31560            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31561            '>'
31562
31563    def to_dict(self):
31564        return {
31565            'meta': self.meta,
31566            'rate_limit': self.rate_limit,
31567        }
31568
31569    @classmethod
31570    def from_dict(cls, d):
31571        return cls(
31572            meta=d.get('meta'),
31573            rate_limit=d.get('rate_limit'),
31574        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
31543    def __init__(
31544        self,
31545        meta=None,
31546        rate_limit=None,
31547    ):
31548        self.meta = meta if meta is not None else None
31549        '''
31550         Reserved for future use.
31551        '''
31552        self.rate_limit = rate_limit if rate_limit is not None else None
31553        '''
31554         Rate limit information.
31555        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
31563    def to_dict(self):
31564        return {
31565            'meta': self.meta,
31566            'rate_limit': self.rate_limit,
31567        }
@classmethod
def from_dict(cls, d)
31569    @classmethod
31570    def from_dict(cls, d):
31571        return cls(
31572            meta=d.get('meta'),
31573            rate_limit=d.get('rate_limit'),
31574        )
class RoleGetResponse:
31577class RoleGetResponse:
31578    '''
31579         RoleGetResponse returns a requested Role.
31580    '''
31581    __slots__ = [
31582        'meta',
31583        'rate_limit',
31584        'role',
31585    ]
31586
31587    def __init__(
31588        self,
31589        meta=None,
31590        rate_limit=None,
31591        role=None,
31592    ):
31593        self.meta = meta if meta is not None else None
31594        '''
31595         Reserved for future use.
31596        '''
31597        self.rate_limit = rate_limit if rate_limit is not None else None
31598        '''
31599         Rate limit information.
31600        '''
31601        self.role = role if role is not None else None
31602        '''
31603         The requested Role.
31604        '''
31605
31606    def __repr__(self):
31607        return '<sdm.RoleGetResponse ' + \
31608            'meta: ' + repr(self.meta) + ' ' +\
31609            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31610            'role: ' + repr(self.role) + ' ' +\
31611            '>'
31612
31613    def to_dict(self):
31614        return {
31615            'meta': self.meta,
31616            'rate_limit': self.rate_limit,
31617            'role': self.role,
31618        }
31619
31620    @classmethod
31621    def from_dict(cls, d):
31622        return cls(
31623            meta=d.get('meta'),
31624            rate_limit=d.get('rate_limit'),
31625            role=d.get('role'),
31626        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
31587    def __init__(
31588        self,
31589        meta=None,
31590        rate_limit=None,
31591        role=None,
31592    ):
31593        self.meta = meta if meta is not None else None
31594        '''
31595         Reserved for future use.
31596        '''
31597        self.rate_limit = rate_limit if rate_limit is not None else None
31598        '''
31599         Rate limit information.
31600        '''
31601        self.role = role if role is not None else None
31602        '''
31603         The requested Role.
31604        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
31613    def to_dict(self):
31614        return {
31615            'meta': self.meta,
31616            'rate_limit': self.rate_limit,
31617            'role': self.role,
31618        }
@classmethod
def from_dict(cls, d)
31620    @classmethod
31621    def from_dict(cls, d):
31622        return cls(
31623            meta=d.get('meta'),
31624            rate_limit=d.get('rate_limit'),
31625            role=d.get('role'),
31626        )
class RoleHistory:
31629class RoleHistory:
31630    '''
31631         RoleHistory records the state of a Role at a given point in time,
31632     where every change (create, update and delete) to a Role produces an
31633     RoleHistory record.
31634    '''
31635    __slots__ = [
31636        'activity_id',
31637        'deleted_at',
31638        'role',
31639        'timestamp',
31640    ]
31641
31642    def __init__(
31643        self,
31644        activity_id=None,
31645        deleted_at=None,
31646        role=None,
31647        timestamp=None,
31648    ):
31649        self.activity_id = activity_id if activity_id is not None else ''
31650        '''
31651         The unique identifier of the Activity that produced this change to the Role.
31652         May be empty for some system-initiated updates.
31653        '''
31654        self.deleted_at = deleted_at if deleted_at is not None else None
31655        '''
31656         If this Role was deleted, the time it was deleted.
31657        '''
31658        self.role = role if role is not None else None
31659        '''
31660         The complete Role state at this time.
31661        '''
31662        self.timestamp = timestamp if timestamp is not None else None
31663        '''
31664         The time at which the Role state was recorded.
31665        '''
31666
31667    def __repr__(self):
31668        return '<sdm.RoleHistory ' + \
31669            'activity_id: ' + repr(self.activity_id) + ' ' +\
31670            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31671            'role: ' + repr(self.role) + ' ' +\
31672            'timestamp: ' + repr(self.timestamp) + ' ' +\
31673            '>'
31674
31675    def to_dict(self):
31676        return {
31677            'activity_id': self.activity_id,
31678            'deleted_at': self.deleted_at,
31679            'role': self.role,
31680            'timestamp': self.timestamp,
31681        }
31682
31683    @classmethod
31684    def from_dict(cls, d):
31685        return cls(
31686            activity_id=d.get('activity_id'),
31687            deleted_at=d.get('deleted_at'),
31688            role=d.get('role'),
31689            timestamp=d.get('timestamp'),
31690        )

RoleHistory records the state of a Role at a given point in time, where every change (create, update and delete) to a Role produces an RoleHistory record.

RoleHistory(activity_id=None, deleted_at=None, role=None, timestamp=None)
31642    def __init__(
31643        self,
31644        activity_id=None,
31645        deleted_at=None,
31646        role=None,
31647        timestamp=None,
31648    ):
31649        self.activity_id = activity_id if activity_id is not None else ''
31650        '''
31651         The unique identifier of the Activity that produced this change to the Role.
31652         May be empty for some system-initiated updates.
31653        '''
31654        self.deleted_at = deleted_at if deleted_at is not None else None
31655        '''
31656         If this Role was deleted, the time it was deleted.
31657        '''
31658        self.role = role if role is not None else None
31659        '''
31660         The complete Role state at this time.
31661        '''
31662        self.timestamp = timestamp if timestamp is not None else None
31663        '''
31664         The time at which the Role state was recorded.
31665        '''
activity_id

The unique identifier of the Activity that produced this change to the Role. May be empty for some system-initiated updates.

deleted_at

If this Role was deleted, the time it was deleted.

role

The complete Role state at this time.

timestamp

The time at which the Role state was recorded.

def to_dict(self)
31675    def to_dict(self):
31676        return {
31677            'activity_id': self.activity_id,
31678            'deleted_at': self.deleted_at,
31679            'role': self.role,
31680            'timestamp': self.timestamp,
31681        }
@classmethod
def from_dict(cls, d)
31683    @classmethod
31684    def from_dict(cls, d):
31685        return cls(
31686            activity_id=d.get('activity_id'),
31687            deleted_at=d.get('deleted_at'),
31688            role=d.get('role'),
31689            timestamp=d.get('timestamp'),
31690        )
class RoleResource:
31693class RoleResource:
31694    '''
31695         RoleResource represents an individual access grant of a Role to a Resource.
31696    '''
31697    __slots__ = [
31698        'granted_at',
31699        'resource_id',
31700        'role_id',
31701    ]
31702
31703    def __init__(
31704        self,
31705        granted_at=None,
31706        resource_id=None,
31707        role_id=None,
31708    ):
31709        self.granted_at = granted_at if granted_at is not None else None
31710        '''
31711         The most recent time at which access was granted. If access was granted,
31712         revoked, and granted again, this will reflect the later time.
31713        '''
31714        self.resource_id = resource_id if resource_id is not None else ''
31715        '''
31716         The unique identifier of the Resource to which access is granted.
31717        '''
31718        self.role_id = role_id if role_id is not None else ''
31719        '''
31720         The unique identifier of the Role to which access is granted.
31721        '''
31722
31723    def __repr__(self):
31724        return '<sdm.RoleResource ' + \
31725            'granted_at: ' + repr(self.granted_at) + ' ' +\
31726            'resource_id: ' + repr(self.resource_id) + ' ' +\
31727            'role_id: ' + repr(self.role_id) + ' ' +\
31728            '>'
31729
31730    def to_dict(self):
31731        return {
31732            'granted_at': self.granted_at,
31733            'resource_id': self.resource_id,
31734            'role_id': self.role_id,
31735        }
31736
31737    @classmethod
31738    def from_dict(cls, d):
31739        return cls(
31740            granted_at=d.get('granted_at'),
31741            resource_id=d.get('resource_id'),
31742            role_id=d.get('role_id'),
31743        )

RoleResource represents an individual access grant of a Role to a Resource.

RoleResource(granted_at=None, resource_id=None, role_id=None)
31703    def __init__(
31704        self,
31705        granted_at=None,
31706        resource_id=None,
31707        role_id=None,
31708    ):
31709        self.granted_at = granted_at if granted_at is not None else None
31710        '''
31711         The most recent time at which access was granted. If access was granted,
31712         revoked, and granted again, this will reflect the later time.
31713        '''
31714        self.resource_id = resource_id if resource_id is not None else ''
31715        '''
31716         The unique identifier of the Resource to which access is granted.
31717        '''
31718        self.role_id = role_id if role_id is not None else ''
31719        '''
31720         The unique identifier of the Role to which access is granted.
31721        '''
granted_at

The most recent time at which access was granted. If access was granted, revoked, and granted again, this will reflect the later time.

resource_id

The unique identifier of the Resource to which access is granted.

role_id

The unique identifier of the Role to which access is granted.

def to_dict(self)
31730    def to_dict(self):
31731        return {
31732            'granted_at': self.granted_at,
31733            'resource_id': self.resource_id,
31734            'role_id': self.role_id,
31735        }
@classmethod
def from_dict(cls, d)
31737    @classmethod
31738    def from_dict(cls, d):
31739        return cls(
31740            granted_at=d.get('granted_at'),
31741            resource_id=d.get('resource_id'),
31742            role_id=d.get('role_id'),
31743        )
class RoleResourceHistory:
31746class RoleResourceHistory:
31747    '''
31748         RoleResourceHistory records the state of a RoleResource at a given point in time,
31749     where every change (create or delete) to a RoleResource produces an
31750     RoleResourceHistory record.
31751    '''
31752    __slots__ = [
31753        'activity_id',
31754        'deleted_at',
31755        'role_resource',
31756        'timestamp',
31757    ]
31758
31759    def __init__(
31760        self,
31761        activity_id=None,
31762        deleted_at=None,
31763        role_resource=None,
31764        timestamp=None,
31765    ):
31766        self.activity_id = activity_id if activity_id is not None else ''
31767        '''
31768         The unique identifier of the Activity that produced this change to the RoleResource.
31769         May be empty for some system-initiated updates.
31770        '''
31771        self.deleted_at = deleted_at if deleted_at is not None else None
31772        '''
31773         If this RoleResource was deleted, the time it was deleted.
31774        '''
31775        self.role_resource = role_resource if role_resource is not None else None
31776        '''
31777         The complete RoleResource state at this time.
31778        '''
31779        self.timestamp = timestamp if timestamp is not None else None
31780        '''
31781         The time at which the RoleResource state was recorded.
31782        '''
31783
31784    def __repr__(self):
31785        return '<sdm.RoleResourceHistory ' + \
31786            'activity_id: ' + repr(self.activity_id) + ' ' +\
31787            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31788            'role_resource: ' + repr(self.role_resource) + ' ' +\
31789            'timestamp: ' + repr(self.timestamp) + ' ' +\
31790            '>'
31791
31792    def to_dict(self):
31793        return {
31794            'activity_id': self.activity_id,
31795            'deleted_at': self.deleted_at,
31796            'role_resource': self.role_resource,
31797            'timestamp': self.timestamp,
31798        }
31799
31800    @classmethod
31801    def from_dict(cls, d):
31802        return cls(
31803            activity_id=d.get('activity_id'),
31804            deleted_at=d.get('deleted_at'),
31805            role_resource=d.get('role_resource'),
31806            timestamp=d.get('timestamp'),
31807        )

RoleResourceHistory records the state of a RoleResource at a given point in time, where every change (create or delete) to a RoleResource produces an RoleResourceHistory record.

RoleResourceHistory( activity_id=None, deleted_at=None, role_resource=None, timestamp=None)
31759    def __init__(
31760        self,
31761        activity_id=None,
31762        deleted_at=None,
31763        role_resource=None,
31764        timestamp=None,
31765    ):
31766        self.activity_id = activity_id if activity_id is not None else ''
31767        '''
31768         The unique identifier of the Activity that produced this change to the RoleResource.
31769         May be empty for some system-initiated updates.
31770        '''
31771        self.deleted_at = deleted_at if deleted_at is not None else None
31772        '''
31773         If this RoleResource was deleted, the time it was deleted.
31774        '''
31775        self.role_resource = role_resource if role_resource is not None else None
31776        '''
31777         The complete RoleResource state at this time.
31778        '''
31779        self.timestamp = timestamp if timestamp is not None else None
31780        '''
31781         The time at which the RoleResource state was recorded.
31782        '''
activity_id

The unique identifier of the Activity that produced this change to the RoleResource. May be empty for some system-initiated updates.

deleted_at

If this RoleResource was deleted, the time it was deleted.

role_resource

The complete RoleResource state at this time.

timestamp

The time at which the RoleResource state was recorded.

def to_dict(self)
31792    def to_dict(self):
31793        return {
31794            'activity_id': self.activity_id,
31795            'deleted_at': self.deleted_at,
31796            'role_resource': self.role_resource,
31797            'timestamp': self.timestamp,
31798        }
@classmethod
def from_dict(cls, d)
31800    @classmethod
31801    def from_dict(cls, d):
31802        return cls(
31803            activity_id=d.get('activity_id'),
31804            deleted_at=d.get('deleted_at'),
31805            role_resource=d.get('role_resource'),
31806            timestamp=d.get('timestamp'),
31807        )
class RoleUpdateResponse:
31810class RoleUpdateResponse:
31811    '''
31812         RoleUpdateResponse returns the fields of a Role after it has been updated by
31813     a RoleUpdateRequest.
31814    '''
31815    __slots__ = [
31816        'meta',
31817        'rate_limit',
31818        'role',
31819    ]
31820
31821    def __init__(
31822        self,
31823        meta=None,
31824        rate_limit=None,
31825        role=None,
31826    ):
31827        self.meta = meta if meta is not None else None
31828        '''
31829         Reserved for future use.
31830        '''
31831        self.rate_limit = rate_limit if rate_limit is not None else None
31832        '''
31833         Rate limit information.
31834        '''
31835        self.role = role if role is not None else None
31836        '''
31837         The updated Role.
31838        '''
31839
31840    def __repr__(self):
31841        return '<sdm.RoleUpdateResponse ' + \
31842            'meta: ' + repr(self.meta) + ' ' +\
31843            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31844            'role: ' + repr(self.role) + ' ' +\
31845            '>'
31846
31847    def to_dict(self):
31848        return {
31849            'meta': self.meta,
31850            'rate_limit': self.rate_limit,
31851            'role': self.role,
31852        }
31853
31854    @classmethod
31855    def from_dict(cls, d):
31856        return cls(
31857            meta=d.get('meta'),
31858            rate_limit=d.get('rate_limit'),
31859            role=d.get('role'),
31860        )

RoleUpdateResponse returns the fields of a Role after it has been updated by a RoleUpdateRequest.

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
31821    def __init__(
31822        self,
31823        meta=None,
31824        rate_limit=None,
31825        role=None,
31826    ):
31827        self.meta = meta if meta is not None else None
31828        '''
31829         Reserved for future use.
31830        '''
31831        self.rate_limit = rate_limit if rate_limit is not None else None
31832        '''
31833         Rate limit information.
31834        '''
31835        self.role = role if role is not None else None
31836        '''
31837         The updated Role.
31838        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
31847    def to_dict(self):
31848        return {
31849            'meta': self.meta,
31850            'rate_limit': self.rate_limit,
31851            'role': self.role,
31852        }
@classmethod
def from_dict(cls, d)
31854    @classmethod
31855    def from_dict(cls, d):
31856        return cls(
31857            meta=d.get('meta'),
31858            rate_limit=d.get('rate_limit'),
31859            role=d.get('role'),
31860        )
class SQLServer:
31863class SQLServer:
31864    __slots__ = [
31865        'allow_deprecated_encryption',
31866        'bind_interface',
31867        'database',
31868        'egress_filter',
31869        'healthy',
31870        'hostname',
31871        'id',
31872        'name',
31873        'override_database',
31874        'password',
31875        'port',
31876        'port_override',
31877        'proxy_cluster_id',
31878        'schema',
31879        'secret_store_id',
31880        'subdomain',
31881        'tags',
31882        'username',
31883    ]
31884
31885    def __init__(
31886        self,
31887        allow_deprecated_encryption=None,
31888        bind_interface=None,
31889        database=None,
31890        egress_filter=None,
31891        healthy=None,
31892        hostname=None,
31893        id=None,
31894        name=None,
31895        override_database=None,
31896        password=None,
31897        port=None,
31898        port_override=None,
31899        proxy_cluster_id=None,
31900        schema=None,
31901        secret_store_id=None,
31902        subdomain=None,
31903        tags=None,
31904        username=None,
31905    ):
31906        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
31907        '''
31908         Whether to allow deprecated encryption protocols to be used for this resource. For example,
31909         TLS 1.0.
31910        '''
31911        self.bind_interface = bind_interface if bind_interface is not None else ''
31912        '''
31913         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31914        '''
31915        self.database = database if database is not None else ''
31916        '''
31917         The database for healthchecks, and used for clients if Override Default Database is true.
31918        '''
31919        self.egress_filter = egress_filter if egress_filter is not None else ''
31920        '''
31921         A filter applied to the routing logic to pin datasource to nodes.
31922        '''
31923        self.healthy = healthy if healthy is not None else False
31924        '''
31925         True if the datasource is reachable and the credentials are valid.
31926        '''
31927        self.hostname = hostname if hostname is not None else ''
31928        '''
31929         The host to dial to initiate a connection from the egress node to this resource.
31930        '''
31931        self.id = id if id is not None else ''
31932        '''
31933         Unique identifier of the Resource.
31934        '''
31935        self.name = name if name is not None else ''
31936        '''
31937         Unique human-readable name of the Resource.
31938        '''
31939        self.override_database = override_database if override_database is not None else False
31940        '''
31941         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
31942        '''
31943        self.password = password if password is not None else ''
31944        '''
31945         The password to authenticate with.
31946        '''
31947        self.port = port if port is not None else 0
31948        '''
31949         The port to dial to initiate a connection from the egress node to this resource.
31950        '''
31951        self.port_override = port_override if port_override is not None else 0
31952        '''
31953         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31954        '''
31955        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31956        '''
31957         ID of the proxy cluster for this resource, if any.
31958        '''
31959        self.schema = schema if schema is not None else ''
31960        '''
31961         The Schema to use to direct initial requests.
31962        '''
31963        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31964        '''
31965         ID of the secret store containing credentials for this resource, if any.
31966        '''
31967        self.subdomain = subdomain if subdomain is not None else ''
31968        '''
31969         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31970        '''
31971        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31972        '''
31973         Tags is a map of key, value pairs.
31974        '''
31975        self.username = username if username is not None else ''
31976        '''
31977         The username to authenticate with.
31978        '''
31979
31980    def __repr__(self):
31981        return '<sdm.SQLServer ' + \
31982            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
31983            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31984            'database: ' + repr(self.database) + ' ' +\
31985            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31986            'healthy: ' + repr(self.healthy) + ' ' +\
31987            'hostname: ' + repr(self.hostname) + ' ' +\
31988            'id: ' + repr(self.id) + ' ' +\
31989            'name: ' + repr(self.name) + ' ' +\
31990            'override_database: ' + repr(self.override_database) + ' ' +\
31991            'password: ' + repr(self.password) + ' ' +\
31992            'port: ' + repr(self.port) + ' ' +\
31993            'port_override: ' + repr(self.port_override) + ' ' +\
31994            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31995            'schema: ' + repr(self.schema) + ' ' +\
31996            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31997            'subdomain: ' + repr(self.subdomain) + ' ' +\
31998            'tags: ' + repr(self.tags) + ' ' +\
31999            'username: ' + repr(self.username) + ' ' +\
32000            '>'
32001
32002    def to_dict(self):
32003        return {
32004            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32005            'bind_interface': self.bind_interface,
32006            'database': self.database,
32007            'egress_filter': self.egress_filter,
32008            'healthy': self.healthy,
32009            'hostname': self.hostname,
32010            'id': self.id,
32011            'name': self.name,
32012            'override_database': self.override_database,
32013            'password': self.password,
32014            'port': self.port,
32015            'port_override': self.port_override,
32016            'proxy_cluster_id': self.proxy_cluster_id,
32017            'schema': self.schema,
32018            'secret_store_id': self.secret_store_id,
32019            'subdomain': self.subdomain,
32020            'tags': self.tags,
32021            'username': self.username,
32022        }
32023
32024    @classmethod
32025    def from_dict(cls, d):
32026        return cls(
32027            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32028            bind_interface=d.get('bind_interface'),
32029            database=d.get('database'),
32030            egress_filter=d.get('egress_filter'),
32031            healthy=d.get('healthy'),
32032            hostname=d.get('hostname'),
32033            id=d.get('id'),
32034            name=d.get('name'),
32035            override_database=d.get('override_database'),
32036            password=d.get('password'),
32037            port=d.get('port'),
32038            port_override=d.get('port_override'),
32039            proxy_cluster_id=d.get('proxy_cluster_id'),
32040            schema=d.get('schema'),
32041            secret_store_id=d.get('secret_store_id'),
32042            subdomain=d.get('subdomain'),
32043            tags=d.get('tags'),
32044            username=d.get('username'),
32045        )
SQLServer( allow_deprecated_encryption=None, bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None, username=None)
31885    def __init__(
31886        self,
31887        allow_deprecated_encryption=None,
31888        bind_interface=None,
31889        database=None,
31890        egress_filter=None,
31891        healthy=None,
31892        hostname=None,
31893        id=None,
31894        name=None,
31895        override_database=None,
31896        password=None,
31897        port=None,
31898        port_override=None,
31899        proxy_cluster_id=None,
31900        schema=None,
31901        secret_store_id=None,
31902        subdomain=None,
31903        tags=None,
31904        username=None,
31905    ):
31906        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
31907        '''
31908         Whether to allow deprecated encryption protocols to be used for this resource. For example,
31909         TLS 1.0.
31910        '''
31911        self.bind_interface = bind_interface if bind_interface is not None else ''
31912        '''
31913         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31914        '''
31915        self.database = database if database is not None else ''
31916        '''
31917         The database for healthchecks, and used for clients if Override Default Database is true.
31918        '''
31919        self.egress_filter = egress_filter if egress_filter is not None else ''
31920        '''
31921         A filter applied to the routing logic to pin datasource to nodes.
31922        '''
31923        self.healthy = healthy if healthy is not None else False
31924        '''
31925         True if the datasource is reachable and the credentials are valid.
31926        '''
31927        self.hostname = hostname if hostname is not None else ''
31928        '''
31929         The host to dial to initiate a connection from the egress node to this resource.
31930        '''
31931        self.id = id if id is not None else ''
31932        '''
31933         Unique identifier of the Resource.
31934        '''
31935        self.name = name if name is not None else ''
31936        '''
31937         Unique human-readable name of the Resource.
31938        '''
31939        self.override_database = override_database if override_database is not None else False
31940        '''
31941         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
31942        '''
31943        self.password = password if password is not None else ''
31944        '''
31945         The password to authenticate with.
31946        '''
31947        self.port = port if port is not None else 0
31948        '''
31949         The port to dial to initiate a connection from the egress node to this resource.
31950        '''
31951        self.port_override = port_override if port_override is not None else 0
31952        '''
31953         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31954        '''
31955        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31956        '''
31957         ID of the proxy cluster for this resource, if any.
31958        '''
31959        self.schema = schema if schema is not None else ''
31960        '''
31961         The Schema to use to direct initial requests.
31962        '''
31963        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31964        '''
31965         ID of the secret store containing credentials for this resource, if any.
31966        '''
31967        self.subdomain = subdomain if subdomain is not None else ''
31968        '''
31969         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31970        '''
31971        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31972        '''
31973         Tags is a map of key, value pairs.
31974        '''
31975        self.username = username if username is not None else ''
31976        '''
31977         The username to authenticate with.
31978        '''
allow_deprecated_encryption

Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks, and used for clients if Override Default Database is true.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

schema

The Schema to use to direct initial requests.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
32002    def to_dict(self):
32003        return {
32004            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32005            'bind_interface': self.bind_interface,
32006            'database': self.database,
32007            'egress_filter': self.egress_filter,
32008            'healthy': self.healthy,
32009            'hostname': self.hostname,
32010            'id': self.id,
32011            'name': self.name,
32012            'override_database': self.override_database,
32013            'password': self.password,
32014            'port': self.port,
32015            'port_override': self.port_override,
32016            'proxy_cluster_id': self.proxy_cluster_id,
32017            'schema': self.schema,
32018            'secret_store_id': self.secret_store_id,
32019            'subdomain': self.subdomain,
32020            'tags': self.tags,
32021            'username': self.username,
32022        }
@classmethod
def from_dict(cls, d)
32024    @classmethod
32025    def from_dict(cls, d):
32026        return cls(
32027            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32028            bind_interface=d.get('bind_interface'),
32029            database=d.get('database'),
32030            egress_filter=d.get('egress_filter'),
32031            healthy=d.get('healthy'),
32032            hostname=d.get('hostname'),
32033            id=d.get('id'),
32034            name=d.get('name'),
32035            override_database=d.get('override_database'),
32036            password=d.get('password'),
32037            port=d.get('port'),
32038            port_override=d.get('port_override'),
32039            proxy_cluster_id=d.get('proxy_cluster_id'),
32040            schema=d.get('schema'),
32041            secret_store_id=d.get('secret_store_id'),
32042            subdomain=d.get('subdomain'),
32043            tags=d.get('tags'),
32044            username=d.get('username'),
32045        )
class SQLServerAzureAD:
32048class SQLServerAzureAD:
32049    __slots__ = [
32050        'allow_deprecated_encryption',
32051        'bind_interface',
32052        'client_id',
32053        'database',
32054        'egress_filter',
32055        'healthy',
32056        'hostname',
32057        'id',
32058        'name',
32059        'override_database',
32060        'port',
32061        'port_override',
32062        'proxy_cluster_id',
32063        'schema',
32064        'secret',
32065        'secret_store_id',
32066        'subdomain',
32067        'tags',
32068        'tenant_id',
32069    ]
32070
32071    def __init__(
32072        self,
32073        allow_deprecated_encryption=None,
32074        bind_interface=None,
32075        client_id=None,
32076        database=None,
32077        egress_filter=None,
32078        healthy=None,
32079        hostname=None,
32080        id=None,
32081        name=None,
32082        override_database=None,
32083        port=None,
32084        port_override=None,
32085        proxy_cluster_id=None,
32086        schema=None,
32087        secret=None,
32088        secret_store_id=None,
32089        subdomain=None,
32090        tags=None,
32091        tenant_id=None,
32092    ):
32093        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
32094        '''
32095         Whether to allow deprecated encryption protocols to be used for this resource. For example,
32096         TLS 1.0.
32097        '''
32098        self.bind_interface = bind_interface if bind_interface is not None else ''
32099        '''
32100         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32101        '''
32102        self.client_id = client_id if client_id is not None else ''
32103        '''
32104         The Azure AD application (client) ID with which to authenticate.
32105        '''
32106        self.database = database if database is not None else ''
32107        '''
32108         The database for healthchecks, and used for clients if Override Default Database is true.
32109        '''
32110        self.egress_filter = egress_filter if egress_filter is not None else ''
32111        '''
32112         A filter applied to the routing logic to pin datasource to nodes.
32113        '''
32114        self.healthy = healthy if healthy is not None else False
32115        '''
32116         True if the datasource is reachable and the credentials are valid.
32117        '''
32118        self.hostname = hostname if hostname is not None else ''
32119        '''
32120         The host to dial to initiate a connection from the egress node to this resource.
32121        '''
32122        self.id = id if id is not None else ''
32123        '''
32124         Unique identifier of the Resource.
32125        '''
32126        self.name = name if name is not None else ''
32127        '''
32128         Unique human-readable name of the Resource.
32129        '''
32130        self.override_database = override_database if override_database is not None else False
32131        '''
32132         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
32133        '''
32134        self.port = port if port is not None else 0
32135        '''
32136         The port to dial to initiate a connection from the egress node to this resource.
32137        '''
32138        self.port_override = port_override if port_override is not None else 0
32139        '''
32140         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32141        '''
32142        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32143        '''
32144         ID of the proxy cluster for this resource, if any.
32145        '''
32146        self.schema = schema if schema is not None else ''
32147        '''
32148         The Schema to use to direct initial requests.
32149        '''
32150        self.secret = secret if secret is not None else ''
32151        '''
32152         The Azure AD client secret (application password) with which to authenticate.
32153        '''
32154        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32155        '''
32156         ID of the secret store containing credentials for this resource, if any.
32157        '''
32158        self.subdomain = subdomain if subdomain is not None else ''
32159        '''
32160         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32161        '''
32162        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32163        '''
32164         Tags is a map of key, value pairs.
32165        '''
32166        self.tenant_id = tenant_id if tenant_id is not None else ''
32167        '''
32168         The Azure AD directory (tenant) ID with which to authenticate.
32169        '''
32170
32171    def __repr__(self):
32172        return '<sdm.SQLServerAzureAD ' + \
32173            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
32174            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32175            'client_id: ' + repr(self.client_id) + ' ' +\
32176            'database: ' + repr(self.database) + ' ' +\
32177            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32178            'healthy: ' + repr(self.healthy) + ' ' +\
32179            'hostname: ' + repr(self.hostname) + ' ' +\
32180            'id: ' + repr(self.id) + ' ' +\
32181            'name: ' + repr(self.name) + ' ' +\
32182            'override_database: ' + repr(self.override_database) + ' ' +\
32183            'port: ' + repr(self.port) + ' ' +\
32184            'port_override: ' + repr(self.port_override) + ' ' +\
32185            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32186            'schema: ' + repr(self.schema) + ' ' +\
32187            'secret: ' + repr(self.secret) + ' ' +\
32188            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32189            'subdomain: ' + repr(self.subdomain) + ' ' +\
32190            'tags: ' + repr(self.tags) + ' ' +\
32191            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
32192            '>'
32193
32194    def to_dict(self):
32195        return {
32196            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32197            'bind_interface': self.bind_interface,
32198            'client_id': self.client_id,
32199            'database': self.database,
32200            'egress_filter': self.egress_filter,
32201            'healthy': self.healthy,
32202            'hostname': self.hostname,
32203            'id': self.id,
32204            'name': self.name,
32205            'override_database': self.override_database,
32206            'port': self.port,
32207            'port_override': self.port_override,
32208            'proxy_cluster_id': self.proxy_cluster_id,
32209            'schema': self.schema,
32210            'secret': self.secret,
32211            'secret_store_id': self.secret_store_id,
32212            'subdomain': self.subdomain,
32213            'tags': self.tags,
32214            'tenant_id': self.tenant_id,
32215        }
32216
32217    @classmethod
32218    def from_dict(cls, d):
32219        return cls(
32220            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32221            bind_interface=d.get('bind_interface'),
32222            client_id=d.get('client_id'),
32223            database=d.get('database'),
32224            egress_filter=d.get('egress_filter'),
32225            healthy=d.get('healthy'),
32226            hostname=d.get('hostname'),
32227            id=d.get('id'),
32228            name=d.get('name'),
32229            override_database=d.get('override_database'),
32230            port=d.get('port'),
32231            port_override=d.get('port_override'),
32232            proxy_cluster_id=d.get('proxy_cluster_id'),
32233            schema=d.get('schema'),
32234            secret=d.get('secret'),
32235            secret_store_id=d.get('secret_store_id'),
32236            subdomain=d.get('subdomain'),
32237            tags=d.get('tags'),
32238            tenant_id=d.get('tenant_id'),
32239        )
SQLServerAzureAD( allow_deprecated_encryption=None, bind_interface=None, client_id=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, port=None, port_override=None, proxy_cluster_id=None, schema=None, secret=None, secret_store_id=None, subdomain=None, tags=None, tenant_id=None)
32071    def __init__(
32072        self,
32073        allow_deprecated_encryption=None,
32074        bind_interface=None,
32075        client_id=None,
32076        database=None,
32077        egress_filter=None,
32078        healthy=None,
32079        hostname=None,
32080        id=None,
32081        name=None,
32082        override_database=None,
32083        port=None,
32084        port_override=None,
32085        proxy_cluster_id=None,
32086        schema=None,
32087        secret=None,
32088        secret_store_id=None,
32089        subdomain=None,
32090        tags=None,
32091        tenant_id=None,
32092    ):
32093        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
32094        '''
32095         Whether to allow deprecated encryption protocols to be used for this resource. For example,
32096         TLS 1.0.
32097        '''
32098        self.bind_interface = bind_interface if bind_interface is not None else ''
32099        '''
32100         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32101        '''
32102        self.client_id = client_id if client_id is not None else ''
32103        '''
32104         The Azure AD application (client) ID with which to authenticate.
32105        '''
32106        self.database = database if database is not None else ''
32107        '''
32108         The database for healthchecks, and used for clients if Override Default Database is true.
32109        '''
32110        self.egress_filter = egress_filter if egress_filter is not None else ''
32111        '''
32112         A filter applied to the routing logic to pin datasource to nodes.
32113        '''
32114        self.healthy = healthy if healthy is not None else False
32115        '''
32116         True if the datasource is reachable and the credentials are valid.
32117        '''
32118        self.hostname = hostname if hostname is not None else ''
32119        '''
32120         The host to dial to initiate a connection from the egress node to this resource.
32121        '''
32122        self.id = id if id is not None else ''
32123        '''
32124         Unique identifier of the Resource.
32125        '''
32126        self.name = name if name is not None else ''
32127        '''
32128         Unique human-readable name of the Resource.
32129        '''
32130        self.override_database = override_database if override_database is not None else False
32131        '''
32132         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
32133        '''
32134        self.port = port if port is not None else 0
32135        '''
32136         The port to dial to initiate a connection from the egress node to this resource.
32137        '''
32138        self.port_override = port_override if port_override is not None else 0
32139        '''
32140         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32141        '''
32142        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32143        '''
32144         ID of the proxy cluster for this resource, if any.
32145        '''
32146        self.schema = schema if schema is not None else ''
32147        '''
32148         The Schema to use to direct initial requests.
32149        '''
32150        self.secret = secret if secret is not None else ''
32151        '''
32152         The Azure AD client secret (application password) with which to authenticate.
32153        '''
32154        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32155        '''
32156         ID of the secret store containing credentials for this resource, if any.
32157        '''
32158        self.subdomain = subdomain if subdomain is not None else ''
32159        '''
32160         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32161        '''
32162        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32163        '''
32164         Tags is a map of key, value pairs.
32165        '''
32166        self.tenant_id = tenant_id if tenant_id is not None else ''
32167        '''
32168         The Azure AD directory (tenant) ID with which to authenticate.
32169        '''
allow_deprecated_encryption

Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

client_id

The Azure AD application (client) ID with which to authenticate.

database

The database for healthchecks, and used for clients if Override Default Database is true.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

schema

The Schema to use to direct initial requests.

secret

The Azure AD client secret (application password) with which to authenticate.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tenant_id

The Azure AD directory (tenant) ID with which to authenticate.

def to_dict(self)
32194    def to_dict(self):
32195        return {
32196            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32197            'bind_interface': self.bind_interface,
32198            'client_id': self.client_id,
32199            'database': self.database,
32200            'egress_filter': self.egress_filter,
32201            'healthy': self.healthy,
32202            'hostname': self.hostname,
32203            'id': self.id,
32204            'name': self.name,
32205            'override_database': self.override_database,
32206            'port': self.port,
32207            'port_override': self.port_override,
32208            'proxy_cluster_id': self.proxy_cluster_id,
32209            'schema': self.schema,
32210            'secret': self.secret,
32211            'secret_store_id': self.secret_store_id,
32212            'subdomain': self.subdomain,
32213            'tags': self.tags,
32214            'tenant_id': self.tenant_id,
32215        }
@classmethod
def from_dict(cls, d)
32217    @classmethod
32218    def from_dict(cls, d):
32219        return cls(
32220            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32221            bind_interface=d.get('bind_interface'),
32222            client_id=d.get('client_id'),
32223            database=d.get('database'),
32224            egress_filter=d.get('egress_filter'),
32225            healthy=d.get('healthy'),
32226            hostname=d.get('hostname'),
32227            id=d.get('id'),
32228            name=d.get('name'),
32229            override_database=d.get('override_database'),
32230            port=d.get('port'),
32231            port_override=d.get('port_override'),
32232            proxy_cluster_id=d.get('proxy_cluster_id'),
32233            schema=d.get('schema'),
32234            secret=d.get('secret'),
32235            secret_store_id=d.get('secret_store_id'),
32236            subdomain=d.get('subdomain'),
32237            tags=d.get('tags'),
32238            tenant_id=d.get('tenant_id'),
32239        )
class SQLServerKerberosAD:
32242class SQLServerKerberosAD:
32243    __slots__ = [
32244        'allow_deprecated_encryption',
32245        'bind_interface',
32246        'database',
32247        'egress_filter',
32248        'healthy',
32249        'hostname',
32250        'id',
32251        'identity_alias_healthcheck_username',
32252        'identity_set_id',
32253        'keytab',
32254        'krb_config',
32255        'name',
32256        'override_database',
32257        'port',
32258        'port_override',
32259        'proxy_cluster_id',
32260        'realm',
32261        'schema',
32262        'secret_store_id',
32263        'server_spn',
32264        'subdomain',
32265        'tags',
32266        'username',
32267    ]
32268
32269    def __init__(
32270        self,
32271        allow_deprecated_encryption=None,
32272        bind_interface=None,
32273        database=None,
32274        egress_filter=None,
32275        healthy=None,
32276        hostname=None,
32277        id=None,
32278        identity_alias_healthcheck_username=None,
32279        identity_set_id=None,
32280        keytab=None,
32281        krb_config=None,
32282        name=None,
32283        override_database=None,
32284        port=None,
32285        port_override=None,
32286        proxy_cluster_id=None,
32287        realm=None,
32288        schema=None,
32289        secret_store_id=None,
32290        server_spn=None,
32291        subdomain=None,
32292        tags=None,
32293        username=None,
32294    ):
32295        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
32296        '''
32297         Whether to allow deprecated encryption protocols to be used for this resource. For example,
32298         TLS 1.0.
32299        '''
32300        self.bind_interface = bind_interface if bind_interface is not None else ''
32301        '''
32302         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32303        '''
32304        self.database = database if database is not None else ''
32305        '''
32306         The database for healthchecks, and used for clients if Override Default Database is true.
32307        '''
32308        self.egress_filter = egress_filter if egress_filter is not None else ''
32309        '''
32310         A filter applied to the routing logic to pin datasource to nodes.
32311        '''
32312        self.healthy = healthy if healthy is not None else False
32313        '''
32314         True if the datasource is reachable and the credentials are valid.
32315        '''
32316        self.hostname = hostname if hostname is not None else ''
32317        '''
32318         The host to dial to initiate a connection from the egress node to this resource.
32319        '''
32320        self.id = id if id is not None else ''
32321        '''
32322         Unique identifier of the Resource.
32323        '''
32324        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32325        '''
32326         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32327        '''
32328        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32329        '''
32330         The ID of the identity set to use for identity connections.
32331        '''
32332        self.keytab = keytab if keytab is not None else ''
32333        '''
32334         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
32335        '''
32336        self.krb_config = krb_config if krb_config is not None else ''
32337        '''
32338         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
32339        '''
32340        self.name = name if name is not None else ''
32341        '''
32342         Unique human-readable name of the Resource.
32343        '''
32344        self.override_database = override_database if override_database is not None else False
32345        '''
32346         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
32347        '''
32348        self.port = port if port is not None else 0
32349        '''
32350         The port to dial to initiate a connection from the egress node to this resource.
32351        '''
32352        self.port_override = port_override if port_override is not None else 0
32353        '''
32354         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32355        '''
32356        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32357        '''
32358         ID of the proxy cluster for this resource, if any.
32359        '''
32360        self.realm = realm if realm is not None else ''
32361        '''
32362         The Active Directory domain (realm) to which the configured username belongs.
32363        '''
32364        self.schema = schema if schema is not None else ''
32365        '''
32366         The Schema to use to direct initial requests.
32367        '''
32368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32369        '''
32370         ID of the secret store containing credentials for this resource, if any.
32371        '''
32372        self.server_spn = server_spn if server_spn is not None else ''
32373        '''
32374         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
32375        '''
32376        self.subdomain = subdomain if subdomain is not None else ''
32377        '''
32378         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32379        '''
32380        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32381        '''
32382         Tags is a map of key, value pairs.
32383        '''
32384        self.username = username if username is not None else ''
32385        '''
32386         The username to authenticate with.
32387        '''
32388
32389    def __repr__(self):
32390        return '<sdm.SQLServerKerberosAD ' + \
32391            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
32392            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32393            'database: ' + repr(self.database) + ' ' +\
32394            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32395            'healthy: ' + repr(self.healthy) + ' ' +\
32396            'hostname: ' + repr(self.hostname) + ' ' +\
32397            'id: ' + repr(self.id) + ' ' +\
32398            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
32399            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
32400            'keytab: ' + repr(self.keytab) + ' ' +\
32401            'krb_config: ' + repr(self.krb_config) + ' ' +\
32402            'name: ' + repr(self.name) + ' ' +\
32403            'override_database: ' + repr(self.override_database) + ' ' +\
32404            'port: ' + repr(self.port) + ' ' +\
32405            'port_override: ' + repr(self.port_override) + ' ' +\
32406            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32407            'realm: ' + repr(self.realm) + ' ' +\
32408            'schema: ' + repr(self.schema) + ' ' +\
32409            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32410            'server_spn: ' + repr(self.server_spn) + ' ' +\
32411            'subdomain: ' + repr(self.subdomain) + ' ' +\
32412            'tags: ' + repr(self.tags) + ' ' +\
32413            'username: ' + repr(self.username) + ' ' +\
32414            '>'
32415
32416    def to_dict(self):
32417        return {
32418            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32419            'bind_interface': self.bind_interface,
32420            'database': self.database,
32421            'egress_filter': self.egress_filter,
32422            'healthy': self.healthy,
32423            'hostname': self.hostname,
32424            'id': self.id,
32425            'identity_alias_healthcheck_username':
32426            self.identity_alias_healthcheck_username,
32427            'identity_set_id': self.identity_set_id,
32428            'keytab': self.keytab,
32429            'krb_config': self.krb_config,
32430            'name': self.name,
32431            'override_database': self.override_database,
32432            'port': self.port,
32433            'port_override': self.port_override,
32434            'proxy_cluster_id': self.proxy_cluster_id,
32435            'realm': self.realm,
32436            'schema': self.schema,
32437            'secret_store_id': self.secret_store_id,
32438            'server_spn': self.server_spn,
32439            'subdomain': self.subdomain,
32440            'tags': self.tags,
32441            'username': self.username,
32442        }
32443
32444    @classmethod
32445    def from_dict(cls, d):
32446        return cls(
32447            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32448            bind_interface=d.get('bind_interface'),
32449            database=d.get('database'),
32450            egress_filter=d.get('egress_filter'),
32451            healthy=d.get('healthy'),
32452            hostname=d.get('hostname'),
32453            id=d.get('id'),
32454            identity_alias_healthcheck_username=d.get(
32455                'identity_alias_healthcheck_username'),
32456            identity_set_id=d.get('identity_set_id'),
32457            keytab=d.get('keytab'),
32458            krb_config=d.get('krb_config'),
32459            name=d.get('name'),
32460            override_database=d.get('override_database'),
32461            port=d.get('port'),
32462            port_override=d.get('port_override'),
32463            proxy_cluster_id=d.get('proxy_cluster_id'),
32464            realm=d.get('realm'),
32465            schema=d.get('schema'),
32466            secret_store_id=d.get('secret_store_id'),
32467            server_spn=d.get('server_spn'),
32468            subdomain=d.get('subdomain'),
32469            tags=d.get('tags'),
32470            username=d.get('username'),
32471        )
SQLServerKerberosAD( allow_deprecated_encryption=None, bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, keytab=None, krb_config=None, name=None, override_database=None, port=None, port_override=None, proxy_cluster_id=None, realm=None, schema=None, secret_store_id=None, server_spn=None, subdomain=None, tags=None, username=None)
32269    def __init__(
32270        self,
32271        allow_deprecated_encryption=None,
32272        bind_interface=None,
32273        database=None,
32274        egress_filter=None,
32275        healthy=None,
32276        hostname=None,
32277        id=None,
32278        identity_alias_healthcheck_username=None,
32279        identity_set_id=None,
32280        keytab=None,
32281        krb_config=None,
32282        name=None,
32283        override_database=None,
32284        port=None,
32285        port_override=None,
32286        proxy_cluster_id=None,
32287        realm=None,
32288        schema=None,
32289        secret_store_id=None,
32290        server_spn=None,
32291        subdomain=None,
32292        tags=None,
32293        username=None,
32294    ):
32295        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
32296        '''
32297         Whether to allow deprecated encryption protocols to be used for this resource. For example,
32298         TLS 1.0.
32299        '''
32300        self.bind_interface = bind_interface if bind_interface is not None else ''
32301        '''
32302         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32303        '''
32304        self.database = database if database is not None else ''
32305        '''
32306         The database for healthchecks, and used for clients if Override Default Database is true.
32307        '''
32308        self.egress_filter = egress_filter if egress_filter is not None else ''
32309        '''
32310         A filter applied to the routing logic to pin datasource to nodes.
32311        '''
32312        self.healthy = healthy if healthy is not None else False
32313        '''
32314         True if the datasource is reachable and the credentials are valid.
32315        '''
32316        self.hostname = hostname if hostname is not None else ''
32317        '''
32318         The host to dial to initiate a connection from the egress node to this resource.
32319        '''
32320        self.id = id if id is not None else ''
32321        '''
32322         Unique identifier of the Resource.
32323        '''
32324        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32325        '''
32326         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32327        '''
32328        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32329        '''
32330         The ID of the identity set to use for identity connections.
32331        '''
32332        self.keytab = keytab if keytab is not None else ''
32333        '''
32334         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
32335        '''
32336        self.krb_config = krb_config if krb_config is not None else ''
32337        '''
32338         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
32339        '''
32340        self.name = name if name is not None else ''
32341        '''
32342         Unique human-readable name of the Resource.
32343        '''
32344        self.override_database = override_database if override_database is not None else False
32345        '''
32346         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
32347        '''
32348        self.port = port if port is not None else 0
32349        '''
32350         The port to dial to initiate a connection from the egress node to this resource.
32351        '''
32352        self.port_override = port_override if port_override is not None else 0
32353        '''
32354         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32355        '''
32356        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32357        '''
32358         ID of the proxy cluster for this resource, if any.
32359        '''
32360        self.realm = realm if realm is not None else ''
32361        '''
32362         The Active Directory domain (realm) to which the configured username belongs.
32363        '''
32364        self.schema = schema if schema is not None else ''
32365        '''
32366         The Schema to use to direct initial requests.
32367        '''
32368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32369        '''
32370         ID of the secret store containing credentials for this resource, if any.
32371        '''
32372        self.server_spn = server_spn if server_spn is not None else ''
32373        '''
32374         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
32375        '''
32376        self.subdomain = subdomain if subdomain is not None else ''
32377        '''
32378         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32379        '''
32380        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32381        '''
32382         Tags is a map of key, value pairs.
32383        '''
32384        self.username = username if username is not None else ''
32385        '''
32386         The username to authenticate with.
32387        '''
allow_deprecated_encryption

Whether to allow deprecated encryption protocols to be used for this resource. For example, TLS 1.0.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks, and used for clients if Override Default Database is true.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

keytab

The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.

krb_config

The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

realm

The Active Directory domain (realm) to which the configured username belongs.

schema

The Schema to use to direct initial requests.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

server_spn

The Service Principal Name of the Microsoft SQL Server instance in Active Directory.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
32416    def to_dict(self):
32417        return {
32418            'allow_deprecated_encryption': self.allow_deprecated_encryption,
32419            'bind_interface': self.bind_interface,
32420            'database': self.database,
32421            'egress_filter': self.egress_filter,
32422            'healthy': self.healthy,
32423            'hostname': self.hostname,
32424            'id': self.id,
32425            'identity_alias_healthcheck_username':
32426            self.identity_alias_healthcheck_username,
32427            'identity_set_id': self.identity_set_id,
32428            'keytab': self.keytab,
32429            'krb_config': self.krb_config,
32430            'name': self.name,
32431            'override_database': self.override_database,
32432            'port': self.port,
32433            'port_override': self.port_override,
32434            'proxy_cluster_id': self.proxy_cluster_id,
32435            'realm': self.realm,
32436            'schema': self.schema,
32437            'secret_store_id': self.secret_store_id,
32438            'server_spn': self.server_spn,
32439            'subdomain': self.subdomain,
32440            'tags': self.tags,
32441            'username': self.username,
32442        }
@classmethod
def from_dict(cls, d)
32444    @classmethod
32445    def from_dict(cls, d):
32446        return cls(
32447            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
32448            bind_interface=d.get('bind_interface'),
32449            database=d.get('database'),
32450            egress_filter=d.get('egress_filter'),
32451            healthy=d.get('healthy'),
32452            hostname=d.get('hostname'),
32453            id=d.get('id'),
32454            identity_alias_healthcheck_username=d.get(
32455                'identity_alias_healthcheck_username'),
32456            identity_set_id=d.get('identity_set_id'),
32457            keytab=d.get('keytab'),
32458            krb_config=d.get('krb_config'),
32459            name=d.get('name'),
32460            override_database=d.get('override_database'),
32461            port=d.get('port'),
32462            port_override=d.get('port_override'),
32463            proxy_cluster_id=d.get('proxy_cluster_id'),
32464            realm=d.get('realm'),
32465            schema=d.get('schema'),
32466            secret_store_id=d.get('secret_store_id'),
32467            server_spn=d.get('server_spn'),
32468            subdomain=d.get('subdomain'),
32469            tags=d.get('tags'),
32470            username=d.get('username'),
32471        )
class SSH:
32474class SSH:
32475    __slots__ = [
32476        'allow_deprecated_key_exchanges',
32477        'bind_interface',
32478        'egress_filter',
32479        'healthy',
32480        'hostname',
32481        'id',
32482        'key_type',
32483        'lock_required',
32484        'name',
32485        'port',
32486        'port_forwarding',
32487        'port_override',
32488        'proxy_cluster_id',
32489        'public_key',
32490        'secret_store_id',
32491        'subdomain',
32492        'tags',
32493        'username',
32494    ]
32495
32496    def __init__(
32497        self,
32498        allow_deprecated_key_exchanges=None,
32499        bind_interface=None,
32500        egress_filter=None,
32501        healthy=None,
32502        hostname=None,
32503        id=None,
32504        key_type=None,
32505        lock_required=None,
32506        name=None,
32507        port=None,
32508        port_forwarding=None,
32509        port_override=None,
32510        proxy_cluster_id=None,
32511        public_key=None,
32512        secret_store_id=None,
32513        subdomain=None,
32514        tags=None,
32515        username=None,
32516    ):
32517        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32518        '''
32519         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32520        '''
32521        self.bind_interface = bind_interface if bind_interface is not None else ''
32522        '''
32523         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32524        '''
32525        self.egress_filter = egress_filter if egress_filter is not None else ''
32526        '''
32527         A filter applied to the routing logic to pin datasource to nodes.
32528        '''
32529        self.healthy = healthy if healthy is not None else False
32530        '''
32531         True if the datasource is reachable and the credentials are valid.
32532        '''
32533        self.hostname = hostname if hostname is not None else ''
32534        '''
32535         The host to dial to initiate a connection from the egress node to this resource.
32536        '''
32537        self.id = id if id is not None else ''
32538        '''
32539         Unique identifier of the Resource.
32540        '''
32541        self.key_type = key_type if key_type is not None else ''
32542        '''
32543         The key type to use e.g. rsa-2048 or ed25519
32544        '''
32545        self.lock_required = lock_required if lock_required is not None else False
32546        '''
32547         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32548        '''
32549        self.name = name if name is not None else ''
32550        '''
32551         Unique human-readable name of the Resource.
32552        '''
32553        self.port = port if port is not None else 0
32554        '''
32555         The port to dial to initiate a connection from the egress node to this resource.
32556        '''
32557        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32558        '''
32559         Whether port forwarding is allowed through this server.
32560        '''
32561        self.port_override = port_override if port_override is not None else 0
32562        '''
32563         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32564        '''
32565        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32566        '''
32567         ID of the proxy cluster for this resource, if any.
32568        '''
32569        self.public_key = public_key if public_key is not None else ''
32570        '''
32571         The public key to append to a server's authorized keys. This will be generated after resource creation.
32572        '''
32573        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32574        '''
32575         ID of the secret store containing credentials for this resource, if any.
32576        '''
32577        self.subdomain = subdomain if subdomain is not None else ''
32578        '''
32579         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32580        '''
32581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32582        '''
32583         Tags is a map of key, value pairs.
32584        '''
32585        self.username = username if username is not None else ''
32586        '''
32587         The username to authenticate with.
32588        '''
32589
32590    def __repr__(self):
32591        return '<sdm.SSH ' + \
32592            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
32593            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32594            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32595            'healthy: ' + repr(self.healthy) + ' ' +\
32596            'hostname: ' + repr(self.hostname) + ' ' +\
32597            'id: ' + repr(self.id) + ' ' +\
32598            'key_type: ' + repr(self.key_type) + ' ' +\
32599            'lock_required: ' + repr(self.lock_required) + ' ' +\
32600            'name: ' + repr(self.name) + ' ' +\
32601            'port: ' + repr(self.port) + ' ' +\
32602            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
32603            'port_override: ' + repr(self.port_override) + ' ' +\
32604            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32605            'public_key: ' + repr(self.public_key) + ' ' +\
32606            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32607            'subdomain: ' + repr(self.subdomain) + ' ' +\
32608            'tags: ' + repr(self.tags) + ' ' +\
32609            'username: ' + repr(self.username) + ' ' +\
32610            '>'
32611
32612    def to_dict(self):
32613        return {
32614            'allow_deprecated_key_exchanges':
32615            self.allow_deprecated_key_exchanges,
32616            'bind_interface': self.bind_interface,
32617            'egress_filter': self.egress_filter,
32618            'healthy': self.healthy,
32619            'hostname': self.hostname,
32620            'id': self.id,
32621            'key_type': self.key_type,
32622            'lock_required': self.lock_required,
32623            'name': self.name,
32624            'port': self.port,
32625            'port_forwarding': self.port_forwarding,
32626            'port_override': self.port_override,
32627            'proxy_cluster_id': self.proxy_cluster_id,
32628            'public_key': self.public_key,
32629            'secret_store_id': self.secret_store_id,
32630            'subdomain': self.subdomain,
32631            'tags': self.tags,
32632            'username': self.username,
32633        }
32634
32635    @classmethod
32636    def from_dict(cls, d):
32637        return cls(
32638            allow_deprecated_key_exchanges=d.get(
32639                'allow_deprecated_key_exchanges'),
32640            bind_interface=d.get('bind_interface'),
32641            egress_filter=d.get('egress_filter'),
32642            healthy=d.get('healthy'),
32643            hostname=d.get('hostname'),
32644            id=d.get('id'),
32645            key_type=d.get('key_type'),
32646            lock_required=d.get('lock_required'),
32647            name=d.get('name'),
32648            port=d.get('port'),
32649            port_forwarding=d.get('port_forwarding'),
32650            port_override=d.get('port_override'),
32651            proxy_cluster_id=d.get('proxy_cluster_id'),
32652            public_key=d.get('public_key'),
32653            secret_store_id=d.get('secret_store_id'),
32654            subdomain=d.get('subdomain'),
32655            tags=d.get('tags'),
32656            username=d.get('username'),
32657        )
SSH( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, key_type=None, lock_required=None, name=None, port=None, port_forwarding=None, port_override=None, proxy_cluster_id=None, public_key=None, secret_store_id=None, subdomain=None, tags=None, username=None)
32496    def __init__(
32497        self,
32498        allow_deprecated_key_exchanges=None,
32499        bind_interface=None,
32500        egress_filter=None,
32501        healthy=None,
32502        hostname=None,
32503        id=None,
32504        key_type=None,
32505        lock_required=None,
32506        name=None,
32507        port=None,
32508        port_forwarding=None,
32509        port_override=None,
32510        proxy_cluster_id=None,
32511        public_key=None,
32512        secret_store_id=None,
32513        subdomain=None,
32514        tags=None,
32515        username=None,
32516    ):
32517        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32518        '''
32519         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32520        '''
32521        self.bind_interface = bind_interface if bind_interface is not None else ''
32522        '''
32523         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32524        '''
32525        self.egress_filter = egress_filter if egress_filter is not None else ''
32526        '''
32527         A filter applied to the routing logic to pin datasource to nodes.
32528        '''
32529        self.healthy = healthy if healthy is not None else False
32530        '''
32531         True if the datasource is reachable and the credentials are valid.
32532        '''
32533        self.hostname = hostname if hostname is not None else ''
32534        '''
32535         The host to dial to initiate a connection from the egress node to this resource.
32536        '''
32537        self.id = id if id is not None else ''
32538        '''
32539         Unique identifier of the Resource.
32540        '''
32541        self.key_type = key_type if key_type is not None else ''
32542        '''
32543         The key type to use e.g. rsa-2048 or ed25519
32544        '''
32545        self.lock_required = lock_required if lock_required is not None else False
32546        '''
32547         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32548        '''
32549        self.name = name if name is not None else ''
32550        '''
32551         Unique human-readable name of the Resource.
32552        '''
32553        self.port = port if port is not None else 0
32554        '''
32555         The port to dial to initiate a connection from the egress node to this resource.
32556        '''
32557        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32558        '''
32559         Whether port forwarding is allowed through this server.
32560        '''
32561        self.port_override = port_override if port_override is not None else 0
32562        '''
32563         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32564        '''
32565        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32566        '''
32567         ID of the proxy cluster for this resource, if any.
32568        '''
32569        self.public_key = public_key if public_key is not None else ''
32570        '''
32571         The public key to append to a server's authorized keys. This will be generated after resource creation.
32572        '''
32573        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32574        '''
32575         ID of the secret store containing credentials for this resource, if any.
32576        '''
32577        self.subdomain = subdomain if subdomain is not None else ''
32578        '''
32579         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32580        '''
32581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32582        '''
32583         Tags is a map of key, value pairs.
32584        '''
32585        self.username = username if username is not None else ''
32586        '''
32587         The username to authenticate with.
32588        '''
allow_deprecated_key_exchanges

Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

key_type

The key type to use e.g. rsa-2048 or ed25519

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_forwarding

Whether port forwarding is allowed through this server.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

public_key

The public key to append to a server's authorized keys. This will be generated after resource creation.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
32612    def to_dict(self):
32613        return {
32614            'allow_deprecated_key_exchanges':
32615            self.allow_deprecated_key_exchanges,
32616            'bind_interface': self.bind_interface,
32617            'egress_filter': self.egress_filter,
32618            'healthy': self.healthy,
32619            'hostname': self.hostname,
32620            'id': self.id,
32621            'key_type': self.key_type,
32622            'lock_required': self.lock_required,
32623            'name': self.name,
32624            'port': self.port,
32625            'port_forwarding': self.port_forwarding,
32626            'port_override': self.port_override,
32627            'proxy_cluster_id': self.proxy_cluster_id,
32628            'public_key': self.public_key,
32629            'secret_store_id': self.secret_store_id,
32630            'subdomain': self.subdomain,
32631            'tags': self.tags,
32632            'username': self.username,
32633        }
@classmethod
def from_dict(cls, d)
32635    @classmethod
32636    def from_dict(cls, d):
32637        return cls(
32638            allow_deprecated_key_exchanges=d.get(
32639                'allow_deprecated_key_exchanges'),
32640            bind_interface=d.get('bind_interface'),
32641            egress_filter=d.get('egress_filter'),
32642            healthy=d.get('healthy'),
32643            hostname=d.get('hostname'),
32644            id=d.get('id'),
32645            key_type=d.get('key_type'),
32646            lock_required=d.get('lock_required'),
32647            name=d.get('name'),
32648            port=d.get('port'),
32649            port_forwarding=d.get('port_forwarding'),
32650            port_override=d.get('port_override'),
32651            proxy_cluster_id=d.get('proxy_cluster_id'),
32652            public_key=d.get('public_key'),
32653            secret_store_id=d.get('secret_store_id'),
32654            subdomain=d.get('subdomain'),
32655            tags=d.get('tags'),
32656            username=d.get('username'),
32657        )
class SSHCert:
32660class SSHCert:
32661    __slots__ = [
32662        'allow_deprecated_key_exchanges',
32663        'bind_interface',
32664        'egress_filter',
32665        'healthy',
32666        'hostname',
32667        'id',
32668        'identity_alias_healthcheck_username',
32669        'identity_set_id',
32670        'key_type',
32671        'lock_required',
32672        'name',
32673        'port',
32674        'port_forwarding',
32675        'port_override',
32676        'proxy_cluster_id',
32677        'secret_store_id',
32678        'subdomain',
32679        'tags',
32680        'username',
32681    ]
32682
32683    def __init__(
32684        self,
32685        allow_deprecated_key_exchanges=None,
32686        bind_interface=None,
32687        egress_filter=None,
32688        healthy=None,
32689        hostname=None,
32690        id=None,
32691        identity_alias_healthcheck_username=None,
32692        identity_set_id=None,
32693        key_type=None,
32694        lock_required=None,
32695        name=None,
32696        port=None,
32697        port_forwarding=None,
32698        port_override=None,
32699        proxy_cluster_id=None,
32700        secret_store_id=None,
32701        subdomain=None,
32702        tags=None,
32703        username=None,
32704    ):
32705        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32706        '''
32707         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32708        '''
32709        self.bind_interface = bind_interface if bind_interface is not None else ''
32710        '''
32711         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32712        '''
32713        self.egress_filter = egress_filter if egress_filter is not None else ''
32714        '''
32715         A filter applied to the routing logic to pin datasource to nodes.
32716        '''
32717        self.healthy = healthy if healthy is not None else False
32718        '''
32719         True if the datasource is reachable and the credentials are valid.
32720        '''
32721        self.hostname = hostname if hostname is not None else ''
32722        '''
32723         The host to dial to initiate a connection from the egress node to this resource.
32724        '''
32725        self.id = id if id is not None else ''
32726        '''
32727         Unique identifier of the Resource.
32728        '''
32729        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32730        '''
32731         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32732        '''
32733        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32734        '''
32735         The ID of the identity set to use for identity connections.
32736        '''
32737        self.key_type = key_type if key_type is not None else ''
32738        '''
32739         The key type to use e.g. rsa-2048 or ed25519
32740        '''
32741        self.lock_required = lock_required if lock_required is not None else False
32742        '''
32743         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32744        '''
32745        self.name = name if name is not None else ''
32746        '''
32747         Unique human-readable name of the Resource.
32748        '''
32749        self.port = port if port is not None else 0
32750        '''
32751         The port to dial to initiate a connection from the egress node to this resource.
32752        '''
32753        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32754        '''
32755         Whether port forwarding is allowed through this server.
32756        '''
32757        self.port_override = port_override if port_override is not None else 0
32758        '''
32759         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32760        '''
32761        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32762        '''
32763         ID of the proxy cluster for this resource, if any.
32764        '''
32765        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32766        '''
32767         ID of the secret store containing credentials for this resource, if any.
32768        '''
32769        self.subdomain = subdomain if subdomain is not None else ''
32770        '''
32771         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32772        '''
32773        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32774        '''
32775         Tags is a map of key, value pairs.
32776        '''
32777        self.username = username if username is not None else ''
32778        '''
32779         The username to authenticate with.
32780        '''
32781
32782    def __repr__(self):
32783        return '<sdm.SSHCert ' + \
32784            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
32785            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32786            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32787            'healthy: ' + repr(self.healthy) + ' ' +\
32788            'hostname: ' + repr(self.hostname) + ' ' +\
32789            'id: ' + repr(self.id) + ' ' +\
32790            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
32791            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
32792            'key_type: ' + repr(self.key_type) + ' ' +\
32793            'lock_required: ' + repr(self.lock_required) + ' ' +\
32794            'name: ' + repr(self.name) + ' ' +\
32795            'port: ' + repr(self.port) + ' ' +\
32796            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
32797            'port_override: ' + repr(self.port_override) + ' ' +\
32798            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32799            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32800            'subdomain: ' + repr(self.subdomain) + ' ' +\
32801            'tags: ' + repr(self.tags) + ' ' +\
32802            'username: ' + repr(self.username) + ' ' +\
32803            '>'
32804
32805    def to_dict(self):
32806        return {
32807            'allow_deprecated_key_exchanges':
32808            self.allow_deprecated_key_exchanges,
32809            'bind_interface': self.bind_interface,
32810            'egress_filter': self.egress_filter,
32811            'healthy': self.healthy,
32812            'hostname': self.hostname,
32813            'id': self.id,
32814            'identity_alias_healthcheck_username':
32815            self.identity_alias_healthcheck_username,
32816            'identity_set_id': self.identity_set_id,
32817            'key_type': self.key_type,
32818            'lock_required': self.lock_required,
32819            'name': self.name,
32820            'port': self.port,
32821            'port_forwarding': self.port_forwarding,
32822            'port_override': self.port_override,
32823            'proxy_cluster_id': self.proxy_cluster_id,
32824            'secret_store_id': self.secret_store_id,
32825            'subdomain': self.subdomain,
32826            'tags': self.tags,
32827            'username': self.username,
32828        }
32829
32830    @classmethod
32831    def from_dict(cls, d):
32832        return cls(
32833            allow_deprecated_key_exchanges=d.get(
32834                'allow_deprecated_key_exchanges'),
32835            bind_interface=d.get('bind_interface'),
32836            egress_filter=d.get('egress_filter'),
32837            healthy=d.get('healthy'),
32838            hostname=d.get('hostname'),
32839            id=d.get('id'),
32840            identity_alias_healthcheck_username=d.get(
32841                'identity_alias_healthcheck_username'),
32842            identity_set_id=d.get('identity_set_id'),
32843            key_type=d.get('key_type'),
32844            lock_required=d.get('lock_required'),
32845            name=d.get('name'),
32846            port=d.get('port'),
32847            port_forwarding=d.get('port_forwarding'),
32848            port_override=d.get('port_override'),
32849            proxy_cluster_id=d.get('proxy_cluster_id'),
32850            secret_store_id=d.get('secret_store_id'),
32851            subdomain=d.get('subdomain'),
32852            tags=d.get('tags'),
32853            username=d.get('username'),
32854        )
SSHCert( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, key_type=None, lock_required=None, name=None, port=None, port_forwarding=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
32683    def __init__(
32684        self,
32685        allow_deprecated_key_exchanges=None,
32686        bind_interface=None,
32687        egress_filter=None,
32688        healthy=None,
32689        hostname=None,
32690        id=None,
32691        identity_alias_healthcheck_username=None,
32692        identity_set_id=None,
32693        key_type=None,
32694        lock_required=None,
32695        name=None,
32696        port=None,
32697        port_forwarding=None,
32698        port_override=None,
32699        proxy_cluster_id=None,
32700        secret_store_id=None,
32701        subdomain=None,
32702        tags=None,
32703        username=None,
32704    ):
32705        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32706        '''
32707         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32708        '''
32709        self.bind_interface = bind_interface if bind_interface is not None else ''
32710        '''
32711         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32712        '''
32713        self.egress_filter = egress_filter if egress_filter is not None else ''
32714        '''
32715         A filter applied to the routing logic to pin datasource to nodes.
32716        '''
32717        self.healthy = healthy if healthy is not None else False
32718        '''
32719         True if the datasource is reachable and the credentials are valid.
32720        '''
32721        self.hostname = hostname if hostname is not None else ''
32722        '''
32723         The host to dial to initiate a connection from the egress node to this resource.
32724        '''
32725        self.id = id if id is not None else ''
32726        '''
32727         Unique identifier of the Resource.
32728        '''
32729        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32730        '''
32731         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32732        '''
32733        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32734        '''
32735         The ID of the identity set to use for identity connections.
32736        '''
32737        self.key_type = key_type if key_type is not None else ''
32738        '''
32739         The key type to use e.g. rsa-2048 or ed25519
32740        '''
32741        self.lock_required = lock_required if lock_required is not None else False
32742        '''
32743         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32744        '''
32745        self.name = name if name is not None else ''
32746        '''
32747         Unique human-readable name of the Resource.
32748        '''
32749        self.port = port if port is not None else 0
32750        '''
32751         The port to dial to initiate a connection from the egress node to this resource.
32752        '''
32753        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32754        '''
32755         Whether port forwarding is allowed through this server.
32756        '''
32757        self.port_override = port_override if port_override is not None else 0
32758        '''
32759         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32760        '''
32761        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32762        '''
32763         ID of the proxy cluster for this resource, if any.
32764        '''
32765        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32766        '''
32767         ID of the secret store containing credentials for this resource, if any.
32768        '''
32769        self.subdomain = subdomain if subdomain is not None else ''
32770        '''
32771         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32772        '''
32773        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32774        '''
32775         Tags is a map of key, value pairs.
32776        '''
32777        self.username = username if username is not None else ''
32778        '''
32779         The username to authenticate with.
32780        '''
allow_deprecated_key_exchanges

Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

key_type

The key type to use e.g. rsa-2048 or ed25519

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_forwarding

Whether port forwarding is allowed through this server.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
32805    def to_dict(self):
32806        return {
32807            'allow_deprecated_key_exchanges':
32808            self.allow_deprecated_key_exchanges,
32809            'bind_interface': self.bind_interface,
32810            'egress_filter': self.egress_filter,
32811            'healthy': self.healthy,
32812            'hostname': self.hostname,
32813            'id': self.id,
32814            'identity_alias_healthcheck_username':
32815            self.identity_alias_healthcheck_username,
32816            'identity_set_id': self.identity_set_id,
32817            'key_type': self.key_type,
32818            'lock_required': self.lock_required,
32819            'name': self.name,
32820            'port': self.port,
32821            'port_forwarding': self.port_forwarding,
32822            'port_override': self.port_override,
32823            'proxy_cluster_id': self.proxy_cluster_id,
32824            'secret_store_id': self.secret_store_id,
32825            'subdomain': self.subdomain,
32826            'tags': self.tags,
32827            'username': self.username,
32828        }
@classmethod
def from_dict(cls, d)
32830    @classmethod
32831    def from_dict(cls, d):
32832        return cls(
32833            allow_deprecated_key_exchanges=d.get(
32834                'allow_deprecated_key_exchanges'),
32835            bind_interface=d.get('bind_interface'),
32836            egress_filter=d.get('egress_filter'),
32837            healthy=d.get('healthy'),
32838            hostname=d.get('hostname'),
32839            id=d.get('id'),
32840            identity_alias_healthcheck_username=d.get(
32841                'identity_alias_healthcheck_username'),
32842            identity_set_id=d.get('identity_set_id'),
32843            key_type=d.get('key_type'),
32844            lock_required=d.get('lock_required'),
32845            name=d.get('name'),
32846            port=d.get('port'),
32847            port_forwarding=d.get('port_forwarding'),
32848            port_override=d.get('port_override'),
32849            proxy_cluster_id=d.get('proxy_cluster_id'),
32850            secret_store_id=d.get('secret_store_id'),
32851            subdomain=d.get('subdomain'),
32852            tags=d.get('tags'),
32853            username=d.get('username'),
32854        )
class SSHCustomerKey:
32857class SSHCustomerKey:
32858    __slots__ = [
32859        'allow_deprecated_key_exchanges',
32860        'bind_interface',
32861        'egress_filter',
32862        'healthy',
32863        'hostname',
32864        'id',
32865        'identity_alias_healthcheck_username',
32866        'identity_set_id',
32867        'lock_required',
32868        'name',
32869        'port',
32870        'port_forwarding',
32871        'port_override',
32872        'private_key',
32873        'proxy_cluster_id',
32874        'secret_store_id',
32875        'subdomain',
32876        'tags',
32877        'username',
32878    ]
32879
32880    def __init__(
32881        self,
32882        allow_deprecated_key_exchanges=None,
32883        bind_interface=None,
32884        egress_filter=None,
32885        healthy=None,
32886        hostname=None,
32887        id=None,
32888        identity_alias_healthcheck_username=None,
32889        identity_set_id=None,
32890        lock_required=None,
32891        name=None,
32892        port=None,
32893        port_forwarding=None,
32894        port_override=None,
32895        private_key=None,
32896        proxy_cluster_id=None,
32897        secret_store_id=None,
32898        subdomain=None,
32899        tags=None,
32900        username=None,
32901    ):
32902        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32903        '''
32904         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32905        '''
32906        self.bind_interface = bind_interface if bind_interface is not None else ''
32907        '''
32908         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32909        '''
32910        self.egress_filter = egress_filter if egress_filter is not None else ''
32911        '''
32912         A filter applied to the routing logic to pin datasource to nodes.
32913        '''
32914        self.healthy = healthy if healthy is not None else False
32915        '''
32916         True if the datasource is reachable and the credentials are valid.
32917        '''
32918        self.hostname = hostname if hostname is not None else ''
32919        '''
32920         The host to dial to initiate a connection from the egress node to this resource.
32921        '''
32922        self.id = id if id is not None else ''
32923        '''
32924         Unique identifier of the Resource.
32925        '''
32926        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32927        '''
32928         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32929        '''
32930        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32931        '''
32932         The ID of the identity set to use for identity connections.
32933        '''
32934        self.lock_required = lock_required if lock_required is not None else False
32935        '''
32936         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32937        '''
32938        self.name = name if name is not None else ''
32939        '''
32940         Unique human-readable name of the Resource.
32941        '''
32942        self.port = port if port is not None else 0
32943        '''
32944         The port to dial to initiate a connection from the egress node to this resource.
32945        '''
32946        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32947        '''
32948         Whether port forwarding is allowed through this server.
32949        '''
32950        self.port_override = port_override if port_override is not None else 0
32951        '''
32952         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32953        '''
32954        self.private_key = private_key if private_key is not None else ''
32955        '''
32956         The private key used to authenticate with the server.
32957        '''
32958        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32959        '''
32960         ID of the proxy cluster for this resource, if any.
32961        '''
32962        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32963        '''
32964         ID of the secret store containing credentials for this resource, if any.
32965        '''
32966        self.subdomain = subdomain if subdomain is not None else ''
32967        '''
32968         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32969        '''
32970        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32971        '''
32972         Tags is a map of key, value pairs.
32973        '''
32974        self.username = username if username is not None else ''
32975        '''
32976         The username to authenticate with.
32977        '''
32978
32979    def __repr__(self):
32980        return '<sdm.SSHCustomerKey ' + \
32981            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
32982            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32983            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32984            'healthy: ' + repr(self.healthy) + ' ' +\
32985            'hostname: ' + repr(self.hostname) + ' ' +\
32986            'id: ' + repr(self.id) + ' ' +\
32987            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
32988            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
32989            'lock_required: ' + repr(self.lock_required) + ' ' +\
32990            'name: ' + repr(self.name) + ' ' +\
32991            'port: ' + repr(self.port) + ' ' +\
32992            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
32993            'port_override: ' + repr(self.port_override) + ' ' +\
32994            'private_key: ' + repr(self.private_key) + ' ' +\
32995            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32996            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32997            'subdomain: ' + repr(self.subdomain) + ' ' +\
32998            'tags: ' + repr(self.tags) + ' ' +\
32999            'username: ' + repr(self.username) + ' ' +\
33000            '>'
33001
33002    def to_dict(self):
33003        return {
33004            'allow_deprecated_key_exchanges':
33005            self.allow_deprecated_key_exchanges,
33006            'bind_interface': self.bind_interface,
33007            'egress_filter': self.egress_filter,
33008            'healthy': self.healthy,
33009            'hostname': self.hostname,
33010            'id': self.id,
33011            'identity_alias_healthcheck_username':
33012            self.identity_alias_healthcheck_username,
33013            'identity_set_id': self.identity_set_id,
33014            'lock_required': self.lock_required,
33015            'name': self.name,
33016            'port': self.port,
33017            'port_forwarding': self.port_forwarding,
33018            'port_override': self.port_override,
33019            'private_key': self.private_key,
33020            'proxy_cluster_id': self.proxy_cluster_id,
33021            'secret_store_id': self.secret_store_id,
33022            'subdomain': self.subdomain,
33023            'tags': self.tags,
33024            'username': self.username,
33025        }
33026
33027    @classmethod
33028    def from_dict(cls, d):
33029        return cls(
33030            allow_deprecated_key_exchanges=d.get(
33031                'allow_deprecated_key_exchanges'),
33032            bind_interface=d.get('bind_interface'),
33033            egress_filter=d.get('egress_filter'),
33034            healthy=d.get('healthy'),
33035            hostname=d.get('hostname'),
33036            id=d.get('id'),
33037            identity_alias_healthcheck_username=d.get(
33038                'identity_alias_healthcheck_username'),
33039            identity_set_id=d.get('identity_set_id'),
33040            lock_required=d.get('lock_required'),
33041            name=d.get('name'),
33042            port=d.get('port'),
33043            port_forwarding=d.get('port_forwarding'),
33044            port_override=d.get('port_override'),
33045            private_key=d.get('private_key'),
33046            proxy_cluster_id=d.get('proxy_cluster_id'),
33047            secret_store_id=d.get('secret_store_id'),
33048            subdomain=d.get('subdomain'),
33049            tags=d.get('tags'),
33050            username=d.get('username'),
33051        )
SSHCustomerKey( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, lock_required=None, name=None, port=None, port_forwarding=None, port_override=None, private_key=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
32880    def __init__(
32881        self,
32882        allow_deprecated_key_exchanges=None,
32883        bind_interface=None,
32884        egress_filter=None,
32885        healthy=None,
32886        hostname=None,
32887        id=None,
32888        identity_alias_healthcheck_username=None,
32889        identity_set_id=None,
32890        lock_required=None,
32891        name=None,
32892        port=None,
32893        port_forwarding=None,
32894        port_override=None,
32895        private_key=None,
32896        proxy_cluster_id=None,
32897        secret_store_id=None,
32898        subdomain=None,
32899        tags=None,
32900        username=None,
32901    ):
32902        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
32903        '''
32904         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
32905        '''
32906        self.bind_interface = bind_interface if bind_interface is not None else ''
32907        '''
32908         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32909        '''
32910        self.egress_filter = egress_filter if egress_filter is not None else ''
32911        '''
32912         A filter applied to the routing logic to pin datasource to nodes.
32913        '''
32914        self.healthy = healthy if healthy is not None else False
32915        '''
32916         True if the datasource is reachable and the credentials are valid.
32917        '''
32918        self.hostname = hostname if hostname is not None else ''
32919        '''
32920         The host to dial to initiate a connection from the egress node to this resource.
32921        '''
32922        self.id = id if id is not None else ''
32923        '''
32924         Unique identifier of the Resource.
32925        '''
32926        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
32927        '''
32928         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
32929        '''
32930        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
32931        '''
32932         The ID of the identity set to use for identity connections.
32933        '''
32934        self.lock_required = lock_required if lock_required is not None else False
32935        '''
32936         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
32937        '''
32938        self.name = name if name is not None else ''
32939        '''
32940         Unique human-readable name of the Resource.
32941        '''
32942        self.port = port if port is not None else 0
32943        '''
32944         The port to dial to initiate a connection from the egress node to this resource.
32945        '''
32946        self.port_forwarding = port_forwarding if port_forwarding is not None else False
32947        '''
32948         Whether port forwarding is allowed through this server.
32949        '''
32950        self.port_override = port_override if port_override is not None else 0
32951        '''
32952         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32953        '''
32954        self.private_key = private_key if private_key is not None else ''
32955        '''
32956         The private key used to authenticate with the server.
32957        '''
32958        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32959        '''
32960         ID of the proxy cluster for this resource, if any.
32961        '''
32962        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32963        '''
32964         ID of the secret store containing credentials for this resource, if any.
32965        '''
32966        self.subdomain = subdomain if subdomain is not None else ''
32967        '''
32968         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32969        '''
32970        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32971        '''
32972         Tags is a map of key, value pairs.
32973        '''
32974        self.username = username if username is not None else ''
32975        '''
32976         The username to authenticate with.
32977        '''
allow_deprecated_key_exchanges

Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_forwarding

Whether port forwarding is allowed through this server.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

private_key

The private key used to authenticate with the server.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
33002    def to_dict(self):
33003        return {
33004            'allow_deprecated_key_exchanges':
33005            self.allow_deprecated_key_exchanges,
33006            'bind_interface': self.bind_interface,
33007            'egress_filter': self.egress_filter,
33008            'healthy': self.healthy,
33009            'hostname': self.hostname,
33010            'id': self.id,
33011            'identity_alias_healthcheck_username':
33012            self.identity_alias_healthcheck_username,
33013            'identity_set_id': self.identity_set_id,
33014            'lock_required': self.lock_required,
33015            'name': self.name,
33016            'port': self.port,
33017            'port_forwarding': self.port_forwarding,
33018            'port_override': self.port_override,
33019            'private_key': self.private_key,
33020            'proxy_cluster_id': self.proxy_cluster_id,
33021            'secret_store_id': self.secret_store_id,
33022            'subdomain': self.subdomain,
33023            'tags': self.tags,
33024            'username': self.username,
33025        }
@classmethod
def from_dict(cls, d)
33027    @classmethod
33028    def from_dict(cls, d):
33029        return cls(
33030            allow_deprecated_key_exchanges=d.get(
33031                'allow_deprecated_key_exchanges'),
33032            bind_interface=d.get('bind_interface'),
33033            egress_filter=d.get('egress_filter'),
33034            healthy=d.get('healthy'),
33035            hostname=d.get('hostname'),
33036            id=d.get('id'),
33037            identity_alias_healthcheck_username=d.get(
33038                'identity_alias_healthcheck_username'),
33039            identity_set_id=d.get('identity_set_id'),
33040            lock_required=d.get('lock_required'),
33041            name=d.get('name'),
33042            port=d.get('port'),
33043            port_forwarding=d.get('port_forwarding'),
33044            port_override=d.get('port_override'),
33045            private_key=d.get('private_key'),
33046            proxy_cluster_id=d.get('proxy_cluster_id'),
33047            secret_store_id=d.get('secret_store_id'),
33048            subdomain=d.get('subdomain'),
33049            tags=d.get('tags'),
33050            username=d.get('username'),
33051        )
class SSHPassword:
33054class SSHPassword:
33055    __slots__ = [
33056        'allow_deprecated_key_exchanges',
33057        'bind_interface',
33058        'egress_filter',
33059        'healthy',
33060        'hostname',
33061        'id',
33062        'lock_required',
33063        'name',
33064        'password',
33065        'port',
33066        'port_forwarding',
33067        'port_override',
33068        'proxy_cluster_id',
33069        'secret_store_id',
33070        'subdomain',
33071        'tags',
33072        'username',
33073    ]
33074
33075    def __init__(
33076        self,
33077        allow_deprecated_key_exchanges=None,
33078        bind_interface=None,
33079        egress_filter=None,
33080        healthy=None,
33081        hostname=None,
33082        id=None,
33083        lock_required=None,
33084        name=None,
33085        password=None,
33086        port=None,
33087        port_forwarding=None,
33088        port_override=None,
33089        proxy_cluster_id=None,
33090        secret_store_id=None,
33091        subdomain=None,
33092        tags=None,
33093        username=None,
33094    ):
33095        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
33096        '''
33097         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
33098        '''
33099        self.bind_interface = bind_interface if bind_interface is not None else ''
33100        '''
33101         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
33102        '''
33103        self.egress_filter = egress_filter if egress_filter is not None else ''
33104        '''
33105         A filter applied to the routing logic to pin datasource to nodes.
33106        '''
33107        self.healthy = healthy if healthy is not None else False
33108        '''
33109         True if the datasource is reachable and the credentials are valid.
33110        '''
33111        self.hostname = hostname if hostname is not None else ''
33112        '''
33113         The host to dial to initiate a connection from the egress node to this resource.
33114        '''
33115        self.id = id if id is not None else ''
33116        '''
33117         Unique identifier of the Resource.
33118        '''
33119        self.lock_required = lock_required if lock_required is not None else False
33120        '''
33121         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
33122        '''
33123        self.name = name if name is not None else ''
33124        '''
33125         Unique human-readable name of the Resource.
33126        '''
33127        self.password = password if password is not None else ''
33128        '''
33129         The password to authenticate with.
33130        '''
33131        self.port = port if port is not None else 0
33132        '''
33133         The port to dial to initiate a connection from the egress node to this resource.
33134        '''
33135        self.port_forwarding = port_forwarding if port_forwarding is not None else False
33136        '''
33137         Whether port forwarding is allowed through this server.
33138        '''
33139        self.port_override = port_override if port_override is not None else 0
33140        '''
33141         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
33142        '''
33143        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
33144        '''
33145         ID of the proxy cluster for this resource, if any.
33146        '''
33147        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33148        '''
33149         ID of the secret store containing credentials for this resource, if any.
33150        '''
33151        self.subdomain = subdomain if subdomain is not None else ''
33152        '''
33153         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
33154        '''
33155        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33156        '''
33157         Tags is a map of key, value pairs.
33158        '''
33159        self.username = username if username is not None else ''
33160        '''
33161         The username to authenticate with.
33162        '''
33163
33164    def __repr__(self):
33165        return '<sdm.SSHPassword ' + \
33166            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
33167            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
33168            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
33169            'healthy: ' + repr(self.healthy) + ' ' +\
33170            'hostname: ' + repr(self.hostname) + ' ' +\
33171            'id: ' + repr(self.id) + ' ' +\
33172            'lock_required: ' + repr(self.lock_required) + ' ' +\
33173            'name: ' + repr(self.name) + ' ' +\
33174            'password: ' + repr(self.password) + ' ' +\
33175            'port: ' + repr(self.port) + ' ' +\
33176            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
33177            'port_override: ' + repr(self.port_override) + ' ' +\
33178            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
33179            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
33180            'subdomain: ' + repr(self.subdomain) + ' ' +\
33181            'tags: ' + repr(self.tags) + ' ' +\
33182            'username: ' + repr(self.username) + ' ' +\
33183            '>'
33184
33185    def to_dict(self):
33186        return {
33187            'allow_deprecated_key_exchanges':
33188            self.allow_deprecated_key_exchanges,
33189            'bind_interface': self.bind_interface,
33190            'egress_filter': self.egress_filter,
33191            'healthy': self.healthy,
33192            'hostname': self.hostname,
33193            'id': self.id,
33194            'lock_required': self.lock_required,
33195            'name': self.name,
33196            'password': self.password,
33197            'port': self.port,
33198            'port_forwarding': self.port_forwarding,
33199            'port_override': self.port_override,
33200            'proxy_cluster_id': self.proxy_cluster_id,
33201            'secret_store_id': self.secret_store_id,
33202            'subdomain': self.subdomain,
33203            'tags': self.tags,
33204            'username': self.username,
33205        }
33206
33207    @classmethod
33208    def from_dict(cls, d):
33209        return cls(
33210            allow_deprecated_key_exchanges=d.get(
33211                'allow_deprecated_key_exchanges'),
33212            bind_interface=d.get('bind_interface'),
33213            egress_filter=d.get('egress_filter'),
33214            healthy=d.get('healthy'),
33215            hostname=d.get('hostname'),
33216            id=d.get('id'),
33217            lock_required=d.get('lock_required'),
33218            name=d.get('name'),
33219            password=d.get('password'),
33220            port=d.get('port'),
33221            port_forwarding=d.get('port_forwarding'),
33222            port_override=d.get('port_override'),
33223            proxy_cluster_id=d.get('proxy_cluster_id'),
33224            secret_store_id=d.get('secret_store_id'),
33225            subdomain=d.get('subdomain'),
33226            tags=d.get('tags'),
33227            username=d.get('username'),
33228        )
SSHPassword( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, lock_required=None, name=None, password=None, port=None, port_forwarding=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
33075    def __init__(
33076        self,
33077        allow_deprecated_key_exchanges=None,
33078        bind_interface=None,
33079        egress_filter=None,
33080        healthy=None,
33081        hostname=None,
33082        id=None,
33083        lock_required=None,
33084        name=None,
33085        password=None,
33086        port=None,
33087        port_forwarding=None,
33088        port_override=None,
33089        proxy_cluster_id=None,
33090        secret_store_id=None,
33091        subdomain=None,
33092        tags=None,
33093        username=None,
33094    ):
33095        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
33096        '''
33097         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
33098        '''
33099        self.bind_interface = bind_interface if bind_interface is not None else ''
33100        '''
33101         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
33102        '''
33103        self.egress_filter = egress_filter if egress_filter is not None else ''
33104        '''
33105         A filter applied to the routing logic to pin datasource to nodes.
33106        '''
33107        self.healthy = healthy if healthy is not None else False
33108        '''
33109         True if the datasource is reachable and the credentials are valid.
33110        '''
33111        self.hostname = hostname if hostname is not None else ''
33112        '''
33113         The host to dial to initiate a connection from the egress node to this resource.
33114        '''
33115        self.id = id if id is not None else ''
33116        '''
33117         Unique identifier of the Resource.
33118        '''
33119        self.lock_required = lock_required if lock_required is not None else False
33120        '''
33121         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
33122        '''
33123        self.name = name if name is not None else ''
33124        '''
33125         Unique human-readable name of the Resource.
33126        '''
33127        self.password = password if password is not None else ''
33128        '''
33129         The password to authenticate with.
33130        '''
33131        self.port = port if port is not None else 0
33132        '''
33133         The port to dial to initiate a connection from the egress node to this resource.
33134        '''
33135        self.port_forwarding = port_forwarding if port_forwarding is not None else False
33136        '''
33137         Whether port forwarding is allowed through this server.
33138        '''
33139        self.port_override = port_override if port_override is not None else 0
33140        '''
33141         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
33142        '''
33143        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
33144        '''
33145         ID of the proxy cluster for this resource, if any.
33146        '''
33147        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33148        '''
33149         ID of the secret store containing credentials for this resource, if any.
33150        '''
33151        self.subdomain = subdomain if subdomain is not None else ''
33152        '''
33153         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
33154        '''
33155        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33156        '''
33157         Tags is a map of key, value pairs.
33158        '''
33159        self.username = username if username is not None else ''
33160        '''
33161         The username to authenticate with.
33162        '''
allow_deprecated_key_exchanges

Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.

bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_forwarding

Whether port forwarding is allowed through this server.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
33185    def to_dict(self):
33186        return {
33187            'allow_deprecated_key_exchanges':
33188            self.allow_deprecated_key_exchanges,
33189            'bind_interface': self.bind_interface,
33190            'egress_filter': self.egress_filter,
33191            'healthy': self.healthy,
33192            'hostname': self.hostname,
33193            'id': self.id,
33194            'lock_required': self.lock_required,
33195            'name': self.name,
33196            'password': self.password,
33197            'port': self.port,
33198            'port_forwarding': self.port_forwarding,
33199            'port_override': self.port_override,
33200            'proxy_cluster_id': self.proxy_cluster_id,
33201            'secret_store_id': self.secret_store_id,
33202            'subdomain': self.subdomain,
33203            'tags': self.tags,
33204            'username': self.username,
33205        }
@classmethod
def from_dict(cls, d)
33207    @classmethod
33208    def from_dict(cls, d):
33209        return cls(
33210            allow_deprecated_key_exchanges=d.get(
33211                'allow_deprecated_key_exchanges'),
33212            bind_interface=d.get('bind_interface'),
33213            egress_filter=d.get('egress_filter'),
33214            healthy=d.get('healthy'),
33215            hostname=d.get('hostname'),
33216            id=d.get('id'),
33217            lock_required=d.get('lock_required'),
33218            name=d.get('name'),
33219            password=d.get('password'),
33220            port=d.get('port'),
33221            port_forwarding=d.get('port_forwarding'),
33222            port_override=d.get('port_override'),
33223            proxy_cluster_id=d.get('proxy_cluster_id'),
33224            secret_store_id=d.get('secret_store_id'),
33225            subdomain=d.get('subdomain'),
33226            tags=d.get('tags'),
33227            username=d.get('username'),
33228        )
class SecretEngineCreateRequest:
33231class SecretEngineCreateRequest:
33232    '''
33233         SecretEngineCreateRequest specifies a Secret Engine to create.
33234    '''
33235    __slots__ = [
33236        'secret_engine',
33237    ]
33238
33239    def __init__(
33240        self,
33241        secret_engine=None,
33242    ):
33243        self.secret_engine = secret_engine if secret_engine is not None else None
33244        '''
33245         Parameters to define the new Secret Engine.
33246        '''
33247
33248    def __repr__(self):
33249        return '<sdm.SecretEngineCreateRequest ' + \
33250            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33251            '>'
33252
33253    def to_dict(self):
33254        return {
33255            'secret_engine': self.secret_engine,
33256        }
33257
33258    @classmethod
33259    def from_dict(cls, d):
33260        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineCreateRequest specifies a Secret Engine to create.

SecretEngineCreateRequest(secret_engine=None)
33239    def __init__(
33240        self,
33241        secret_engine=None,
33242    ):
33243        self.secret_engine = secret_engine if secret_engine is not None else None
33244        '''
33245         Parameters to define the new Secret Engine.
33246        '''
secret_engine

Parameters to define the new Secret Engine.

def to_dict(self)
33253    def to_dict(self):
33254        return {
33255            'secret_engine': self.secret_engine,
33256        }
@classmethod
def from_dict(cls, d)
33258    @classmethod
33259    def from_dict(cls, d):
33260        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineCreateResponse:
33263class SecretEngineCreateResponse:
33264    '''
33265         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
33266    '''
33267    __slots__ = [
33268        'meta',
33269        'rate_limit',
33270        'secret_engine',
33271    ]
33272
33273    def __init__(
33274        self,
33275        meta=None,
33276        rate_limit=None,
33277        secret_engine=None,
33278    ):
33279        self.meta = meta if meta is not None else None
33280        '''
33281         Reserved for future use.
33282        '''
33283        self.rate_limit = rate_limit if rate_limit is not None else None
33284        '''
33285         Rate limit information.
33286        '''
33287        self.secret_engine = secret_engine if secret_engine is not None else None
33288        '''
33289         The requested Secret Engine.
33290        '''
33291
33292    def __repr__(self):
33293        return '<sdm.SecretEngineCreateResponse ' + \
33294            'meta: ' + repr(self.meta) + ' ' +\
33295            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33296            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33297            '>'
33298
33299    def to_dict(self):
33300        return {
33301            'meta': self.meta,
33302            'rate_limit': self.rate_limit,
33303            'secret_engine': self.secret_engine,
33304        }
33305
33306    @classmethod
33307    def from_dict(cls, d):
33308        return cls(
33309            meta=d.get('meta'),
33310            rate_limit=d.get('rate_limit'),
33311            secret_engine=d.get('secret_engine'),
33312        )

SecretEngineCreateResponse contains information about a Secret Engine after successful creation.

SecretEngineCreateResponse(meta=None, rate_limit=None, secret_engine=None)
33273    def __init__(
33274        self,
33275        meta=None,
33276        rate_limit=None,
33277        secret_engine=None,
33278    ):
33279        self.meta = meta if meta is not None else None
33280        '''
33281         Reserved for future use.
33282        '''
33283        self.rate_limit = rate_limit if rate_limit is not None else None
33284        '''
33285         Rate limit information.
33286        '''
33287        self.secret_engine = secret_engine if secret_engine is not None else None
33288        '''
33289         The requested Secret Engine.
33290        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
33299    def to_dict(self):
33300        return {
33301            'meta': self.meta,
33302            'rate_limit': self.rate_limit,
33303            'secret_engine': self.secret_engine,
33304        }
@classmethod
def from_dict(cls, d)
33306    @classmethod
33307    def from_dict(cls, d):
33308        return cls(
33309            meta=d.get('meta'),
33310            rate_limit=d.get('rate_limit'),
33311            secret_engine=d.get('secret_engine'),
33312        )
class SecretEngineDeleteRequest:
33315class SecretEngineDeleteRequest:
33316    '''
33317         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
33318    '''
33319    __slots__ = [
33320        'id',
33321    ]
33322
33323    def __init__(
33324        self,
33325        id=None,
33326    ):
33327        self.id = id if id is not None else ''
33328        '''
33329         The unique identifier of the Secret Engine to delete.
33330        '''
33331
33332    def __repr__(self):
33333        return '<sdm.SecretEngineDeleteRequest ' + \
33334            'id: ' + repr(self.id) + ' ' +\
33335            '>'
33336
33337    def to_dict(self):
33338        return {
33339            'id': self.id,
33340        }
33341
33342    @classmethod
33343    def from_dict(cls, d):
33344        return cls(id=d.get('id'), )

SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.

SecretEngineDeleteRequest(id=None)
33323    def __init__(
33324        self,
33325        id=None,
33326    ):
33327        self.id = id if id is not None else ''
33328        '''
33329         The unique identifier of the Secret Engine to delete.
33330        '''
id

The unique identifier of the Secret Engine to delete.

def to_dict(self)
33337    def to_dict(self):
33338        return {
33339            'id': self.id,
33340        }
@classmethod
def from_dict(cls, d)
33342    @classmethod
33343    def from_dict(cls, d):
33344        return cls(id=d.get('id'), )
class SecretEngineDeleteResponse:
33347class SecretEngineDeleteResponse:
33348    '''
33349         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
33350    '''
33351    __slots__ = [
33352        'rate_limit',
33353    ]
33354
33355    def __init__(
33356        self,
33357        rate_limit=None,
33358    ):
33359        self.rate_limit = rate_limit if rate_limit is not None else None
33360        '''
33361         Rate limit information.
33362        '''
33363
33364    def __repr__(self):
33365        return '<sdm.SecretEngineDeleteResponse ' + \
33366            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33367            '>'
33368
33369    def to_dict(self):
33370        return {
33371            'rate_limit': self.rate_limit,
33372        }
33373
33374    @classmethod
33375    def from_dict(cls, d):
33376        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.

SecretEngineDeleteResponse(rate_limit=None)
33355    def __init__(
33356        self,
33357        rate_limit=None,
33358    ):
33359        self.rate_limit = rate_limit if rate_limit is not None else None
33360        '''
33361         Rate limit information.
33362        '''
rate_limit

Rate limit information.

def to_dict(self)
33369    def to_dict(self):
33370        return {
33371            'rate_limit': self.rate_limit,
33372        }
@classmethod
def from_dict(cls, d)
33374    @classmethod
33375    def from_dict(cls, d):
33376        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineGetRequest:
33379class SecretEngineGetRequest:
33380    '''
33381         SecretEngineGetRequest specifies which Secret Engine to retrieve
33382    '''
33383    __slots__ = [
33384        'id',
33385    ]
33386
33387    def __init__(
33388        self,
33389        id=None,
33390    ):
33391        self.id = id if id is not None else ''
33392        '''
33393         The unique identifier of the Secret Engine to retrieve.
33394        '''
33395
33396    def __repr__(self):
33397        return '<sdm.SecretEngineGetRequest ' + \
33398            'id: ' + repr(self.id) + ' ' +\
33399            '>'
33400
33401    def to_dict(self):
33402        return {
33403            'id': self.id,
33404        }
33405
33406    @classmethod
33407    def from_dict(cls, d):
33408        return cls(id=d.get('id'), )

SecretEngineGetRequest specifies which Secret Engine to retrieve

SecretEngineGetRequest(id=None)
33387    def __init__(
33388        self,
33389        id=None,
33390    ):
33391        self.id = id if id is not None else ''
33392        '''
33393         The unique identifier of the Secret Engine to retrieve.
33394        '''
id

The unique identifier of the Secret Engine to retrieve.

def to_dict(self)
33401    def to_dict(self):
33402        return {
33403            'id': self.id,
33404        }
@classmethod
def from_dict(cls, d)
33406    @classmethod
33407    def from_dict(cls, d):
33408        return cls(id=d.get('id'), )
class SecretEngineGetResponse:
33411class SecretEngineGetResponse:
33412    '''
33413         SecretEngineGetResponse contains information about requested Secret Engine
33414    '''
33415    __slots__ = [
33416        'meta',
33417        'rate_limit',
33418        'secret_engine',
33419    ]
33420
33421    def __init__(
33422        self,
33423        meta=None,
33424        rate_limit=None,
33425        secret_engine=None,
33426    ):
33427        self.meta = meta if meta is not None else None
33428        '''
33429         Reserved for future use.
33430        '''
33431        self.rate_limit = rate_limit if rate_limit is not None else None
33432        '''
33433         Rate limit information.
33434        '''
33435        self.secret_engine = secret_engine if secret_engine is not None else None
33436        '''
33437         The requested Secret Engine.
33438        '''
33439
33440    def __repr__(self):
33441        return '<sdm.SecretEngineGetResponse ' + \
33442            'meta: ' + repr(self.meta) + ' ' +\
33443            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33444            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33445            '>'
33446
33447    def to_dict(self):
33448        return {
33449            'meta': self.meta,
33450            'rate_limit': self.rate_limit,
33451            'secret_engine': self.secret_engine,
33452        }
33453
33454    @classmethod
33455    def from_dict(cls, d):
33456        return cls(
33457            meta=d.get('meta'),
33458            rate_limit=d.get('rate_limit'),
33459            secret_engine=d.get('secret_engine'),
33460        )

SecretEngineGetResponse contains information about requested Secret Engine

SecretEngineGetResponse(meta=None, rate_limit=None, secret_engine=None)
33421    def __init__(
33422        self,
33423        meta=None,
33424        rate_limit=None,
33425        secret_engine=None,
33426    ):
33427        self.meta = meta if meta is not None else None
33428        '''
33429         Reserved for future use.
33430        '''
33431        self.rate_limit = rate_limit if rate_limit is not None else None
33432        '''
33433         Rate limit information.
33434        '''
33435        self.secret_engine = secret_engine if secret_engine is not None else None
33436        '''
33437         The requested Secret Engine.
33438        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
33447    def to_dict(self):
33448        return {
33449            'meta': self.meta,
33450            'rate_limit': self.rate_limit,
33451            'secret_engine': self.secret_engine,
33452        }
@classmethod
def from_dict(cls, d)
33454    @classmethod
33455    def from_dict(cls, d):
33456        return cls(
33457            meta=d.get('meta'),
33458            rate_limit=d.get('rate_limit'),
33459            secret_engine=d.get('secret_engine'),
33460        )
class SecretEngineListRequest:
33463class SecretEngineListRequest:
33464    '''
33465         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
33466    '''
33467    __slots__ = [
33468        'filter',
33469    ]
33470
33471    def __init__(
33472        self,
33473        filter=None,
33474    ):
33475        self.filter = filter if filter is not None else ''
33476        '''
33477         A human-readable filter query string.
33478        '''
33479
33480    def __repr__(self):
33481        return '<sdm.SecretEngineListRequest ' + \
33482            'filter: ' + repr(self.filter) + ' ' +\
33483            '>'
33484
33485    def to_dict(self):
33486        return {
33487            'filter': self.filter,
33488        }
33489
33490    @classmethod
33491    def from_dict(cls, d):
33492        return cls(filter=d.get('filter'), )

SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines

SecretEngineListRequest(filter=None)
33471    def __init__(
33472        self,
33473        filter=None,
33474    ):
33475        self.filter = filter if filter is not None else ''
33476        '''
33477         A human-readable filter query string.
33478        '''
filter

A human-readable filter query string.

def to_dict(self)
33485    def to_dict(self):
33486        return {
33487            'filter': self.filter,
33488        }
@classmethod
def from_dict(cls, d)
33490    @classmethod
33491    def from_dict(cls, d):
33492        return cls(filter=d.get('filter'), )
class SecretEngineListResponse:
33495class SecretEngineListResponse:
33496    '''
33497         SecretEngineListResponse contains a list of requested Secret Engine
33498    '''
33499    __slots__ = [
33500        'rate_limit',
33501    ]
33502
33503    def __init__(
33504        self,
33505        rate_limit=None,
33506    ):
33507        self.rate_limit = rate_limit if rate_limit is not None else None
33508        '''
33509         Rate limit information.
33510        '''
33511
33512    def __repr__(self):
33513        return '<sdm.SecretEngineListResponse ' + \
33514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33515            '>'
33516
33517    def to_dict(self):
33518        return {
33519            'rate_limit': self.rate_limit,
33520        }
33521
33522    @classmethod
33523    def from_dict(cls, d):
33524        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineListResponse contains a list of requested Secret Engine

SecretEngineListResponse(rate_limit=None)
33503    def __init__(
33504        self,
33505        rate_limit=None,
33506    ):
33507        self.rate_limit = rate_limit if rate_limit is not None else None
33508        '''
33509         Rate limit information.
33510        '''
rate_limit

Rate limit information.

def to_dict(self)
33517    def to_dict(self):
33518        return {
33519            'rate_limit': self.rate_limit,
33520        }
@classmethod
def from_dict(cls, d)
33522    @classmethod
33523    def from_dict(cls, d):
33524        return cls(rate_limit=d.get('rate_limit'), )
class SecretEnginePasswordPolicy:
33527class SecretEnginePasswordPolicy:
33528    __slots__ = [
33529        'allow_repeat',
33530        'exclude_characters',
33531        'exclude_upper_case',
33532        'length',
33533        'num_digits',
33534        'num_symbols',
33535    ]
33536
33537    def __init__(
33538        self,
33539        allow_repeat=None,
33540        exclude_characters=None,
33541        exclude_upper_case=None,
33542        length=None,
33543        num_digits=None,
33544        num_symbols=None,
33545    ):
33546        self.allow_repeat = allow_repeat if allow_repeat is not None else False
33547        '''
33548         If set to true allows for consecutive characters to repeat itself
33549        '''
33550        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
33551        '''
33552         Characters to exclude when generating password
33553        '''
33554        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
33555        '''
33556         If set to true do not include upper case letters when generating password
33557        '''
33558        self.length = length if length is not None else 0
33559        '''
33560         Password length.
33561        '''
33562        self.num_digits = num_digits if num_digits is not None else 0
33563        '''
33564         Numbers of digits to use when generating password
33565        '''
33566        self.num_symbols = num_symbols if num_symbols is not None else 0
33567        '''
33568         Number of symbols to use when generating password
33569        '''
33570
33571    def __repr__(self):
33572        return '<sdm.SecretEnginePasswordPolicy ' + \
33573            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
33574            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
33575            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
33576            'length: ' + repr(self.length) + ' ' +\
33577            'num_digits: ' + repr(self.num_digits) + ' ' +\
33578            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
33579            '>'
33580
33581    def to_dict(self):
33582        return {
33583            'allow_repeat': self.allow_repeat,
33584            'exclude_characters': self.exclude_characters,
33585            'exclude_upper_case': self.exclude_upper_case,
33586            'length': self.length,
33587            'num_digits': self.num_digits,
33588            'num_symbols': self.num_symbols,
33589        }
33590
33591    @classmethod
33592    def from_dict(cls, d):
33593        return cls(
33594            allow_repeat=d.get('allow_repeat'),
33595            exclude_characters=d.get('exclude_characters'),
33596            exclude_upper_case=d.get('exclude_upper_case'),
33597            length=d.get('length'),
33598            num_digits=d.get('num_digits'),
33599            num_symbols=d.get('num_symbols'),
33600        )
SecretEnginePasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
33537    def __init__(
33538        self,
33539        allow_repeat=None,
33540        exclude_characters=None,
33541        exclude_upper_case=None,
33542        length=None,
33543        num_digits=None,
33544        num_symbols=None,
33545    ):
33546        self.allow_repeat = allow_repeat if allow_repeat is not None else False
33547        '''
33548         If set to true allows for consecutive characters to repeat itself
33549        '''
33550        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
33551        '''
33552         Characters to exclude when generating password
33553        '''
33554        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
33555        '''
33556         If set to true do not include upper case letters when generating password
33557        '''
33558        self.length = length if length is not None else 0
33559        '''
33560         Password length.
33561        '''
33562        self.num_digits = num_digits if num_digits is not None else 0
33563        '''
33564         Numbers of digits to use when generating password
33565        '''
33566        self.num_symbols = num_symbols if num_symbols is not None else 0
33567        '''
33568         Number of symbols to use when generating password
33569        '''
allow_repeat

If set to true allows for consecutive characters to repeat itself

exclude_characters

Characters to exclude when generating password

exclude_upper_case

If set to true do not include upper case letters when generating password

length

Password length.

num_digits

Numbers of digits to use when generating password

num_symbols

Number of symbols to use when generating password

def to_dict(self)
33581    def to_dict(self):
33582        return {
33583            'allow_repeat': self.allow_repeat,
33584            'exclude_characters': self.exclude_characters,
33585            'exclude_upper_case': self.exclude_upper_case,
33586            'length': self.length,
33587            'num_digits': self.num_digits,
33588            'num_symbols': self.num_symbols,
33589        }
@classmethod
def from_dict(cls, d)
33591    @classmethod
33592    def from_dict(cls, d):
33593        return cls(
33594            allow_repeat=d.get('allow_repeat'),
33595            exclude_characters=d.get('exclude_characters'),
33596            exclude_upper_case=d.get('exclude_upper_case'),
33597            length=d.get('length'),
33598            num_digits=d.get('num_digits'),
33599            num_symbols=d.get('num_symbols'),
33600        )
class SecretEnginePolicy:
33603class SecretEnginePolicy:
33604    __slots__ = [
33605        'password_policy',
33606    ]
33607
33608    def __init__(
33609        self,
33610        password_policy=None,
33611    ):
33612        self.password_policy = password_policy if password_policy is not None else None
33613        '''
33614         Policy for password
33615        '''
33616
33617    def __repr__(self):
33618        return '<sdm.SecretEnginePolicy ' + \
33619            'password_policy: ' + repr(self.password_policy) + ' ' +\
33620            '>'
33621
33622    def to_dict(self):
33623        return {
33624            'password_policy': self.password_policy,
33625        }
33626
33627    @classmethod
33628    def from_dict(cls, d):
33629        return cls(password_policy=d.get('password_policy'), )
SecretEnginePolicy(password_policy=None)
33608    def __init__(
33609        self,
33610        password_policy=None,
33611    ):
33612        self.password_policy = password_policy if password_policy is not None else None
33613        '''
33614         Policy for password
33615        '''
password_policy

Policy for password

def to_dict(self)
33622    def to_dict(self):
33623        return {
33624            'password_policy': self.password_policy,
33625        }
@classmethod
def from_dict(cls, d)
33627    @classmethod
33628    def from_dict(cls, d):
33629        return cls(password_policy=d.get('password_policy'), )
class SecretEngineRotateRequest:
33632class SecretEngineRotateRequest:
33633    __slots__ = [
33634        'id',
33635        'password_policy',
33636    ]
33637
33638    def __init__(
33639        self,
33640        id=None,
33641        password_policy=None,
33642    ):
33643        self.id = id if id is not None else ''
33644        '''
33645         The unique identifier of the Secret Engine to rotate credentials for.
33646        '''
33647        self.password_policy = password_policy if password_policy is not None else None
33648        '''
33649         Optional password policy to use when generating a password
33650         If not provided it will use secret engine's password_policy
33651        '''
33652
33653    def __repr__(self):
33654        return '<sdm.SecretEngineRotateRequest ' + \
33655            'id: ' + repr(self.id) + ' ' +\
33656            'password_policy: ' + repr(self.password_policy) + ' ' +\
33657            '>'
33658
33659    def to_dict(self):
33660        return {
33661            'id': self.id,
33662            'password_policy': self.password_policy,
33663        }
33664
33665    @classmethod
33666    def from_dict(cls, d):
33667        return cls(
33668            id=d.get('id'),
33669            password_policy=d.get('password_policy'),
33670        )
SecretEngineRotateRequest(id=None, password_policy=None)
33638    def __init__(
33639        self,
33640        id=None,
33641        password_policy=None,
33642    ):
33643        self.id = id if id is not None else ''
33644        '''
33645         The unique identifier of the Secret Engine to rotate credentials for.
33646        '''
33647        self.password_policy = password_policy if password_policy is not None else None
33648        '''
33649         Optional password policy to use when generating a password
33650         If not provided it will use secret engine's password_policy
33651        '''
id

The unique identifier of the Secret Engine to rotate credentials for.

password_policy

Optional password policy to use when generating a password If not provided it will use secret engine's password_policy

def to_dict(self)
33659    def to_dict(self):
33660        return {
33661            'id': self.id,
33662            'password_policy': self.password_policy,
33663        }
@classmethod
def from_dict(cls, d)
33665    @classmethod
33666    def from_dict(cls, d):
33667        return cls(
33668            id=d.get('id'),
33669            password_policy=d.get('password_policy'),
33670        )
class SecretEngineRotateResponse:
33673class SecretEngineRotateResponse:
33674    __slots__ = [
33675        'rate_limit',
33676    ]
33677
33678    def __init__(
33679        self,
33680        rate_limit=None,
33681    ):
33682        self.rate_limit = rate_limit if rate_limit is not None else None
33683        '''
33684         Rate limit information.
33685        '''
33686
33687    def __repr__(self):
33688        return '<sdm.SecretEngineRotateResponse ' + \
33689            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33690            '>'
33691
33692    def to_dict(self):
33693        return {
33694            'rate_limit': self.rate_limit,
33695        }
33696
33697    @classmethod
33698    def from_dict(cls, d):
33699        return cls(rate_limit=d.get('rate_limit'), )
SecretEngineRotateResponse(rate_limit=None)
33678    def __init__(
33679        self,
33680        rate_limit=None,
33681    ):
33682        self.rate_limit = rate_limit if rate_limit is not None else None
33683        '''
33684         Rate limit information.
33685        '''
rate_limit

Rate limit information.

def to_dict(self)
33692    def to_dict(self):
33693        return {
33694            'rate_limit': self.rate_limit,
33695        }
@classmethod
def from_dict(cls, d)
33697    @classmethod
33698    def from_dict(cls, d):
33699        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineUpdateRequest:
33702class SecretEngineUpdateRequest:
33703    '''
33704         SecretEngineUpdateRequest specifies secret engine to update
33705    '''
33706    __slots__ = [
33707        'secret_engine',
33708    ]
33709
33710    def __init__(
33711        self,
33712        secret_engine=None,
33713    ):
33714        self.secret_engine = secret_engine if secret_engine is not None else None
33715        '''
33716         Secret engine to update
33717        '''
33718
33719    def __repr__(self):
33720        return '<sdm.SecretEngineUpdateRequest ' + \
33721            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33722            '>'
33723
33724    def to_dict(self):
33725        return {
33726            'secret_engine': self.secret_engine,
33727        }
33728
33729    @classmethod
33730    def from_dict(cls, d):
33731        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineUpdateRequest specifies secret engine to update

SecretEngineUpdateRequest(secret_engine=None)
33710    def __init__(
33711        self,
33712        secret_engine=None,
33713    ):
33714        self.secret_engine = secret_engine if secret_engine is not None else None
33715        '''
33716         Secret engine to update
33717        '''
secret_engine

Secret engine to update

def to_dict(self)
33724    def to_dict(self):
33725        return {
33726            'secret_engine': self.secret_engine,
33727        }
@classmethod
def from_dict(cls, d)
33729    @classmethod
33730    def from_dict(cls, d):
33731        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineUpdateResponse:
33734class SecretEngineUpdateResponse:
33735    '''
33736         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
33737    '''
33738    __slots__ = [
33739        'meta',
33740        'rate_limit',
33741        'secret_engine',
33742    ]
33743
33744    def __init__(
33745        self,
33746        meta=None,
33747        rate_limit=None,
33748        secret_engine=None,
33749    ):
33750        self.meta = meta if meta is not None else None
33751        '''
33752         Reserved for future use.
33753        '''
33754        self.rate_limit = rate_limit if rate_limit is not None else None
33755        '''
33756         Rate limit information.
33757        '''
33758        self.secret_engine = secret_engine if secret_engine is not None else None
33759        '''
33760         The requested Secret Engine.
33761        '''
33762
33763    def __repr__(self):
33764        return '<sdm.SecretEngineUpdateResponse ' + \
33765            'meta: ' + repr(self.meta) + ' ' +\
33766            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33767            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
33768            '>'
33769
33770    def to_dict(self):
33771        return {
33772            'meta': self.meta,
33773            'rate_limit': self.rate_limit,
33774            'secret_engine': self.secret_engine,
33775        }
33776
33777    @classmethod
33778    def from_dict(cls, d):
33779        return cls(
33780            meta=d.get('meta'),
33781            rate_limit=d.get('rate_limit'),
33782            secret_engine=d.get('secret_engine'),
33783        )

SecretEngineUpdateResponse contains information about Secret Engine after successful update.

SecretEngineUpdateResponse(meta=None, rate_limit=None, secret_engine=None)
33744    def __init__(
33745        self,
33746        meta=None,
33747        rate_limit=None,
33748        secret_engine=None,
33749    ):
33750        self.meta = meta if meta is not None else None
33751        '''
33752         Reserved for future use.
33753        '''
33754        self.rate_limit = rate_limit if rate_limit is not None else None
33755        '''
33756         Rate limit information.
33757        '''
33758        self.secret_engine = secret_engine if secret_engine is not None else None
33759        '''
33760         The requested Secret Engine.
33761        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
33770    def to_dict(self):
33771        return {
33772            'meta': self.meta,
33773            'rate_limit': self.rate_limit,
33774            'secret_engine': self.secret_engine,
33775        }
@classmethod
def from_dict(cls, d)
33777    @classmethod
33778    def from_dict(cls, d):
33779        return cls(
33780            meta=d.get('meta'),
33781            rate_limit=d.get('rate_limit'),
33782            secret_engine=d.get('secret_engine'),
33783        )
class SecretStoreCreateResponse:
33786class SecretStoreCreateResponse:
33787    '''
33788         SecretStoreCreateResponse reports how the SecretStores were created in the system.
33789    '''
33790    __slots__ = [
33791        'meta',
33792        'rate_limit',
33793        'secret_store',
33794    ]
33795
33796    def __init__(
33797        self,
33798        meta=None,
33799        rate_limit=None,
33800        secret_store=None,
33801    ):
33802        self.meta = meta if meta is not None else None
33803        '''
33804         Reserved for future use.
33805        '''
33806        self.rate_limit = rate_limit if rate_limit is not None else None
33807        '''
33808         Rate limit information.
33809        '''
33810        self.secret_store = secret_store if secret_store is not None else None
33811        '''
33812         The created SecretStore.
33813        '''
33814
33815    def __repr__(self):
33816        return '<sdm.SecretStoreCreateResponse ' + \
33817            'meta: ' + repr(self.meta) + ' ' +\
33818            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33819            'secret_store: ' + repr(self.secret_store) + ' ' +\
33820            '>'
33821
33822    def to_dict(self):
33823        return {
33824            'meta': self.meta,
33825            'rate_limit': self.rate_limit,
33826            'secret_store': self.secret_store,
33827        }
33828
33829    @classmethod
33830    def from_dict(cls, d):
33831        return cls(
33832            meta=d.get('meta'),
33833            rate_limit=d.get('rate_limit'),
33834            secret_store=d.get('secret_store'),
33835        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
33796    def __init__(
33797        self,
33798        meta=None,
33799        rate_limit=None,
33800        secret_store=None,
33801    ):
33802        self.meta = meta if meta is not None else None
33803        '''
33804         Reserved for future use.
33805        '''
33806        self.rate_limit = rate_limit if rate_limit is not None else None
33807        '''
33808         Rate limit information.
33809        '''
33810        self.secret_store = secret_store if secret_store is not None else None
33811        '''
33812         The created SecretStore.
33813        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
33822    def to_dict(self):
33823        return {
33824            'meta': self.meta,
33825            'rate_limit': self.rate_limit,
33826            'secret_store': self.secret_store,
33827        }
@classmethod
def from_dict(cls, d)
33829    @classmethod
33830    def from_dict(cls, d):
33831        return cls(
33832            meta=d.get('meta'),
33833            rate_limit=d.get('rate_limit'),
33834            secret_store=d.get('secret_store'),
33835        )
class SecretStoreDeleteResponse:
33838class SecretStoreDeleteResponse:
33839    '''
33840         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
33841    '''
33842    __slots__ = [
33843        'meta',
33844        'rate_limit',
33845    ]
33846
33847    def __init__(
33848        self,
33849        meta=None,
33850        rate_limit=None,
33851    ):
33852        self.meta = meta if meta is not None else None
33853        '''
33854         Reserved for future use.
33855        '''
33856        self.rate_limit = rate_limit if rate_limit is not None else None
33857        '''
33858         Rate limit information.
33859        '''
33860
33861    def __repr__(self):
33862        return '<sdm.SecretStoreDeleteResponse ' + \
33863            'meta: ' + repr(self.meta) + ' ' +\
33864            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33865            '>'
33866
33867    def to_dict(self):
33868        return {
33869            'meta': self.meta,
33870            'rate_limit': self.rate_limit,
33871        }
33872
33873    @classmethod
33874    def from_dict(cls, d):
33875        return cls(
33876            meta=d.get('meta'),
33877            rate_limit=d.get('rate_limit'),
33878        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
33847    def __init__(
33848        self,
33849        meta=None,
33850        rate_limit=None,
33851    ):
33852        self.meta = meta if meta is not None else None
33853        '''
33854         Reserved for future use.
33855        '''
33856        self.rate_limit = rate_limit if rate_limit is not None else None
33857        '''
33858         Rate limit information.
33859        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
33867    def to_dict(self):
33868        return {
33869            'meta': self.meta,
33870            'rate_limit': self.rate_limit,
33871        }
@classmethod
def from_dict(cls, d)
33873    @classmethod
33874    def from_dict(cls, d):
33875        return cls(
33876            meta=d.get('meta'),
33877            rate_limit=d.get('rate_limit'),
33878        )
class SecretStoreGetResponse:
33881class SecretStoreGetResponse:
33882    '''
33883         SecretStoreGetResponse returns a requested SecretStore.
33884    '''
33885    __slots__ = [
33886        'meta',
33887        'rate_limit',
33888        'secret_store',
33889    ]
33890
33891    def __init__(
33892        self,
33893        meta=None,
33894        rate_limit=None,
33895        secret_store=None,
33896    ):
33897        self.meta = meta if meta is not None else None
33898        '''
33899         Reserved for future use.
33900        '''
33901        self.rate_limit = rate_limit if rate_limit is not None else None
33902        '''
33903         Rate limit information.
33904        '''
33905        self.secret_store = secret_store if secret_store is not None else None
33906        '''
33907         The requested SecretStore.
33908        '''
33909
33910    def __repr__(self):
33911        return '<sdm.SecretStoreGetResponse ' + \
33912            'meta: ' + repr(self.meta) + ' ' +\
33913            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
33914            'secret_store: ' + repr(self.secret_store) + ' ' +\
33915            '>'
33916
33917    def to_dict(self):
33918        return {
33919            'meta': self.meta,
33920            'rate_limit': self.rate_limit,
33921            'secret_store': self.secret_store,
33922        }
33923
33924    @classmethod
33925    def from_dict(cls, d):
33926        return cls(
33927            meta=d.get('meta'),
33928            rate_limit=d.get('rate_limit'),
33929            secret_store=d.get('secret_store'),
33930        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
33891    def __init__(
33892        self,
33893        meta=None,
33894        rate_limit=None,
33895        secret_store=None,
33896    ):
33897        self.meta = meta if meta is not None else None
33898        '''
33899         Reserved for future use.
33900        '''
33901        self.rate_limit = rate_limit if rate_limit is not None else None
33902        '''
33903         Rate limit information.
33904        '''
33905        self.secret_store = secret_store if secret_store is not None else None
33906        '''
33907         The requested SecretStore.
33908        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
33917    def to_dict(self):
33918        return {
33919            'meta': self.meta,
33920            'rate_limit': self.rate_limit,
33921            'secret_store': self.secret_store,
33922        }
@classmethod
def from_dict(cls, d)
33924    @classmethod
33925    def from_dict(cls, d):
33926        return cls(
33927            meta=d.get('meta'),
33928            rate_limit=d.get('rate_limit'),
33929            secret_store=d.get('secret_store'),
33930        )
class SecretStoreHealth:
33933class SecretStoreHealth:
33934    '''
33935         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
33936     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
33937     or set of nodes.
33938    '''
33939    __slots__ = [
33940        'changed_at',
33941        'checked_at',
33942        'error',
33943        'flags',
33944        'node_id',
33945        'reachability',
33946        'secret_store_id',
33947        'status',
33948    ]
33949
33950    def __init__(
33951        self,
33952        changed_at=None,
33953        checked_at=None,
33954        error=None,
33955        flags=None,
33956        node_id=None,
33957        reachability=None,
33958        secret_store_id=None,
33959        status=None,
33960    ):
33961        self.changed_at = changed_at if changed_at is not None else None
33962        '''
33963         The time when the status last changed
33964        '''
33965        self.checked_at = checked_at if checked_at is not None else None
33966        '''
33967         The time when the status was last checked by the node
33968        '''
33969        self.error = error if error is not None else ''
33970        '''
33971         The error associated with this health check, if it occurred after reachability checks succeeded.
33972        '''
33973        self.flags = flags if flags is not None else []
33974        '''
33975         Any specific status or error flags associated with this health check.
33976        '''
33977        self.node_id = node_id if node_id is not None else ''
33978        '''
33979         Associated node id for this health
33980        '''
33981        self.reachability = reachability if reachability is not None else ''
33982        '''
33983         The error associated with this health check, if it occurred during reachability checks.
33984        '''
33985        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33986        '''
33987         Associated secret store for this health
33988        '''
33989        self.status = status if status is not None else ''
33990        '''
33991         The status of the link between the node and secret store
33992        '''
33993
33994    def __repr__(self):
33995        return '<sdm.SecretStoreHealth ' + \
33996            'changed_at: ' + repr(self.changed_at) + ' ' +\
33997            'checked_at: ' + repr(self.checked_at) + ' ' +\
33998            'error: ' + repr(self.error) + ' ' +\
33999            'flags: ' + repr(self.flags) + ' ' +\
34000            'node_id: ' + repr(self.node_id) + ' ' +\
34001            'reachability: ' + repr(self.reachability) + ' ' +\
34002            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34003            'status: ' + repr(self.status) + ' ' +\
34004            '>'
34005
34006    def to_dict(self):
34007        return {
34008            'changed_at': self.changed_at,
34009            'checked_at': self.checked_at,
34010            'error': self.error,
34011            'flags': self.flags,
34012            'node_id': self.node_id,
34013            'reachability': self.reachability,
34014            'secret_store_id': self.secret_store_id,
34015            'status': self.status,
34016        }
34017
34018    @classmethod
34019    def from_dict(cls, d):
34020        return cls(
34021            changed_at=d.get('changed_at'),
34022            checked_at=d.get('checked_at'),
34023            error=d.get('error'),
34024            flags=d.get('flags'),
34025            node_id=d.get('node_id'),
34026            reachability=d.get('reachability'),
34027            secret_store_id=d.get('secret_store_id'),
34028            status=d.get('status'),
34029        )

SecretStoreHealth denotes a secret store's health status. Note a secret store is not healthy in terms of a simple boolean, but rather healthy with respect to a particular node or set of nodes.

SecretStoreHealth( changed_at=None, checked_at=None, error=None, flags=None, node_id=None, reachability=None, secret_store_id=None, status=None)
33950    def __init__(
33951        self,
33952        changed_at=None,
33953        checked_at=None,
33954        error=None,
33955        flags=None,
33956        node_id=None,
33957        reachability=None,
33958        secret_store_id=None,
33959        status=None,
33960    ):
33961        self.changed_at = changed_at if changed_at is not None else None
33962        '''
33963         The time when the status last changed
33964        '''
33965        self.checked_at = checked_at if checked_at is not None else None
33966        '''
33967         The time when the status was last checked by the node
33968        '''
33969        self.error = error if error is not None else ''
33970        '''
33971         The error associated with this health check, if it occurred after reachability checks succeeded.
33972        '''
33973        self.flags = flags if flags is not None else []
33974        '''
33975         Any specific status or error flags associated with this health check.
33976        '''
33977        self.node_id = node_id if node_id is not None else ''
33978        '''
33979         Associated node id for this health
33980        '''
33981        self.reachability = reachability if reachability is not None else ''
33982        '''
33983         The error associated with this health check, if it occurred during reachability checks.
33984        '''
33985        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33986        '''
33987         Associated secret store for this health
33988        '''
33989        self.status = status if status is not None else ''
33990        '''
33991         The status of the link between the node and secret store
33992        '''
changed_at

The time when the status last changed

checked_at

The time when the status was last checked by the node

error

The error associated with this health check, if it occurred after reachability checks succeeded.

flags

Any specific status or error flags associated with this health check.

node_id

Associated node id for this health

reachability

The error associated with this health check, if it occurred during reachability checks.

secret_store_id

Associated secret store for this health

status

The status of the link between the node and secret store

def to_dict(self)
34006    def to_dict(self):
34007        return {
34008            'changed_at': self.changed_at,
34009            'checked_at': self.checked_at,
34010            'error': self.error,
34011            'flags': self.flags,
34012            'node_id': self.node_id,
34013            'reachability': self.reachability,
34014            'secret_store_id': self.secret_store_id,
34015            'status': self.status,
34016        }
@classmethod
def from_dict(cls, d)
34018    @classmethod
34019    def from_dict(cls, d):
34020        return cls(
34021            changed_at=d.get('changed_at'),
34022            checked_at=d.get('checked_at'),
34023            error=d.get('error'),
34024            flags=d.get('flags'),
34025            node_id=d.get('node_id'),
34026            reachability=d.get('reachability'),
34027            secret_store_id=d.get('secret_store_id'),
34028            status=d.get('status'),
34029        )
class SecretStoreHealthListResponse:
34032class SecretStoreHealthListResponse:
34033    __slots__ = [
34034        'rate_limit',
34035    ]
34036
34037    def __init__(
34038        self,
34039        rate_limit=None,
34040    ):
34041        self.rate_limit = rate_limit if rate_limit is not None else None
34042        '''
34043         Rate limit information.
34044        '''
34045
34046    def __repr__(self):
34047        return '<sdm.SecretStoreHealthListResponse ' + \
34048            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34049            '>'
34050
34051    def to_dict(self):
34052        return {
34053            'rate_limit': self.rate_limit,
34054        }
34055
34056    @classmethod
34057    def from_dict(cls, d):
34058        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
34037    def __init__(
34038        self,
34039        rate_limit=None,
34040    ):
34041        self.rate_limit = rate_limit if rate_limit is not None else None
34042        '''
34043         Rate limit information.
34044        '''
rate_limit

Rate limit information.

def to_dict(self)
34051    def to_dict(self):
34052        return {
34053            'rate_limit': self.rate_limit,
34054        }
@classmethod
def from_dict(cls, d)
34056    @classmethod
34057    def from_dict(cls, d):
34058        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
34061class SecretStoreHealthcheckResponse:
34062    __slots__ = [
34063        'rate_limit',
34064    ]
34065
34066    def __init__(
34067        self,
34068        rate_limit=None,
34069    ):
34070        self.rate_limit = rate_limit if rate_limit is not None else None
34071        '''
34072         Rate limit information.
34073        '''
34074
34075    def __repr__(self):
34076        return '<sdm.SecretStoreHealthcheckResponse ' + \
34077            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34078            '>'
34079
34080    def to_dict(self):
34081        return {
34082            'rate_limit': self.rate_limit,
34083        }
34084
34085    @classmethod
34086    def from_dict(cls, d):
34087        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
34066    def __init__(
34067        self,
34068        rate_limit=None,
34069    ):
34070        self.rate_limit = rate_limit if rate_limit is not None else None
34071        '''
34072         Rate limit information.
34073        '''
rate_limit

Rate limit information.

def to_dict(self)
34080    def to_dict(self):
34081        return {
34082            'rate_limit': self.rate_limit,
34083        }
@classmethod
def from_dict(cls, d)
34085    @classmethod
34086    def from_dict(cls, d):
34087        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
34090class SecretStoreHistory:
34091    '''
34092         SecretStoreHistory records the state of a SecretStore at a given point in time,
34093     where every change (create, update and delete) to a SecretStore produces an
34094     SecretStoreHistory record.
34095    '''
34096    __slots__ = [
34097        'activity_id',
34098        'deleted_at',
34099        'secret_store',
34100        'timestamp',
34101    ]
34102
34103    def __init__(
34104        self,
34105        activity_id=None,
34106        deleted_at=None,
34107        secret_store=None,
34108        timestamp=None,
34109    ):
34110        self.activity_id = activity_id if activity_id is not None else ''
34111        '''
34112         The unique identifier of the Activity that produced this change to the SecretStore.
34113         May be empty for some system-initiated updates.
34114        '''
34115        self.deleted_at = deleted_at if deleted_at is not None else None
34116        '''
34117         If this SecretStore was deleted, the time it was deleted.
34118        '''
34119        self.secret_store = secret_store if secret_store is not None else None
34120        '''
34121         The complete SecretStore state at this time.
34122        '''
34123        self.timestamp = timestamp if timestamp is not None else None
34124        '''
34125         The time at which the SecretStore state was recorded.
34126        '''
34127
34128    def __repr__(self):
34129        return '<sdm.SecretStoreHistory ' + \
34130            'activity_id: ' + repr(self.activity_id) + ' ' +\
34131            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34132            'secret_store: ' + repr(self.secret_store) + ' ' +\
34133            'timestamp: ' + repr(self.timestamp) + ' ' +\
34134            '>'
34135
34136    def to_dict(self):
34137        return {
34138            'activity_id': self.activity_id,
34139            'deleted_at': self.deleted_at,
34140            'secret_store': self.secret_store,
34141            'timestamp': self.timestamp,
34142        }
34143
34144    @classmethod
34145    def from_dict(cls, d):
34146        return cls(
34147            activity_id=d.get('activity_id'),
34148            deleted_at=d.get('deleted_at'),
34149            secret_store=d.get('secret_store'),
34150            timestamp=d.get('timestamp'),
34151        )

SecretStoreHistory records the state of a SecretStore at a given point in time, where every change (create, update and delete) to a SecretStore produces an SecretStoreHistory record.

SecretStoreHistory(activity_id=None, deleted_at=None, secret_store=None, timestamp=None)
34103    def __init__(
34104        self,
34105        activity_id=None,
34106        deleted_at=None,
34107        secret_store=None,
34108        timestamp=None,
34109    ):
34110        self.activity_id = activity_id if activity_id is not None else ''
34111        '''
34112         The unique identifier of the Activity that produced this change to the SecretStore.
34113         May be empty for some system-initiated updates.
34114        '''
34115        self.deleted_at = deleted_at if deleted_at is not None else None
34116        '''
34117         If this SecretStore was deleted, the time it was deleted.
34118        '''
34119        self.secret_store = secret_store if secret_store is not None else None
34120        '''
34121         The complete SecretStore state at this time.
34122        '''
34123        self.timestamp = timestamp if timestamp is not None else None
34124        '''
34125         The time at which the SecretStore state was recorded.
34126        '''
activity_id

The unique identifier of the Activity that produced this change to the SecretStore. May be empty for some system-initiated updates.

deleted_at

If this SecretStore was deleted, the time it was deleted.

secret_store

The complete SecretStore state at this time.

timestamp

The time at which the SecretStore state was recorded.

def to_dict(self)
34136    def to_dict(self):
34137        return {
34138            'activity_id': self.activity_id,
34139            'deleted_at': self.deleted_at,
34140            'secret_store': self.secret_store,
34141            'timestamp': self.timestamp,
34142        }
@classmethod
def from_dict(cls, d)
34144    @classmethod
34145    def from_dict(cls, d):
34146        return cls(
34147            activity_id=d.get('activity_id'),
34148            deleted_at=d.get('deleted_at'),
34149            secret_store=d.get('secret_store'),
34150            timestamp=d.get('timestamp'),
34151        )
class SecretStoreUpdateResponse:
34154class SecretStoreUpdateResponse:
34155    '''
34156         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
34157     a SecretStoreUpdateRequest.
34158    '''
34159    __slots__ = [
34160        'meta',
34161        'rate_limit',
34162        'secret_store',
34163    ]
34164
34165    def __init__(
34166        self,
34167        meta=None,
34168        rate_limit=None,
34169        secret_store=None,
34170    ):
34171        self.meta = meta if meta is not None else None
34172        '''
34173         Reserved for future use.
34174        '''
34175        self.rate_limit = rate_limit if rate_limit is not None else None
34176        '''
34177         Rate limit information.
34178        '''
34179        self.secret_store = secret_store if secret_store is not None else None
34180        '''
34181         The updated SecretStore.
34182        '''
34183
34184    def __repr__(self):
34185        return '<sdm.SecretStoreUpdateResponse ' + \
34186            'meta: ' + repr(self.meta) + ' ' +\
34187            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34188            'secret_store: ' + repr(self.secret_store) + ' ' +\
34189            '>'
34190
34191    def to_dict(self):
34192        return {
34193            'meta': self.meta,
34194            'rate_limit': self.rate_limit,
34195            'secret_store': self.secret_store,
34196        }
34197
34198    @classmethod
34199    def from_dict(cls, d):
34200        return cls(
34201            meta=d.get('meta'),
34202            rate_limit=d.get('rate_limit'),
34203            secret_store=d.get('secret_store'),
34204        )

SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by a SecretStoreUpdateRequest.

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
34165    def __init__(
34166        self,
34167        meta=None,
34168        rate_limit=None,
34169        secret_store=None,
34170    ):
34171        self.meta = meta if meta is not None else None
34172        '''
34173         Reserved for future use.
34174        '''
34175        self.rate_limit = rate_limit if rate_limit is not None else None
34176        '''
34177         Rate limit information.
34178        '''
34179        self.secret_store = secret_store if secret_store is not None else None
34180        '''
34181         The updated SecretStore.
34182        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
34191    def to_dict(self):
34192        return {
34193            'meta': self.meta,
34194            'rate_limit': self.rate_limit,
34195            'secret_store': self.secret_store,
34196        }
@classmethod
def from_dict(cls, d)
34198    @classmethod
34199    def from_dict(cls, d):
34200        return cls(
34201            meta=d.get('meta'),
34202            rate_limit=d.get('rate_limit'),
34203            secret_store=d.get('secret_store'),
34204        )
class Service:
34207class Service:
34208    '''
34209         A Service is a service account that can connect to resources they are granted
34210     directly, or granted via roles. Services are typically automated jobs.
34211    '''
34212    __slots__ = [
34213        'created_at',
34214        'id',
34215        'name',
34216        'suspended',
34217        'tags',
34218    ]
34219
34220    def __init__(
34221        self,
34222        created_at=None,
34223        id=None,
34224        name=None,
34225        suspended=None,
34226        tags=None,
34227    ):
34228        self.created_at = created_at if created_at is not None else None
34229        '''
34230         CreatedAt is the timestamp when the service was created
34231        '''
34232        self.id = id if id is not None else ''
34233        '''
34234         Unique identifier of the Service.
34235        '''
34236        self.name = name if name is not None else ''
34237        '''
34238         Unique human-readable name of the Service.
34239        '''
34240        self.suspended = suspended if suspended is not None else False
34241        '''
34242         The Service's suspended state.
34243        '''
34244        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34245        '''
34246         Tags is a map of key, value pairs.
34247        '''
34248
34249    def __repr__(self):
34250        return '<sdm.Service ' + \
34251            'created_at: ' + repr(self.created_at) + ' ' +\
34252            'id: ' + repr(self.id) + ' ' +\
34253            'name: ' + repr(self.name) + ' ' +\
34254            'suspended: ' + repr(self.suspended) + ' ' +\
34255            'tags: ' + repr(self.tags) + ' ' +\
34256            '>'
34257
34258    def to_dict(self):
34259        return {
34260            'created_at': self.created_at,
34261            'id': self.id,
34262            'name': self.name,
34263            'suspended': self.suspended,
34264            'tags': self.tags,
34265        }
34266
34267    @classmethod
34268    def from_dict(cls, d):
34269        return cls(
34270            created_at=d.get('created_at'),
34271            id=d.get('id'),
34272            name=d.get('name'),
34273            suspended=d.get('suspended'),
34274            tags=d.get('tags'),
34275        )

A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs.

Service(created_at=None, id=None, name=None, suspended=None, tags=None)
34220    def __init__(
34221        self,
34222        created_at=None,
34223        id=None,
34224        name=None,
34225        suspended=None,
34226        tags=None,
34227    ):
34228        self.created_at = created_at if created_at is not None else None
34229        '''
34230         CreatedAt is the timestamp when the service was created
34231        '''
34232        self.id = id if id is not None else ''
34233        '''
34234         Unique identifier of the Service.
34235        '''
34236        self.name = name if name is not None else ''
34237        '''
34238         Unique human-readable name of the Service.
34239        '''
34240        self.suspended = suspended if suspended is not None else False
34241        '''
34242         The Service's suspended state.
34243        '''
34244        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34245        '''
34246         Tags is a map of key, value pairs.
34247        '''
created_at

CreatedAt is the timestamp when the service was created

id

Unique identifier of the Service.

name

Unique human-readable name of the Service.

suspended

The Service's suspended state.

tags

Tags is a map of key, value pairs.

def to_dict(self)
34258    def to_dict(self):
34259        return {
34260            'created_at': self.created_at,
34261            'id': self.id,
34262            'name': self.name,
34263            'suspended': self.suspended,
34264            'tags': self.tags,
34265        }
@classmethod
def from_dict(cls, d)
34267    @classmethod
34268    def from_dict(cls, d):
34269        return cls(
34270            created_at=d.get('created_at'),
34271            id=d.get('id'),
34272            name=d.get('name'),
34273            suspended=d.get('suspended'),
34274            tags=d.get('tags'),
34275        )
class SingleStore:
34278class SingleStore:
34279    __slots__ = [
34280        'bind_interface',
34281        'database',
34282        'egress_filter',
34283        'healthy',
34284        'hostname',
34285        'id',
34286        'name',
34287        'password',
34288        'port',
34289        'port_override',
34290        'proxy_cluster_id',
34291        'require_native_auth',
34292        'secret_store_id',
34293        'subdomain',
34294        'tags',
34295        'use_azure_single_server_usernames',
34296        'username',
34297    ]
34298
34299    def __init__(
34300        self,
34301        bind_interface=None,
34302        database=None,
34303        egress_filter=None,
34304        healthy=None,
34305        hostname=None,
34306        id=None,
34307        name=None,
34308        password=None,
34309        port=None,
34310        port_override=None,
34311        proxy_cluster_id=None,
34312        require_native_auth=None,
34313        secret_store_id=None,
34314        subdomain=None,
34315        tags=None,
34316        use_azure_single_server_usernames=None,
34317        username=None,
34318    ):
34319        self.bind_interface = bind_interface if bind_interface is not None else ''
34320        '''
34321         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34322        '''
34323        self.database = database if database is not None else ''
34324        '''
34325         The database for healthchecks. Does not affect client requests.
34326        '''
34327        self.egress_filter = egress_filter if egress_filter is not None else ''
34328        '''
34329         A filter applied to the routing logic to pin datasource to nodes.
34330        '''
34331        self.healthy = healthy if healthy is not None else False
34332        '''
34333         True if the datasource is reachable and the credentials are valid.
34334        '''
34335        self.hostname = hostname if hostname is not None else ''
34336        '''
34337         The host to dial to initiate a connection from the egress node to this resource.
34338        '''
34339        self.id = id if id is not None else ''
34340        '''
34341         Unique identifier of the Resource.
34342        '''
34343        self.name = name if name is not None else ''
34344        '''
34345         Unique human-readable name of the Resource.
34346        '''
34347        self.password = password if password is not None else ''
34348        '''
34349         The password to authenticate with.
34350        '''
34351        self.port = port if port is not None else 0
34352        '''
34353         The port to dial to initiate a connection from the egress node to this resource.
34354        '''
34355        self.port_override = port_override if port_override is not None else 0
34356        '''
34357         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34358        '''
34359        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34360        '''
34361         ID of the proxy cluster for this resource, if any.
34362        '''
34363        self.require_native_auth = require_native_auth if require_native_auth is not None else False
34364        '''
34365         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
34366        '''
34367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34368        '''
34369         ID of the secret store containing credentials for this resource, if any.
34370        '''
34371        self.subdomain = subdomain if subdomain is not None else ''
34372        '''
34373         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
34374        '''
34375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34376        '''
34377         Tags is a map of key, value pairs.
34378        '''
34379        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
34380        '''
34381         If true, appends the hostname to the username when hitting a database.azure.com address
34382        '''
34383        self.username = username if username is not None else ''
34384        '''
34385         The username to authenticate with.
34386        '''
34387
34388    def __repr__(self):
34389        return '<sdm.SingleStore ' + \
34390            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
34391            'database: ' + repr(self.database) + ' ' +\
34392            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
34393            'healthy: ' + repr(self.healthy) + ' ' +\
34394            'hostname: ' + repr(self.hostname) + ' ' +\
34395            'id: ' + repr(self.id) + ' ' +\
34396            'name: ' + repr(self.name) + ' ' +\
34397            'password: ' + repr(self.password) + ' ' +\
34398            'port: ' + repr(self.port) + ' ' +\
34399            'port_override: ' + repr(self.port_override) + ' ' +\
34400            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
34401            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
34402            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34403            'subdomain: ' + repr(self.subdomain) + ' ' +\
34404            'tags: ' + repr(self.tags) + ' ' +\
34405            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
34406            'username: ' + repr(self.username) + ' ' +\
34407            '>'
34408
34409    def to_dict(self):
34410        return {
34411            'bind_interface': self.bind_interface,
34412            'database': self.database,
34413            'egress_filter': self.egress_filter,
34414            'healthy': self.healthy,
34415            'hostname': self.hostname,
34416            'id': self.id,
34417            'name': self.name,
34418            'password': self.password,
34419            'port': self.port,
34420            'port_override': self.port_override,
34421            'proxy_cluster_id': self.proxy_cluster_id,
34422            'require_native_auth': self.require_native_auth,
34423            'secret_store_id': self.secret_store_id,
34424            'subdomain': self.subdomain,
34425            'tags': self.tags,
34426            'use_azure_single_server_usernames':
34427            self.use_azure_single_server_usernames,
34428            'username': self.username,
34429        }
34430
34431    @classmethod
34432    def from_dict(cls, d):
34433        return cls(
34434            bind_interface=d.get('bind_interface'),
34435            database=d.get('database'),
34436            egress_filter=d.get('egress_filter'),
34437            healthy=d.get('healthy'),
34438            hostname=d.get('hostname'),
34439            id=d.get('id'),
34440            name=d.get('name'),
34441            password=d.get('password'),
34442            port=d.get('port'),
34443            port_override=d.get('port_override'),
34444            proxy_cluster_id=d.get('proxy_cluster_id'),
34445            require_native_auth=d.get('require_native_auth'),
34446            secret_store_id=d.get('secret_store_id'),
34447            subdomain=d.get('subdomain'),
34448            tags=d.get('tags'),
34449            use_azure_single_server_usernames=d.get(
34450                'use_azure_single_server_usernames'),
34451            username=d.get('username'),
34452        )
SingleStore( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, use_azure_single_server_usernames=None, username=None)
34299    def __init__(
34300        self,
34301        bind_interface=None,
34302        database=None,
34303        egress_filter=None,
34304        healthy=None,
34305        hostname=None,
34306        id=None,
34307        name=None,
34308        password=None,
34309        port=None,
34310        port_override=None,
34311        proxy_cluster_id=None,
34312        require_native_auth=None,
34313        secret_store_id=None,
34314        subdomain=None,
34315        tags=None,
34316        use_azure_single_server_usernames=None,
34317        username=None,
34318    ):
34319        self.bind_interface = bind_interface if bind_interface is not None else ''
34320        '''
34321         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34322        '''
34323        self.database = database if database is not None else ''
34324        '''
34325         The database for healthchecks. Does not affect client requests.
34326        '''
34327        self.egress_filter = egress_filter if egress_filter is not None else ''
34328        '''
34329         A filter applied to the routing logic to pin datasource to nodes.
34330        '''
34331        self.healthy = healthy if healthy is not None else False
34332        '''
34333         True if the datasource is reachable and the credentials are valid.
34334        '''
34335        self.hostname = hostname if hostname is not None else ''
34336        '''
34337         The host to dial to initiate a connection from the egress node to this resource.
34338        '''
34339        self.id = id if id is not None else ''
34340        '''
34341         Unique identifier of the Resource.
34342        '''
34343        self.name = name if name is not None else ''
34344        '''
34345         Unique human-readable name of the Resource.
34346        '''
34347        self.password = password if password is not None else ''
34348        '''
34349         The password to authenticate with.
34350        '''
34351        self.port = port if port is not None else 0
34352        '''
34353         The port to dial to initiate a connection from the egress node to this resource.
34354        '''
34355        self.port_override = port_override if port_override is not None else 0
34356        '''
34357         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34358        '''
34359        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34360        '''
34361         ID of the proxy cluster for this resource, if any.
34362        '''
34363        self.require_native_auth = require_native_auth if require_native_auth is not None else False
34364        '''
34365         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
34366        '''
34367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34368        '''
34369         ID of the secret store containing credentials for this resource, if any.
34370        '''
34371        self.subdomain = subdomain if subdomain is not None else ''
34372        '''
34373         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
34374        '''
34375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34376        '''
34377         Tags is a map of key, value pairs.
34378        '''
34379        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
34380        '''
34381         If true, appends the hostname to the username when hitting a database.azure.com address
34382        '''
34383        self.username = username if username is not None else ''
34384        '''
34385         The username to authenticate with.
34386        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The database for healthchecks. Does not affect client requests.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

require_native_auth

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

If true, appends the hostname to the username when hitting a database.azure.com address

username

The username to authenticate with.

def to_dict(self)
34409    def to_dict(self):
34410        return {
34411            'bind_interface': self.bind_interface,
34412            'database': self.database,
34413            'egress_filter': self.egress_filter,
34414            'healthy': self.healthy,
34415            'hostname': self.hostname,
34416            'id': self.id,
34417            'name': self.name,
34418            'password': self.password,
34419            'port': self.port,
34420            'port_override': self.port_override,
34421            'proxy_cluster_id': self.proxy_cluster_id,
34422            'require_native_auth': self.require_native_auth,
34423            'secret_store_id': self.secret_store_id,
34424            'subdomain': self.subdomain,
34425            'tags': self.tags,
34426            'use_azure_single_server_usernames':
34427            self.use_azure_single_server_usernames,
34428            'username': self.username,
34429        }
@classmethod
def from_dict(cls, d)
34431    @classmethod
34432    def from_dict(cls, d):
34433        return cls(
34434            bind_interface=d.get('bind_interface'),
34435            database=d.get('database'),
34436            egress_filter=d.get('egress_filter'),
34437            healthy=d.get('healthy'),
34438            hostname=d.get('hostname'),
34439            id=d.get('id'),
34440            name=d.get('name'),
34441            password=d.get('password'),
34442            port=d.get('port'),
34443            port_override=d.get('port_override'),
34444            proxy_cluster_id=d.get('proxy_cluster_id'),
34445            require_native_auth=d.get('require_native_auth'),
34446            secret_store_id=d.get('secret_store_id'),
34447            subdomain=d.get('subdomain'),
34448            tags=d.get('tags'),
34449            use_azure_single_server_usernames=d.get(
34450                'use_azure_single_server_usernames'),
34451            username=d.get('username'),
34452        )
class Snowflake:
34455class Snowflake:
34456    __slots__ = [
34457        'bind_interface',
34458        'database',
34459        'egress_filter',
34460        'healthy',
34461        'hostname',
34462        'id',
34463        'name',
34464        'password',
34465        'port_override',
34466        'private_key',
34467        'proxy_cluster_id',
34468        'schema',
34469        'secret_store_id',
34470        'subdomain',
34471        'tags',
34472        'username',
34473    ]
34474
34475    def __init__(
34476        self,
34477        bind_interface=None,
34478        database=None,
34479        egress_filter=None,
34480        healthy=None,
34481        hostname=None,
34482        id=None,
34483        name=None,
34484        password=None,
34485        port_override=None,
34486        private_key=None,
34487        proxy_cluster_id=None,
34488        schema=None,
34489        secret_store_id=None,
34490        subdomain=None,
34491        tags=None,
34492        username=None,
34493    ):
34494        self.bind_interface = bind_interface if bind_interface is not None else ''
34495        '''
34496         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34497        '''
34498        self.database = database if database is not None else ''
34499        '''
34500         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
34501        '''
34502        self.egress_filter = egress_filter if egress_filter is not None else ''
34503        '''
34504         A filter applied to the routing logic to pin datasource to nodes.
34505        '''
34506        self.healthy = healthy if healthy is not None else False
34507        '''
34508         True if the datasource is reachable and the credentials are valid.
34509        '''
34510        self.hostname = hostname if hostname is not None else ''
34511        '''
34512         The host to dial to initiate a connection from the egress node to this resource.
34513        '''
34514        self.id = id if id is not None else ''
34515        '''
34516         Unique identifier of the Resource.
34517        '''
34518        self.name = name if name is not None else ''
34519        '''
34520         Unique human-readable name of the Resource.
34521        '''
34522        self.password = password if password is not None else ''
34523        '''
34524         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
34525        '''
34526        self.port_override = port_override if port_override is not None else 0
34527        '''
34528         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34529        '''
34530        self.private_key = private_key if private_key is not None else ''
34531        '''
34532         RSA Private Key for authentication
34533        '''
34534        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34535        '''
34536         ID of the proxy cluster for this resource, if any.
34537        '''
34538        self.schema = schema if schema is not None else ''
34539        '''
34540         The schema to provide on authentication.
34541        '''
34542        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34543        '''
34544         ID of the secret store containing credentials for this resource, if any.
34545        '''
34546        self.subdomain = subdomain if subdomain is not None else ''
34547        '''
34548         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
34549        '''
34550        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34551        '''
34552         Tags is a map of key, value pairs.
34553        '''
34554        self.username = username if username is not None else ''
34555        '''
34556         The username to authenticate with.
34557        '''
34558
34559    def __repr__(self):
34560        return '<sdm.Snowflake ' + \
34561            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
34562            'database: ' + repr(self.database) + ' ' +\
34563            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
34564            'healthy: ' + repr(self.healthy) + ' ' +\
34565            'hostname: ' + repr(self.hostname) + ' ' +\
34566            'id: ' + repr(self.id) + ' ' +\
34567            'name: ' + repr(self.name) + ' ' +\
34568            'password: ' + repr(self.password) + ' ' +\
34569            'port_override: ' + repr(self.port_override) + ' ' +\
34570            'private_key: ' + repr(self.private_key) + ' ' +\
34571            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
34572            'schema: ' + repr(self.schema) + ' ' +\
34573            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34574            'subdomain: ' + repr(self.subdomain) + ' ' +\
34575            'tags: ' + repr(self.tags) + ' ' +\
34576            'username: ' + repr(self.username) + ' ' +\
34577            '>'
34578
34579    def to_dict(self):
34580        return {
34581            'bind_interface': self.bind_interface,
34582            'database': self.database,
34583            'egress_filter': self.egress_filter,
34584            'healthy': self.healthy,
34585            'hostname': self.hostname,
34586            'id': self.id,
34587            'name': self.name,
34588            'password': self.password,
34589            'port_override': self.port_override,
34590            'private_key': self.private_key,
34591            'proxy_cluster_id': self.proxy_cluster_id,
34592            'schema': self.schema,
34593            'secret_store_id': self.secret_store_id,
34594            'subdomain': self.subdomain,
34595            'tags': self.tags,
34596            'username': self.username,
34597        }
34598
34599    @classmethod
34600    def from_dict(cls, d):
34601        return cls(
34602            bind_interface=d.get('bind_interface'),
34603            database=d.get('database'),
34604            egress_filter=d.get('egress_filter'),
34605            healthy=d.get('healthy'),
34606            hostname=d.get('hostname'),
34607            id=d.get('id'),
34608            name=d.get('name'),
34609            password=d.get('password'),
34610            port_override=d.get('port_override'),
34611            private_key=d.get('private_key'),
34612            proxy_cluster_id=d.get('proxy_cluster_id'),
34613            schema=d.get('schema'),
34614            secret_store_id=d.get('secret_store_id'),
34615            subdomain=d.get('subdomain'),
34616            tags=d.get('tags'),
34617            username=d.get('username'),
34618        )
Snowflake( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, private_key=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None, username=None)
34475    def __init__(
34476        self,
34477        bind_interface=None,
34478        database=None,
34479        egress_filter=None,
34480        healthy=None,
34481        hostname=None,
34482        id=None,
34483        name=None,
34484        password=None,
34485        port_override=None,
34486        private_key=None,
34487        proxy_cluster_id=None,
34488        schema=None,
34489        secret_store_id=None,
34490        subdomain=None,
34491        tags=None,
34492        username=None,
34493    ):
34494        self.bind_interface = bind_interface if bind_interface is not None else ''
34495        '''
34496         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34497        '''
34498        self.database = database if database is not None else ''
34499        '''
34500         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
34501        '''
34502        self.egress_filter = egress_filter if egress_filter is not None else ''
34503        '''
34504         A filter applied to the routing logic to pin datasource to nodes.
34505        '''
34506        self.healthy = healthy if healthy is not None else False
34507        '''
34508         True if the datasource is reachable and the credentials are valid.
34509        '''
34510        self.hostname = hostname if hostname is not None else ''
34511        '''
34512         The host to dial to initiate a connection from the egress node to this resource.
34513        '''
34514        self.id = id if id is not None else ''
34515        '''
34516         Unique identifier of the Resource.
34517        '''
34518        self.name = name if name is not None else ''
34519        '''
34520         Unique human-readable name of the Resource.
34521        '''
34522        self.password = password if password is not None else ''
34523        '''
34524         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
34525        '''
34526        self.port_override = port_override if port_override is not None else 0
34527        '''
34528         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34529        '''
34530        self.private_key = private_key if private_key is not None else ''
34531        '''
34532         RSA Private Key for authentication
34533        '''
34534        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34535        '''
34536         ID of the proxy cluster for this resource, if any.
34537        '''
34538        self.schema = schema if schema is not None else ''
34539        '''
34540         The schema to provide on authentication.
34541        '''
34542        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34543        '''
34544         ID of the secret store containing credentials for this resource, if any.
34545        '''
34546        self.subdomain = subdomain if subdomain is not None else ''
34547        '''
34548         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
34549        '''
34550        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34551        '''
34552         Tags is a map of key, value pairs.
34553        '''
34554        self.username = username if username is not None else ''
34555        '''
34556         The username to authenticate with.
34557        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

private_key

RSA Private Key for authentication

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

schema

The schema to provide on authentication.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
34579    def to_dict(self):
34580        return {
34581            'bind_interface': self.bind_interface,
34582            'database': self.database,
34583            'egress_filter': self.egress_filter,
34584            'healthy': self.healthy,
34585            'hostname': self.hostname,
34586            'id': self.id,
34587            'name': self.name,
34588            'password': self.password,
34589            'port_override': self.port_override,
34590            'private_key': self.private_key,
34591            'proxy_cluster_id': self.proxy_cluster_id,
34592            'schema': self.schema,
34593            'secret_store_id': self.secret_store_id,
34594            'subdomain': self.subdomain,
34595            'tags': self.tags,
34596            'username': self.username,
34597        }
@classmethod
def from_dict(cls, d)
34599    @classmethod
34600    def from_dict(cls, d):
34601        return cls(
34602            bind_interface=d.get('bind_interface'),
34603            database=d.get('database'),
34604            egress_filter=d.get('egress_filter'),
34605            healthy=d.get('healthy'),
34606            hostname=d.get('hostname'),
34607            id=d.get('id'),
34608            name=d.get('name'),
34609            password=d.get('password'),
34610            port_override=d.get('port_override'),
34611            private_key=d.get('private_key'),
34612            proxy_cluster_id=d.get('proxy_cluster_id'),
34613            schema=d.get('schema'),
34614            secret_store_id=d.get('secret_store_id'),
34615            subdomain=d.get('subdomain'),
34616            tags=d.get('tags'),
34617            username=d.get('username'),
34618        )
class Snowsight:
34621class Snowsight:
34622    __slots__ = [
34623        'bind_interface',
34624        'connecttodefault',
34625        'egress_filter',
34626        'healthcheck_username',
34627        'healthy',
34628        'id',
34629        'name',
34630        'port_override',
34631        'proxy_cluster_id',
34632        'samlmetadata',
34633        'secret_store_id',
34634        'subdomain',
34635        'tags',
34636        'use_https',
34637    ]
34638
34639    def __init__(
34640        self,
34641        bind_interface=None,
34642        connecttodefault=None,
34643        egress_filter=None,
34644        healthcheck_username=None,
34645        healthy=None,
34646        id=None,
34647        name=None,
34648        port_override=None,
34649        proxy_cluster_id=None,
34650        samlmetadata=None,
34651        secret_store_id=None,
34652        subdomain=None,
34653        tags=None,
34654        use_https=None,
34655    ):
34656        self.bind_interface = bind_interface if bind_interface is not None else ''
34657        '''
34658         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34659        '''
34660        self.connecttodefault = connecttodefault if connecttodefault is not None else False
34661        '''
34662         If true, select the ACS with isDefault=true
34663        '''
34664        self.egress_filter = egress_filter if egress_filter is not None else ''
34665        '''
34666         A filter applied to the routing logic to pin datasource to nodes.
34667        '''
34668        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
34669        '''
34670         The StrongDM user email to use for healthchecks.
34671        '''
34672        self.healthy = healthy if healthy is not None else False
34673        '''
34674         True if the datasource is reachable and the credentials are valid.
34675        '''
34676        self.id = id if id is not None else ''
34677        '''
34678         Unique identifier of the Resource.
34679        '''
34680        self.name = name if name is not None else ''
34681        '''
34682         Unique human-readable name of the Resource.
34683        '''
34684        self.port_override = port_override if port_override is not None else 0
34685        '''
34686         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34687        '''
34688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34689        '''
34690         ID of the proxy cluster for this resource, if any.
34691        '''
34692        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
34693        '''
34694         The Metadata for your snowflake IDP integration
34695        '''
34696        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34697        '''
34698         ID of the secret store containing credentials for this resource, if any.
34699        '''
34700        self.subdomain = subdomain if subdomain is not None else ''
34701        '''
34702         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
34703        '''
34704        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34705        '''
34706         Tags is a map of key, value pairs.
34707        '''
34708        self.use_https = use_https if use_https is not None else False
34709        '''
34710         This option enforces HTTPS on the client, not resource connection.
34711        '''
34712
34713    def __repr__(self):
34714        return '<sdm.Snowsight ' + \
34715            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
34716            'connecttodefault: ' + repr(self.connecttodefault) + ' ' +\
34717            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
34718            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
34719            'healthy: ' + repr(self.healthy) + ' ' +\
34720            'id: ' + repr(self.id) + ' ' +\
34721            'name: ' + repr(self.name) + ' ' +\
34722            'port_override: ' + repr(self.port_override) + ' ' +\
34723            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
34724            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
34725            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34726            'subdomain: ' + repr(self.subdomain) + ' ' +\
34727            'tags: ' + repr(self.tags) + ' ' +\
34728            'use_https: ' + repr(self.use_https) + ' ' +\
34729            '>'
34730
34731    def to_dict(self):
34732        return {
34733            'bind_interface': self.bind_interface,
34734            'connecttodefault': self.connecttodefault,
34735            'egress_filter': self.egress_filter,
34736            'healthcheck_username': self.healthcheck_username,
34737            'healthy': self.healthy,
34738            'id': self.id,
34739            'name': self.name,
34740            'port_override': self.port_override,
34741            'proxy_cluster_id': self.proxy_cluster_id,
34742            'samlmetadata': self.samlmetadata,
34743            'secret_store_id': self.secret_store_id,
34744            'subdomain': self.subdomain,
34745            'tags': self.tags,
34746            'use_https': self.use_https,
34747        }
34748
34749    @classmethod
34750    def from_dict(cls, d):
34751        return cls(
34752            bind_interface=d.get('bind_interface'),
34753            connecttodefault=d.get('connecttodefault'),
34754            egress_filter=d.get('egress_filter'),
34755            healthcheck_username=d.get('healthcheck_username'),
34756            healthy=d.get('healthy'),
34757            id=d.get('id'),
34758            name=d.get('name'),
34759            port_override=d.get('port_override'),
34760            proxy_cluster_id=d.get('proxy_cluster_id'),
34761            samlmetadata=d.get('samlmetadata'),
34762            secret_store_id=d.get('secret_store_id'),
34763            subdomain=d.get('subdomain'),
34764            tags=d.get('tags'),
34765            use_https=d.get('use_https'),
34766        )
Snowsight( bind_interface=None, connecttodefault=None, egress_filter=None, healthcheck_username=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, samlmetadata=None, secret_store_id=None, subdomain=None, tags=None, use_https=None)
34639    def __init__(
34640        self,
34641        bind_interface=None,
34642        connecttodefault=None,
34643        egress_filter=None,
34644        healthcheck_username=None,
34645        healthy=None,
34646        id=None,
34647        name=None,
34648        port_override=None,
34649        proxy_cluster_id=None,
34650        samlmetadata=None,
34651        secret_store_id=None,
34652        subdomain=None,
34653        tags=None,
34654        use_https=None,
34655    ):
34656        self.bind_interface = bind_interface if bind_interface is not None else ''
34657        '''
34658         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
34659        '''
34660        self.connecttodefault = connecttodefault if connecttodefault is not None else False
34661        '''
34662         If true, select the ACS with isDefault=true
34663        '''
34664        self.egress_filter = egress_filter if egress_filter is not None else ''
34665        '''
34666         A filter applied to the routing logic to pin datasource to nodes.
34667        '''
34668        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
34669        '''
34670         The StrongDM user email to use for healthchecks.
34671        '''
34672        self.healthy = healthy if healthy is not None else False
34673        '''
34674         True if the datasource is reachable and the credentials are valid.
34675        '''
34676        self.id = id if id is not None else ''
34677        '''
34678         Unique identifier of the Resource.
34679        '''
34680        self.name = name if name is not None else ''
34681        '''
34682         Unique human-readable name of the Resource.
34683        '''
34684        self.port_override = port_override if port_override is not None else 0
34685        '''
34686         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
34687        '''
34688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
34689        '''
34690         ID of the proxy cluster for this resource, if any.
34691        '''
34692        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
34693        '''
34694         The Metadata for your snowflake IDP integration
34695        '''
34696        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34697        '''
34698         ID of the secret store containing credentials for this resource, if any.
34699        '''
34700        self.subdomain = subdomain if subdomain is not None else ''
34701        '''
34702         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
34703        '''
34704        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34705        '''
34706         Tags is a map of key, value pairs.
34707        '''
34708        self.use_https = use_https if use_https is not None else False
34709        '''
34710         This option enforces HTTPS on the client, not resource connection.
34711        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

connecttodefault

If true, select the ACS with isDefault=true

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_username

The StrongDM user email to use for healthchecks.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

samlmetadata

The Metadata for your snowflake IDP integration

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

use_https

This option enforces HTTPS on the client, not resource connection.

def to_dict(self)
34731    def to_dict(self):
34732        return {
34733            'bind_interface': self.bind_interface,
34734            'connecttodefault': self.connecttodefault,
34735            'egress_filter': self.egress_filter,
34736            'healthcheck_username': self.healthcheck_username,
34737            'healthy': self.healthy,
34738            'id': self.id,
34739            'name': self.name,
34740            'port_override': self.port_override,
34741            'proxy_cluster_id': self.proxy_cluster_id,
34742            'samlmetadata': self.samlmetadata,
34743            'secret_store_id': self.secret_store_id,
34744            'subdomain': self.subdomain,
34745            'tags': self.tags,
34746            'use_https': self.use_https,
34747        }
@classmethod
def from_dict(cls, d)
34749    @classmethod
34750    def from_dict(cls, d):
34751        return cls(
34752            bind_interface=d.get('bind_interface'),
34753            connecttodefault=d.get('connecttodefault'),
34754            egress_filter=d.get('egress_filter'),
34755            healthcheck_username=d.get('healthcheck_username'),
34756            healthy=d.get('healthy'),
34757            id=d.get('id'),
34758            name=d.get('name'),
34759            port_override=d.get('port_override'),
34760            proxy_cluster_id=d.get('proxy_cluster_id'),
34761            samlmetadata=d.get('samlmetadata'),
34762            secret_store_id=d.get('secret_store_id'),
34763            subdomain=d.get('subdomain'),
34764            tags=d.get('tags'),
34765            use_https=d.get('use_https'),
34766        )
class SqlserverEngine:
34769class SqlserverEngine:
34770    __slots__ = [
34771        'after_read_ttl',
34772        'database',
34773        'hostname',
34774        'id',
34775        'key_rotation_interval_days',
34776        'name',
34777        'node_selector',
34778        'password',
34779        'policy',
34780        'port',
34781        'public_key',
34782        'secret_store_id',
34783        'secret_store_root_path',
34784        'tags',
34785        'tls',
34786        'tls_skip_verify',
34787        'ttl',
34788        'username',
34789    ]
34790
34791    def __init__(
34792        self,
34793        after_read_ttl=None,
34794        database=None,
34795        hostname=None,
34796        id=None,
34797        key_rotation_interval_days=None,
34798        name=None,
34799        node_selector=None,
34800        password=None,
34801        policy=None,
34802        port=None,
34803        public_key=None,
34804        secret_store_id=None,
34805        secret_store_root_path=None,
34806        tags=None,
34807        tls=None,
34808        tls_skip_verify=None,
34809        ttl=None,
34810        username=None,
34811    ):
34812        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
34813        '''
34814         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
34815        '''
34816        self.database = database if database is not None else ''
34817        '''
34818         Database is the database to verify credential against.
34819        '''
34820        self.hostname = hostname if hostname is not None else ''
34821        '''
34822         Hostname is the hostname or IP address of the SQL Server.
34823        '''
34824        self.id = id if id is not None else ''
34825        '''
34826         Unique identifier of the Secret Engine.
34827        '''
34828        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
34829        '''
34830         An interval of public/private key rotation for secret engine in days
34831        '''
34832        self.name = name if name is not None else ''
34833        '''
34834         Unique human-readable name of the Secret Engine.
34835        '''
34836        self.node_selector = node_selector if node_selector is not None else ''
34837        '''
34838         node selector is used to narrow down the nodes used to communicate with with secret engine
34839        '''
34840        self.password = password if password is not None else ''
34841        '''
34842         Password is the password to connect to the SQL Server server.
34843        '''
34844        self.policy = policy if policy is not None else None
34845        '''
34846         Policy for password creation
34847        '''
34848        self.port = port if port is not None else 0
34849        '''
34850         Port is the port number of the SQL Server server.
34851        '''
34852        self.public_key = public_key if public_key is not None else b''
34853        '''
34854         Public key linked with a secret engine
34855        '''
34856        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34857        '''
34858         Backing secret store identifier
34859        '''
34860        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
34861        '''
34862         Backing Secret Store root path where managed secrets are going to be stored
34863        '''
34864        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34865        '''
34866         Tags is a map of key, value pairs.
34867        '''
34868        self.tls = tls if tls is not None else False
34869        '''
34870         TLS enables TLS/SSL when connecting to the SQL Server server.
34871        '''
34872        self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
34873        '''
34874         TLS disable certificate verification
34875        '''
34876        self.ttl = ttl if ttl is not None else None
34877        '''
34878         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
34879        '''
34880        self.username = username if username is not None else ''
34881        '''
34882         Username is the username to connect to the SQL Server.
34883        '''
34884
34885    def __repr__(self):
34886        return '<sdm.SqlserverEngine ' + \
34887            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
34888            'database: ' + repr(self.database) + ' ' +\
34889            'hostname: ' + repr(self.hostname) + ' ' +\
34890            'id: ' + repr(self.id) + ' ' +\
34891            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
34892            'name: ' + repr(self.name) + ' ' +\
34893            'node_selector: ' + repr(self.node_selector) + ' ' +\
34894            'password: ' + repr(self.password) + ' ' +\
34895            'policy: ' + repr(self.policy) + ' ' +\
34896            'port: ' + repr(self.port) + ' ' +\
34897            'public_key: ' + repr(self.public_key) + ' ' +\
34898            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
34899            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
34900            'tags: ' + repr(self.tags) + ' ' +\
34901            'tls: ' + repr(self.tls) + ' ' +\
34902            'tls_skip_verify: ' + repr(self.tls_skip_verify) + ' ' +\
34903            'ttl: ' + repr(self.ttl) + ' ' +\
34904            'username: ' + repr(self.username) + ' ' +\
34905            '>'
34906
34907    def to_dict(self):
34908        return {
34909            'after_read_ttl': self.after_read_ttl,
34910            'database': self.database,
34911            'hostname': self.hostname,
34912            'id': self.id,
34913            'key_rotation_interval_days': self.key_rotation_interval_days,
34914            'name': self.name,
34915            'node_selector': self.node_selector,
34916            'password': self.password,
34917            'policy': self.policy,
34918            'port': self.port,
34919            'public_key': self.public_key,
34920            'secret_store_id': self.secret_store_id,
34921            'secret_store_root_path': self.secret_store_root_path,
34922            'tags': self.tags,
34923            'tls': self.tls,
34924            'tls_skip_verify': self.tls_skip_verify,
34925            'ttl': self.ttl,
34926            'username': self.username,
34927        }
34928
34929    @classmethod
34930    def from_dict(cls, d):
34931        return cls(
34932            after_read_ttl=d.get('after_read_ttl'),
34933            database=d.get('database'),
34934            hostname=d.get('hostname'),
34935            id=d.get('id'),
34936            key_rotation_interval_days=d.get('key_rotation_interval_days'),
34937            name=d.get('name'),
34938            node_selector=d.get('node_selector'),
34939            password=d.get('password'),
34940            policy=d.get('policy'),
34941            port=d.get('port'),
34942            public_key=d.get('public_key'),
34943            secret_store_id=d.get('secret_store_id'),
34944            secret_store_root_path=d.get('secret_store_root_path'),
34945            tags=d.get('tags'),
34946            tls=d.get('tls'),
34947            tls_skip_verify=d.get('tls_skip_verify'),
34948            ttl=d.get('ttl'),
34949            username=d.get('username'),
34950        )
SqlserverEngine( after_read_ttl=None, database=None, hostname=None, id=None, key_rotation_interval_days=None, name=None, node_selector=None, password=None, policy=None, port=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None, tls=None, tls_skip_verify=None, ttl=None, username=None)
34791    def __init__(
34792        self,
34793        after_read_ttl=None,
34794        database=None,
34795        hostname=None,
34796        id=None,
34797        key_rotation_interval_days=None,
34798        name=None,
34799        node_selector=None,
34800        password=None,
34801        policy=None,
34802        port=None,
34803        public_key=None,
34804        secret_store_id=None,
34805        secret_store_root_path=None,
34806        tags=None,
34807        tls=None,
34808        tls_skip_verify=None,
34809        ttl=None,
34810        username=None,
34811    ):
34812        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
34813        '''
34814         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
34815        '''
34816        self.database = database if database is not None else ''
34817        '''
34818         Database is the database to verify credential against.
34819        '''
34820        self.hostname = hostname if hostname is not None else ''
34821        '''
34822         Hostname is the hostname or IP address of the SQL Server.
34823        '''
34824        self.id = id if id is not None else ''
34825        '''
34826         Unique identifier of the Secret Engine.
34827        '''
34828        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
34829        '''
34830         An interval of public/private key rotation for secret engine in days
34831        '''
34832        self.name = name if name is not None else ''
34833        '''
34834         Unique human-readable name of the Secret Engine.
34835        '''
34836        self.node_selector = node_selector if node_selector is not None else ''
34837        '''
34838         node selector is used to narrow down the nodes used to communicate with with secret engine
34839        '''
34840        self.password = password if password is not None else ''
34841        '''
34842         Password is the password to connect to the SQL Server server.
34843        '''
34844        self.policy = policy if policy is not None else None
34845        '''
34846         Policy for password creation
34847        '''
34848        self.port = port if port is not None else 0
34849        '''
34850         Port is the port number of the SQL Server server.
34851        '''
34852        self.public_key = public_key if public_key is not None else b''
34853        '''
34854         Public key linked with a secret engine
34855        '''
34856        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
34857        '''
34858         Backing secret store identifier
34859        '''
34860        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
34861        '''
34862         Backing Secret Store root path where managed secrets are going to be stored
34863        '''
34864        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34865        '''
34866         Tags is a map of key, value pairs.
34867        '''
34868        self.tls = tls if tls is not None else False
34869        '''
34870         TLS enables TLS/SSL when connecting to the SQL Server server.
34871        '''
34872        self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
34873        '''
34874         TLS disable certificate verification
34875        '''
34876        self.ttl = ttl if ttl is not None else None
34877        '''
34878         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
34879        '''
34880        self.username = username if username is not None else ''
34881        '''
34882         Username is the username to connect to the SQL Server.
34883        '''
after_read_ttl

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.

database

Database is the database to verify credential against.

hostname

Hostname is the hostname or IP address of the SQL Server.

id

Unique identifier of the Secret Engine.

key_rotation_interval_days

An interval of public/private key rotation for secret engine in days

name

Unique human-readable name of the Secret Engine.

node_selector

node selector is used to narrow down the nodes used to communicate with with secret engine

password

Password is the password to connect to the SQL Server server.

policy

Policy for password creation

port

Port is the port number of the SQL Server server.

public_key

Public key linked with a secret engine

secret_store_id

Backing secret store identifier

secret_store_root_path

Backing Secret Store root path where managed secrets are going to be stored

tags

Tags is a map of key, value pairs.

tls

TLS enables TLS/SSL when connecting to the SQL Server server.

tls_skip_verify

TLS disable certificate verification

ttl

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.

username

Username is the username to connect to the SQL Server.

def to_dict(self)
34907    def to_dict(self):
34908        return {
34909            'after_read_ttl': self.after_read_ttl,
34910            'database': self.database,
34911            'hostname': self.hostname,
34912            'id': self.id,
34913            'key_rotation_interval_days': self.key_rotation_interval_days,
34914            'name': self.name,
34915            'node_selector': self.node_selector,
34916            'password': self.password,
34917            'policy': self.policy,
34918            'port': self.port,
34919            'public_key': self.public_key,
34920            'secret_store_id': self.secret_store_id,
34921            'secret_store_root_path': self.secret_store_root_path,
34922            'tags': self.tags,
34923            'tls': self.tls,
34924            'tls_skip_verify': self.tls_skip_verify,
34925            'ttl': self.ttl,
34926            'username': self.username,
34927        }
@classmethod
def from_dict(cls, d)
34929    @classmethod
34930    def from_dict(cls, d):
34931        return cls(
34932            after_read_ttl=d.get('after_read_ttl'),
34933            database=d.get('database'),
34934            hostname=d.get('hostname'),
34935            id=d.get('id'),
34936            key_rotation_interval_days=d.get('key_rotation_interval_days'),
34937            name=d.get('name'),
34938            node_selector=d.get('node_selector'),
34939            password=d.get('password'),
34940            policy=d.get('policy'),
34941            port=d.get('port'),
34942            public_key=d.get('public_key'),
34943            secret_store_id=d.get('secret_store_id'),
34944            secret_store_root_path=d.get('secret_store_root_path'),
34945            tags=d.get('tags'),
34946            tls=d.get('tls'),
34947            tls_skip_verify=d.get('tls_skip_verify'),
34948            ttl=d.get('ttl'),
34949            username=d.get('username'),
34950        )
class StrongVaultStore:
34953class StrongVaultStore:
34954    __slots__ = [
34955        'id',
34956        'name',
34957        'tags',
34958    ]
34959
34960    def __init__(
34961        self,
34962        id=None,
34963        name=None,
34964        tags=None,
34965    ):
34966        self.id = id if id is not None else ''
34967        '''
34968         Unique identifier of the SecretStore.
34969        '''
34970        self.name = name if name is not None else ''
34971        '''
34972         Unique human-readable name of the SecretStore.
34973        '''
34974        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34975        '''
34976         Tags is a map of key, value pairs.
34977        '''
34978
34979    def __repr__(self):
34980        return '<sdm.StrongVaultStore ' + \
34981            'id: ' + repr(self.id) + ' ' +\
34982            'name: ' + repr(self.name) + ' ' +\
34983            'tags: ' + repr(self.tags) + ' ' +\
34984            '>'
34985
34986    def to_dict(self):
34987        return {
34988            'id': self.id,
34989            'name': self.name,
34990            'tags': self.tags,
34991        }
34992
34993    @classmethod
34994    def from_dict(cls, d):
34995        return cls(
34996            id=d.get('id'),
34997            name=d.get('name'),
34998            tags=d.get('tags'),
34999        )
StrongVaultStore(id=None, name=None, tags=None)
34960    def __init__(
34961        self,
34962        id=None,
34963        name=None,
34964        tags=None,
34965    ):
34966        self.id = id if id is not None else ''
34967        '''
34968         Unique identifier of the SecretStore.
34969        '''
34970        self.name = name if name is not None else ''
34971        '''
34972         Unique human-readable name of the SecretStore.
34973        '''
34974        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
34975        '''
34976         Tags is a map of key, value pairs.
34977        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

def to_dict(self)
34986    def to_dict(self):
34987        return {
34988            'id': self.id,
34989            'name': self.name,
34990            'tags': self.tags,
34991        }
@classmethod
def from_dict(cls, d)
34993    @classmethod
34994    def from_dict(cls, d):
34995        return cls(
34996            id=d.get('id'),
34997            name=d.get('name'),
34998            tags=d.get('tags'),
34999        )
class Sybase:
35002class Sybase:
35003    __slots__ = [
35004        'bind_interface',
35005        'egress_filter',
35006        'healthy',
35007        'hostname',
35008        'id',
35009        'name',
35010        'password',
35011        'port',
35012        'port_override',
35013        'proxy_cluster_id',
35014        'secret_store_id',
35015        'subdomain',
35016        'tags',
35017        'username',
35018    ]
35019
35020    def __init__(
35021        self,
35022        bind_interface=None,
35023        egress_filter=None,
35024        healthy=None,
35025        hostname=None,
35026        id=None,
35027        name=None,
35028        password=None,
35029        port=None,
35030        port_override=None,
35031        proxy_cluster_id=None,
35032        secret_store_id=None,
35033        subdomain=None,
35034        tags=None,
35035        username=None,
35036    ):
35037        self.bind_interface = bind_interface if bind_interface is not None else ''
35038        '''
35039         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35040        '''
35041        self.egress_filter = egress_filter if egress_filter is not None else ''
35042        '''
35043         A filter applied to the routing logic to pin datasource to nodes.
35044        '''
35045        self.healthy = healthy if healthy is not None else False
35046        '''
35047         True if the datasource is reachable and the credentials are valid.
35048        '''
35049        self.hostname = hostname if hostname is not None else ''
35050        '''
35051         The host to dial to initiate a connection from the egress node to this resource.
35052        '''
35053        self.id = id if id is not None else ''
35054        '''
35055         Unique identifier of the Resource.
35056        '''
35057        self.name = name if name is not None else ''
35058        '''
35059         Unique human-readable name of the Resource.
35060        '''
35061        self.password = password if password is not None else ''
35062        '''
35063         The password to authenticate with.
35064        '''
35065        self.port = port if port is not None else 0
35066        '''
35067         The port to dial to initiate a connection from the egress node to this resource.
35068        '''
35069        self.port_override = port_override if port_override is not None else 0
35070        '''
35071         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35072        '''
35073        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35074        '''
35075         ID of the proxy cluster for this resource, if any.
35076        '''
35077        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35078        '''
35079         ID of the secret store containing credentials for this resource, if any.
35080        '''
35081        self.subdomain = subdomain if subdomain is not None else ''
35082        '''
35083         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35084        '''
35085        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35086        '''
35087         Tags is a map of key, value pairs.
35088        '''
35089        self.username = username if username is not None else ''
35090        '''
35091         The username to authenticate with.
35092        '''
35093
35094    def __repr__(self):
35095        return '<sdm.Sybase ' + \
35096            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35097            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35098            'healthy: ' + repr(self.healthy) + ' ' +\
35099            'hostname: ' + repr(self.hostname) + ' ' +\
35100            'id: ' + repr(self.id) + ' ' +\
35101            'name: ' + repr(self.name) + ' ' +\
35102            'password: ' + repr(self.password) + ' ' +\
35103            'port: ' + repr(self.port) + ' ' +\
35104            'port_override: ' + repr(self.port_override) + ' ' +\
35105            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35106            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35107            'subdomain: ' + repr(self.subdomain) + ' ' +\
35108            'tags: ' + repr(self.tags) + ' ' +\
35109            'username: ' + repr(self.username) + ' ' +\
35110            '>'
35111
35112    def to_dict(self):
35113        return {
35114            'bind_interface': self.bind_interface,
35115            'egress_filter': self.egress_filter,
35116            'healthy': self.healthy,
35117            'hostname': self.hostname,
35118            'id': self.id,
35119            'name': self.name,
35120            'password': self.password,
35121            'port': self.port,
35122            'port_override': self.port_override,
35123            'proxy_cluster_id': self.proxy_cluster_id,
35124            'secret_store_id': self.secret_store_id,
35125            'subdomain': self.subdomain,
35126            'tags': self.tags,
35127            'username': self.username,
35128        }
35129
35130    @classmethod
35131    def from_dict(cls, d):
35132        return cls(
35133            bind_interface=d.get('bind_interface'),
35134            egress_filter=d.get('egress_filter'),
35135            healthy=d.get('healthy'),
35136            hostname=d.get('hostname'),
35137            id=d.get('id'),
35138            name=d.get('name'),
35139            password=d.get('password'),
35140            port=d.get('port'),
35141            port_override=d.get('port_override'),
35142            proxy_cluster_id=d.get('proxy_cluster_id'),
35143            secret_store_id=d.get('secret_store_id'),
35144            subdomain=d.get('subdomain'),
35145            tags=d.get('tags'),
35146            username=d.get('username'),
35147        )
Sybase( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
35020    def __init__(
35021        self,
35022        bind_interface=None,
35023        egress_filter=None,
35024        healthy=None,
35025        hostname=None,
35026        id=None,
35027        name=None,
35028        password=None,
35029        port=None,
35030        port_override=None,
35031        proxy_cluster_id=None,
35032        secret_store_id=None,
35033        subdomain=None,
35034        tags=None,
35035        username=None,
35036    ):
35037        self.bind_interface = bind_interface if bind_interface is not None else ''
35038        '''
35039         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35040        '''
35041        self.egress_filter = egress_filter if egress_filter is not None else ''
35042        '''
35043         A filter applied to the routing logic to pin datasource to nodes.
35044        '''
35045        self.healthy = healthy if healthy is not None else False
35046        '''
35047         True if the datasource is reachable and the credentials are valid.
35048        '''
35049        self.hostname = hostname if hostname is not None else ''
35050        '''
35051         The host to dial to initiate a connection from the egress node to this resource.
35052        '''
35053        self.id = id if id is not None else ''
35054        '''
35055         Unique identifier of the Resource.
35056        '''
35057        self.name = name if name is not None else ''
35058        '''
35059         Unique human-readable name of the Resource.
35060        '''
35061        self.password = password if password is not None else ''
35062        '''
35063         The password to authenticate with.
35064        '''
35065        self.port = port if port is not None else 0
35066        '''
35067         The port to dial to initiate a connection from the egress node to this resource.
35068        '''
35069        self.port_override = port_override if port_override is not None else 0
35070        '''
35071         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35072        '''
35073        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35074        '''
35075         ID of the proxy cluster for this resource, if any.
35076        '''
35077        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35078        '''
35079         ID of the secret store containing credentials for this resource, if any.
35080        '''
35081        self.subdomain = subdomain if subdomain is not None else ''
35082        '''
35083         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35084        '''
35085        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35086        '''
35087         Tags is a map of key, value pairs.
35088        '''
35089        self.username = username if username is not None else ''
35090        '''
35091         The username to authenticate with.
35092        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
35112    def to_dict(self):
35113        return {
35114            'bind_interface': self.bind_interface,
35115            'egress_filter': self.egress_filter,
35116            'healthy': self.healthy,
35117            'hostname': self.hostname,
35118            'id': self.id,
35119            'name': self.name,
35120            'password': self.password,
35121            'port': self.port,
35122            'port_override': self.port_override,
35123            'proxy_cluster_id': self.proxy_cluster_id,
35124            'secret_store_id': self.secret_store_id,
35125            'subdomain': self.subdomain,
35126            'tags': self.tags,
35127            'username': self.username,
35128        }
@classmethod
def from_dict(cls, d)
35130    @classmethod
35131    def from_dict(cls, d):
35132        return cls(
35133            bind_interface=d.get('bind_interface'),
35134            egress_filter=d.get('egress_filter'),
35135            healthy=d.get('healthy'),
35136            hostname=d.get('hostname'),
35137            id=d.get('id'),
35138            name=d.get('name'),
35139            password=d.get('password'),
35140            port=d.get('port'),
35141            port_override=d.get('port_override'),
35142            proxy_cluster_id=d.get('proxy_cluster_id'),
35143            secret_store_id=d.get('secret_store_id'),
35144            subdomain=d.get('subdomain'),
35145            tags=d.get('tags'),
35146            username=d.get('username'),
35147        )
class SybaseIQ:
35150class SybaseIQ:
35151    __slots__ = [
35152        'bind_interface',
35153        'egress_filter',
35154        'healthy',
35155        'hostname',
35156        'id',
35157        'name',
35158        'password',
35159        'port',
35160        'port_override',
35161        'proxy_cluster_id',
35162        'secret_store_id',
35163        'subdomain',
35164        'tags',
35165        'username',
35166    ]
35167
35168    def __init__(
35169        self,
35170        bind_interface=None,
35171        egress_filter=None,
35172        healthy=None,
35173        hostname=None,
35174        id=None,
35175        name=None,
35176        password=None,
35177        port=None,
35178        port_override=None,
35179        proxy_cluster_id=None,
35180        secret_store_id=None,
35181        subdomain=None,
35182        tags=None,
35183        username=None,
35184    ):
35185        self.bind_interface = bind_interface if bind_interface is not None else ''
35186        '''
35187         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35188        '''
35189        self.egress_filter = egress_filter if egress_filter is not None else ''
35190        '''
35191         A filter applied to the routing logic to pin datasource to nodes.
35192        '''
35193        self.healthy = healthy if healthy is not None else False
35194        '''
35195         True if the datasource is reachable and the credentials are valid.
35196        '''
35197        self.hostname = hostname if hostname is not None else ''
35198        '''
35199         The host to dial to initiate a connection from the egress node to this resource.
35200        '''
35201        self.id = id if id is not None else ''
35202        '''
35203         Unique identifier of the Resource.
35204        '''
35205        self.name = name if name is not None else ''
35206        '''
35207         Unique human-readable name of the Resource.
35208        '''
35209        self.password = password if password is not None else ''
35210        '''
35211         The password to authenticate with.
35212        '''
35213        self.port = port if port is not None else 0
35214        '''
35215         The port to dial to initiate a connection from the egress node to this resource.
35216        '''
35217        self.port_override = port_override if port_override is not None else 0
35218        '''
35219         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35220        '''
35221        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35222        '''
35223         ID of the proxy cluster for this resource, if any.
35224        '''
35225        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35226        '''
35227         ID of the secret store containing credentials for this resource, if any.
35228        '''
35229        self.subdomain = subdomain if subdomain is not None else ''
35230        '''
35231         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35232        '''
35233        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35234        '''
35235         Tags is a map of key, value pairs.
35236        '''
35237        self.username = username if username is not None else ''
35238        '''
35239         The username to authenticate with.
35240        '''
35241
35242    def __repr__(self):
35243        return '<sdm.SybaseIQ ' + \
35244            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35245            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35246            'healthy: ' + repr(self.healthy) + ' ' +\
35247            'hostname: ' + repr(self.hostname) + ' ' +\
35248            'id: ' + repr(self.id) + ' ' +\
35249            'name: ' + repr(self.name) + ' ' +\
35250            'password: ' + repr(self.password) + ' ' +\
35251            'port: ' + repr(self.port) + ' ' +\
35252            'port_override: ' + repr(self.port_override) + ' ' +\
35253            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35254            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35255            'subdomain: ' + repr(self.subdomain) + ' ' +\
35256            'tags: ' + repr(self.tags) + ' ' +\
35257            'username: ' + repr(self.username) + ' ' +\
35258            '>'
35259
35260    def to_dict(self):
35261        return {
35262            'bind_interface': self.bind_interface,
35263            'egress_filter': self.egress_filter,
35264            'healthy': self.healthy,
35265            'hostname': self.hostname,
35266            'id': self.id,
35267            'name': self.name,
35268            'password': self.password,
35269            'port': self.port,
35270            'port_override': self.port_override,
35271            'proxy_cluster_id': self.proxy_cluster_id,
35272            'secret_store_id': self.secret_store_id,
35273            'subdomain': self.subdomain,
35274            'tags': self.tags,
35275            'username': self.username,
35276        }
35277
35278    @classmethod
35279    def from_dict(cls, d):
35280        return cls(
35281            bind_interface=d.get('bind_interface'),
35282            egress_filter=d.get('egress_filter'),
35283            healthy=d.get('healthy'),
35284            hostname=d.get('hostname'),
35285            id=d.get('id'),
35286            name=d.get('name'),
35287            password=d.get('password'),
35288            port=d.get('port'),
35289            port_override=d.get('port_override'),
35290            proxy_cluster_id=d.get('proxy_cluster_id'),
35291            secret_store_id=d.get('secret_store_id'),
35292            subdomain=d.get('subdomain'),
35293            tags=d.get('tags'),
35294            username=d.get('username'),
35295        )
SybaseIQ( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
35168    def __init__(
35169        self,
35170        bind_interface=None,
35171        egress_filter=None,
35172        healthy=None,
35173        hostname=None,
35174        id=None,
35175        name=None,
35176        password=None,
35177        port=None,
35178        port_override=None,
35179        proxy_cluster_id=None,
35180        secret_store_id=None,
35181        subdomain=None,
35182        tags=None,
35183        username=None,
35184    ):
35185        self.bind_interface = bind_interface if bind_interface is not None else ''
35186        '''
35187         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35188        '''
35189        self.egress_filter = egress_filter if egress_filter is not None else ''
35190        '''
35191         A filter applied to the routing logic to pin datasource to nodes.
35192        '''
35193        self.healthy = healthy if healthy is not None else False
35194        '''
35195         True if the datasource is reachable and the credentials are valid.
35196        '''
35197        self.hostname = hostname if hostname is not None else ''
35198        '''
35199         The host to dial to initiate a connection from the egress node to this resource.
35200        '''
35201        self.id = id if id is not None else ''
35202        '''
35203         Unique identifier of the Resource.
35204        '''
35205        self.name = name if name is not None else ''
35206        '''
35207         Unique human-readable name of the Resource.
35208        '''
35209        self.password = password if password is not None else ''
35210        '''
35211         The password to authenticate with.
35212        '''
35213        self.port = port if port is not None else 0
35214        '''
35215         The port to dial to initiate a connection from the egress node to this resource.
35216        '''
35217        self.port_override = port_override if port_override is not None else 0
35218        '''
35219         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35220        '''
35221        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35222        '''
35223         ID of the proxy cluster for this resource, if any.
35224        '''
35225        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35226        '''
35227         ID of the secret store containing credentials for this resource, if any.
35228        '''
35229        self.subdomain = subdomain if subdomain is not None else ''
35230        '''
35231         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35232        '''
35233        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35234        '''
35235         Tags is a map of key, value pairs.
35236        '''
35237        self.username = username if username is not None else ''
35238        '''
35239         The username to authenticate with.
35240        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
35260    def to_dict(self):
35261        return {
35262            'bind_interface': self.bind_interface,
35263            'egress_filter': self.egress_filter,
35264            'healthy': self.healthy,
35265            'hostname': self.hostname,
35266            'id': self.id,
35267            'name': self.name,
35268            'password': self.password,
35269            'port': self.port,
35270            'port_override': self.port_override,
35271            'proxy_cluster_id': self.proxy_cluster_id,
35272            'secret_store_id': self.secret_store_id,
35273            'subdomain': self.subdomain,
35274            'tags': self.tags,
35275            'username': self.username,
35276        }
@classmethod
def from_dict(cls, d)
35278    @classmethod
35279    def from_dict(cls, d):
35280        return cls(
35281            bind_interface=d.get('bind_interface'),
35282            egress_filter=d.get('egress_filter'),
35283            healthy=d.get('healthy'),
35284            hostname=d.get('hostname'),
35285            id=d.get('id'),
35286            name=d.get('name'),
35287            password=d.get('password'),
35288            port=d.get('port'),
35289            port_override=d.get('port_override'),
35290            proxy_cluster_id=d.get('proxy_cluster_id'),
35291            secret_store_id=d.get('secret_store_id'),
35292            subdomain=d.get('subdomain'),
35293            tags=d.get('tags'),
35294            username=d.get('username'),
35295        )
class Tag:
35298class Tag:
35299    __slots__ = [
35300        'name',
35301        'value',
35302    ]
35303
35304    def __init__(
35305        self,
35306        name=None,
35307        value=None,
35308    ):
35309        self.name = name if name is not None else ''
35310        '''
35311         The name or key of this tag. Each name can only refer to one value on a tagged entity.
35312        '''
35313        self.value = value if value is not None else ''
35314        '''
35315         The value of this tag.
35316        '''
35317
35318    def __repr__(self):
35319        return '<sdm.Tag ' + \
35320            'name: ' + repr(self.name) + ' ' +\
35321            'value: ' + repr(self.value) + ' ' +\
35322            '>'
35323
35324    def to_dict(self):
35325        return {
35326            'name': self.name,
35327            'value': self.value,
35328        }
35329
35330    @classmethod
35331    def from_dict(cls, d):
35332        return cls(
35333            name=d.get('name'),
35334            value=d.get('value'),
35335        )
Tag(name=None, value=None)
35304    def __init__(
35305        self,
35306        name=None,
35307        value=None,
35308    ):
35309        self.name = name if name is not None else ''
35310        '''
35311         The name or key of this tag. Each name can only refer to one value on a tagged entity.
35312        '''
35313        self.value = value if value is not None else ''
35314        '''
35315         The value of this tag.
35316        '''
name

The name or key of this tag. Each name can only refer to one value on a tagged entity.

value

The value of this tag.

def to_dict(self)
35324    def to_dict(self):
35325        return {
35326            'name': self.name,
35327            'value': self.value,
35328        }
@classmethod
def from_dict(cls, d)
35330    @classmethod
35331    def from_dict(cls, d):
35332        return cls(
35333            name=d.get('name'),
35334            value=d.get('value'),
35335        )
class Teradata:
35338class Teradata:
35339    __slots__ = [
35340        'bind_interface',
35341        'egress_filter',
35342        'healthy',
35343        'hostname',
35344        'id',
35345        'name',
35346        'password',
35347        'port',
35348        'port_override',
35349        'proxy_cluster_id',
35350        'secret_store_id',
35351        'subdomain',
35352        'tags',
35353        'username',
35354    ]
35355
35356    def __init__(
35357        self,
35358        bind_interface=None,
35359        egress_filter=None,
35360        healthy=None,
35361        hostname=None,
35362        id=None,
35363        name=None,
35364        password=None,
35365        port=None,
35366        port_override=None,
35367        proxy_cluster_id=None,
35368        secret_store_id=None,
35369        subdomain=None,
35370        tags=None,
35371        username=None,
35372    ):
35373        self.bind_interface = bind_interface if bind_interface is not None else ''
35374        '''
35375         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35376        '''
35377        self.egress_filter = egress_filter if egress_filter is not None else ''
35378        '''
35379         A filter applied to the routing logic to pin datasource to nodes.
35380        '''
35381        self.healthy = healthy if healthy is not None else False
35382        '''
35383         True if the datasource is reachable and the credentials are valid.
35384        '''
35385        self.hostname = hostname if hostname is not None else ''
35386        '''
35387         The host to dial to initiate a connection from the egress node to this resource.
35388        '''
35389        self.id = id if id is not None else ''
35390        '''
35391         Unique identifier of the Resource.
35392        '''
35393        self.name = name if name is not None else ''
35394        '''
35395         Unique human-readable name of the Resource.
35396        '''
35397        self.password = password if password is not None else ''
35398        '''
35399         The password to authenticate with.
35400        '''
35401        self.port = port if port is not None else 0
35402        '''
35403         The port to dial to initiate a connection from the egress node to this resource.
35404        '''
35405        self.port_override = port_override if port_override is not None else 0
35406        '''
35407         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35408        '''
35409        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35410        '''
35411         ID of the proxy cluster for this resource, if any.
35412        '''
35413        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35414        '''
35415         ID of the secret store containing credentials for this resource, if any.
35416        '''
35417        self.subdomain = subdomain if subdomain is not None else ''
35418        '''
35419         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35420        '''
35421        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35422        '''
35423         Tags is a map of key, value pairs.
35424        '''
35425        self.username = username if username is not None else ''
35426        '''
35427         The username to authenticate with.
35428        '''
35429
35430    def __repr__(self):
35431        return '<sdm.Teradata ' + \
35432            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35433            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35434            'healthy: ' + repr(self.healthy) + ' ' +\
35435            'hostname: ' + repr(self.hostname) + ' ' +\
35436            'id: ' + repr(self.id) + ' ' +\
35437            'name: ' + repr(self.name) + ' ' +\
35438            'password: ' + repr(self.password) + ' ' +\
35439            'port: ' + repr(self.port) + ' ' +\
35440            'port_override: ' + repr(self.port_override) + ' ' +\
35441            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35442            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35443            'subdomain: ' + repr(self.subdomain) + ' ' +\
35444            'tags: ' + repr(self.tags) + ' ' +\
35445            'username: ' + repr(self.username) + ' ' +\
35446            '>'
35447
35448    def to_dict(self):
35449        return {
35450            'bind_interface': self.bind_interface,
35451            'egress_filter': self.egress_filter,
35452            'healthy': self.healthy,
35453            'hostname': self.hostname,
35454            'id': self.id,
35455            'name': self.name,
35456            'password': self.password,
35457            'port': self.port,
35458            'port_override': self.port_override,
35459            'proxy_cluster_id': self.proxy_cluster_id,
35460            'secret_store_id': self.secret_store_id,
35461            'subdomain': self.subdomain,
35462            'tags': self.tags,
35463            'username': self.username,
35464        }
35465
35466    @classmethod
35467    def from_dict(cls, d):
35468        return cls(
35469            bind_interface=d.get('bind_interface'),
35470            egress_filter=d.get('egress_filter'),
35471            healthy=d.get('healthy'),
35472            hostname=d.get('hostname'),
35473            id=d.get('id'),
35474            name=d.get('name'),
35475            password=d.get('password'),
35476            port=d.get('port'),
35477            port_override=d.get('port_override'),
35478            proxy_cluster_id=d.get('proxy_cluster_id'),
35479            secret_store_id=d.get('secret_store_id'),
35480            subdomain=d.get('subdomain'),
35481            tags=d.get('tags'),
35482            username=d.get('username'),
35483        )
Teradata( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
35356    def __init__(
35357        self,
35358        bind_interface=None,
35359        egress_filter=None,
35360        healthy=None,
35361        hostname=None,
35362        id=None,
35363        name=None,
35364        password=None,
35365        port=None,
35366        port_override=None,
35367        proxy_cluster_id=None,
35368        secret_store_id=None,
35369        subdomain=None,
35370        tags=None,
35371        username=None,
35372    ):
35373        self.bind_interface = bind_interface if bind_interface is not None else ''
35374        '''
35375         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35376        '''
35377        self.egress_filter = egress_filter if egress_filter is not None else ''
35378        '''
35379         A filter applied to the routing logic to pin datasource to nodes.
35380        '''
35381        self.healthy = healthy if healthy is not None else False
35382        '''
35383         True if the datasource is reachable and the credentials are valid.
35384        '''
35385        self.hostname = hostname if hostname is not None else ''
35386        '''
35387         The host to dial to initiate a connection from the egress node to this resource.
35388        '''
35389        self.id = id if id is not None else ''
35390        '''
35391         Unique identifier of the Resource.
35392        '''
35393        self.name = name if name is not None else ''
35394        '''
35395         Unique human-readable name of the Resource.
35396        '''
35397        self.password = password if password is not None else ''
35398        '''
35399         The password to authenticate with.
35400        '''
35401        self.port = port if port is not None else 0
35402        '''
35403         The port to dial to initiate a connection from the egress node to this resource.
35404        '''
35405        self.port_override = port_override if port_override is not None else 0
35406        '''
35407         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35408        '''
35409        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35410        '''
35411         ID of the proxy cluster for this resource, if any.
35412        '''
35413        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35414        '''
35415         ID of the secret store containing credentials for this resource, if any.
35416        '''
35417        self.subdomain = subdomain if subdomain is not None else ''
35418        '''
35419         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35420        '''
35421        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35422        '''
35423         Tags is a map of key, value pairs.
35424        '''
35425        self.username = username if username is not None else ''
35426        '''
35427         The username to authenticate with.
35428        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
35448    def to_dict(self):
35449        return {
35450            'bind_interface': self.bind_interface,
35451            'egress_filter': self.egress_filter,
35452            'healthy': self.healthy,
35453            'hostname': self.hostname,
35454            'id': self.id,
35455            'name': self.name,
35456            'password': self.password,
35457            'port': self.port,
35458            'port_override': self.port_override,
35459            'proxy_cluster_id': self.proxy_cluster_id,
35460            'secret_store_id': self.secret_store_id,
35461            'subdomain': self.subdomain,
35462            'tags': self.tags,
35463            'username': self.username,
35464        }
@classmethod
def from_dict(cls, d)
35466    @classmethod
35467    def from_dict(cls, d):
35468        return cls(
35469            bind_interface=d.get('bind_interface'),
35470            egress_filter=d.get('egress_filter'),
35471            healthy=d.get('healthy'),
35472            hostname=d.get('hostname'),
35473            id=d.get('id'),
35474            name=d.get('name'),
35475            password=d.get('password'),
35476            port=d.get('port'),
35477            port_override=d.get('port_override'),
35478            proxy_cluster_id=d.get('proxy_cluster_id'),
35479            secret_store_id=d.get('secret_store_id'),
35480            subdomain=d.get('subdomain'),
35481            tags=d.get('tags'),
35482            username=d.get('username'),
35483        )
class Token:
35486class Token:
35487    '''
35488         A Token is an account providing tokenized access for automation or integration use.
35489     Tokens include admin tokens, API keys, and SCIM tokens.
35490    '''
35491    __slots__ = [
35492        'account_type',
35493        'created_at',
35494        'deadline',
35495        'duration',
35496        'id',
35497        'name',
35498        'permissions',
35499        'rekeyed',
35500        'suspended',
35501        'tags',
35502    ]
35503
35504    def __init__(
35505        self,
35506        account_type=None,
35507        created_at=None,
35508        deadline=None,
35509        duration=None,
35510        id=None,
35511        name=None,
35512        permissions=None,
35513        rekeyed=None,
35514        suspended=None,
35515        tags=None,
35516    ):
35517        self.account_type = account_type if account_type is not None else ''
35518        '''
35519         Corresponds to the type of token, e.g. api or admin-token.
35520        '''
35521        self.created_at = created_at if created_at is not None else None
35522        '''
35523         CreatedAt is the timestamp when the token was created
35524        '''
35525        self.deadline = deadline if deadline is not None else None
35526        '''
35527         The timestamp when the Token will expire.
35528        '''
35529        self.duration = duration if duration is not None else None
35530        '''
35531         Duration from token creation to expiration.
35532        '''
35533        self.id = id if id is not None else ''
35534        '''
35535         Unique identifier of the Token.
35536        '''
35537        self.name = name if name is not None else ''
35538        '''
35539         Unique human-readable name of the Token.
35540        '''
35541        self.permissions = permissions if permissions is not None else []
35542        '''
35543         Permissions assigned to the token, e.g. role:create.
35544        '''
35545        self.rekeyed = rekeyed if rekeyed is not None else None
35546        '''
35547         The timestamp when the Token was last rekeyed.
35548        '''
35549        self.suspended = suspended if suspended is not None else False
35550        '''
35551         Reserved for future use.  Always false for tokens.
35552        '''
35553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35554        '''
35555         Tags is a map of key, value pairs.
35556        '''
35557
35558    def __repr__(self):
35559        return '<sdm.Token ' + \
35560            'account_type: ' + repr(self.account_type) + ' ' +\
35561            'created_at: ' + repr(self.created_at) + ' ' +\
35562            'deadline: ' + repr(self.deadline) + ' ' +\
35563            'duration: ' + repr(self.duration) + ' ' +\
35564            'id: ' + repr(self.id) + ' ' +\
35565            'name: ' + repr(self.name) + ' ' +\
35566            'permissions: ' + repr(self.permissions) + ' ' +\
35567            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
35568            'suspended: ' + repr(self.suspended) + ' ' +\
35569            'tags: ' + repr(self.tags) + ' ' +\
35570            '>'
35571
35572    def to_dict(self):
35573        return {
35574            'account_type': self.account_type,
35575            'created_at': self.created_at,
35576            'deadline': self.deadline,
35577            'duration': self.duration,
35578            'id': self.id,
35579            'name': self.name,
35580            'permissions': self.permissions,
35581            'rekeyed': self.rekeyed,
35582            'suspended': self.suspended,
35583            'tags': self.tags,
35584        }
35585
35586    @classmethod
35587    def from_dict(cls, d):
35588        return cls(
35589            account_type=d.get('account_type'),
35590            created_at=d.get('created_at'),
35591            deadline=d.get('deadline'),
35592            duration=d.get('duration'),
35593            id=d.get('id'),
35594            name=d.get('name'),
35595            permissions=d.get('permissions'),
35596            rekeyed=d.get('rekeyed'),
35597            suspended=d.get('suspended'),
35598            tags=d.get('tags'),
35599        )

A Token is an account providing tokenized access for automation or integration use. Tokens include admin tokens, API keys, and SCIM tokens.

Token( account_type=None, created_at=None, deadline=None, duration=None, id=None, name=None, permissions=None, rekeyed=None, suspended=None, tags=None)
35504    def __init__(
35505        self,
35506        account_type=None,
35507        created_at=None,
35508        deadline=None,
35509        duration=None,
35510        id=None,
35511        name=None,
35512        permissions=None,
35513        rekeyed=None,
35514        suspended=None,
35515        tags=None,
35516    ):
35517        self.account_type = account_type if account_type is not None else ''
35518        '''
35519         Corresponds to the type of token, e.g. api or admin-token.
35520        '''
35521        self.created_at = created_at if created_at is not None else None
35522        '''
35523         CreatedAt is the timestamp when the token was created
35524        '''
35525        self.deadline = deadline if deadline is not None else None
35526        '''
35527         The timestamp when the Token will expire.
35528        '''
35529        self.duration = duration if duration is not None else None
35530        '''
35531         Duration from token creation to expiration.
35532        '''
35533        self.id = id if id is not None else ''
35534        '''
35535         Unique identifier of the Token.
35536        '''
35537        self.name = name if name is not None else ''
35538        '''
35539         Unique human-readable name of the Token.
35540        '''
35541        self.permissions = permissions if permissions is not None else []
35542        '''
35543         Permissions assigned to the token, e.g. role:create.
35544        '''
35545        self.rekeyed = rekeyed if rekeyed is not None else None
35546        '''
35547         The timestamp when the Token was last rekeyed.
35548        '''
35549        self.suspended = suspended if suspended is not None else False
35550        '''
35551         Reserved for future use.  Always false for tokens.
35552        '''
35553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35554        '''
35555         Tags is a map of key, value pairs.
35556        '''
account_type

Corresponds to the type of token, e.g. api or admin-token.

created_at

CreatedAt is the timestamp when the token was created

deadline

The timestamp when the Token will expire.

duration

Duration from token creation to expiration.

id

Unique identifier of the Token.

name

Unique human-readable name of the Token.

permissions

Permissions assigned to the token, e.g. role:create.

rekeyed

The timestamp when the Token was last rekeyed.

suspended

Reserved for future use. Always false for tokens.

tags

Tags is a map of key, value pairs.

def to_dict(self)
35572    def to_dict(self):
35573        return {
35574            'account_type': self.account_type,
35575            'created_at': self.created_at,
35576            'deadline': self.deadline,
35577            'duration': self.duration,
35578            'id': self.id,
35579            'name': self.name,
35580            'permissions': self.permissions,
35581            'rekeyed': self.rekeyed,
35582            'suspended': self.suspended,
35583            'tags': self.tags,
35584        }
@classmethod
def from_dict(cls, d)
35586    @classmethod
35587    def from_dict(cls, d):
35588        return cls(
35589            account_type=d.get('account_type'),
35590            created_at=d.get('created_at'),
35591            deadline=d.get('deadline'),
35592            duration=d.get('duration'),
35593            id=d.get('id'),
35594            name=d.get('name'),
35595            permissions=d.get('permissions'),
35596            rekeyed=d.get('rekeyed'),
35597            suspended=d.get('suspended'),
35598            tags=d.get('tags'),
35599        )
class Trino:
35602class Trino:
35603    __slots__ = [
35604        'bind_interface',
35605        'egress_filter',
35606        'healthy',
35607        'hostname',
35608        'id',
35609        'name',
35610        'password',
35611        'port',
35612        'port_override',
35613        'proxy_cluster_id',
35614        'secret_store_id',
35615        'subdomain',
35616        'tags',
35617        'tls_required',
35618        'username',
35619    ]
35620
35621    def __init__(
35622        self,
35623        bind_interface=None,
35624        egress_filter=None,
35625        healthy=None,
35626        hostname=None,
35627        id=None,
35628        name=None,
35629        password=None,
35630        port=None,
35631        port_override=None,
35632        proxy_cluster_id=None,
35633        secret_store_id=None,
35634        subdomain=None,
35635        tags=None,
35636        tls_required=None,
35637        username=None,
35638    ):
35639        self.bind_interface = bind_interface if bind_interface is not None else ''
35640        '''
35641         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35642        '''
35643        self.egress_filter = egress_filter if egress_filter is not None else ''
35644        '''
35645         A filter applied to the routing logic to pin datasource to nodes.
35646        '''
35647        self.healthy = healthy if healthy is not None else False
35648        '''
35649         True if the datasource is reachable and the credentials are valid.
35650        '''
35651        self.hostname = hostname if hostname is not None else ''
35652        '''
35653         The host to dial to initiate a connection from the egress node to this resource.
35654        '''
35655        self.id = id if id is not None else ''
35656        '''
35657         Unique identifier of the Resource.
35658        '''
35659        self.name = name if name is not None else ''
35660        '''
35661         Unique human-readable name of the Resource.
35662        '''
35663        self.password = password if password is not None else ''
35664        '''
35665         The password to authenticate with.
35666        '''
35667        self.port = port if port is not None else 0
35668        '''
35669         The port to dial to initiate a connection from the egress node to this resource.
35670        '''
35671        self.port_override = port_override if port_override is not None else 0
35672        '''
35673         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35674        '''
35675        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35676        '''
35677         ID of the proxy cluster for this resource, if any.
35678        '''
35679        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35680        '''
35681         ID of the secret store containing credentials for this resource, if any.
35682        '''
35683        self.subdomain = subdomain if subdomain is not None else ''
35684        '''
35685         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35686        '''
35687        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35688        '''
35689         Tags is a map of key, value pairs.
35690        '''
35691        self.tls_required = tls_required if tls_required is not None else False
35692        '''
35693         If set, TLS must be used to connect to this resource.
35694        '''
35695        self.username = username if username is not None else ''
35696        '''
35697         The username to authenticate with.
35698        '''
35699
35700    def __repr__(self):
35701        return '<sdm.Trino ' + \
35702            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
35703            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
35704            'healthy: ' + repr(self.healthy) + ' ' +\
35705            'hostname: ' + repr(self.hostname) + ' ' +\
35706            'id: ' + repr(self.id) + ' ' +\
35707            'name: ' + repr(self.name) + ' ' +\
35708            'password: ' + repr(self.password) + ' ' +\
35709            'port: ' + repr(self.port) + ' ' +\
35710            'port_override: ' + repr(self.port_override) + ' ' +\
35711            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
35712            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
35713            'subdomain: ' + repr(self.subdomain) + ' ' +\
35714            'tags: ' + repr(self.tags) + ' ' +\
35715            'tls_required: ' + repr(self.tls_required) + ' ' +\
35716            'username: ' + repr(self.username) + ' ' +\
35717            '>'
35718
35719    def to_dict(self):
35720        return {
35721            'bind_interface': self.bind_interface,
35722            'egress_filter': self.egress_filter,
35723            'healthy': self.healthy,
35724            'hostname': self.hostname,
35725            'id': self.id,
35726            'name': self.name,
35727            'password': self.password,
35728            'port': self.port,
35729            'port_override': self.port_override,
35730            'proxy_cluster_id': self.proxy_cluster_id,
35731            'secret_store_id': self.secret_store_id,
35732            'subdomain': self.subdomain,
35733            'tags': self.tags,
35734            'tls_required': self.tls_required,
35735            'username': self.username,
35736        }
35737
35738    @classmethod
35739    def from_dict(cls, d):
35740        return cls(
35741            bind_interface=d.get('bind_interface'),
35742            egress_filter=d.get('egress_filter'),
35743            healthy=d.get('healthy'),
35744            hostname=d.get('hostname'),
35745            id=d.get('id'),
35746            name=d.get('name'),
35747            password=d.get('password'),
35748            port=d.get('port'),
35749            port_override=d.get('port_override'),
35750            proxy_cluster_id=d.get('proxy_cluster_id'),
35751            secret_store_id=d.get('secret_store_id'),
35752            subdomain=d.get('subdomain'),
35753            tags=d.get('tags'),
35754            tls_required=d.get('tls_required'),
35755            username=d.get('username'),
35756        )
Trino( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
35621    def __init__(
35622        self,
35623        bind_interface=None,
35624        egress_filter=None,
35625        healthy=None,
35626        hostname=None,
35627        id=None,
35628        name=None,
35629        password=None,
35630        port=None,
35631        port_override=None,
35632        proxy_cluster_id=None,
35633        secret_store_id=None,
35634        subdomain=None,
35635        tags=None,
35636        tls_required=None,
35637        username=None,
35638    ):
35639        self.bind_interface = bind_interface if bind_interface is not None else ''
35640        '''
35641         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
35642        '''
35643        self.egress_filter = egress_filter if egress_filter is not None else ''
35644        '''
35645         A filter applied to the routing logic to pin datasource to nodes.
35646        '''
35647        self.healthy = healthy if healthy is not None else False
35648        '''
35649         True if the datasource is reachable and the credentials are valid.
35650        '''
35651        self.hostname = hostname if hostname is not None else ''
35652        '''
35653         The host to dial to initiate a connection from the egress node to this resource.
35654        '''
35655        self.id = id if id is not None else ''
35656        '''
35657         Unique identifier of the Resource.
35658        '''
35659        self.name = name if name is not None else ''
35660        '''
35661         Unique human-readable name of the Resource.
35662        '''
35663        self.password = password if password is not None else ''
35664        '''
35665         The password to authenticate with.
35666        '''
35667        self.port = port if port is not None else 0
35668        '''
35669         The port to dial to initiate a connection from the egress node to this resource.
35670        '''
35671        self.port_override = port_override if port_override is not None else 0
35672        '''
35673         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
35674        '''
35675        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
35676        '''
35677         ID of the proxy cluster for this resource, if any.
35678        '''
35679        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
35680        '''
35681         ID of the secret store containing credentials for this resource, if any.
35682        '''
35683        self.subdomain = subdomain if subdomain is not None else ''
35684        '''
35685         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
35686        '''
35687        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35688        '''
35689         Tags is a map of key, value pairs.
35690        '''
35691        self.tls_required = tls_required if tls_required is not None else False
35692        '''
35693         If set, TLS must be used to connect to this resource.
35694        '''
35695        self.username = username if username is not None else ''
35696        '''
35697         The username to authenticate with.
35698        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

If set, TLS must be used to connect to this resource.

username

The username to authenticate with.

def to_dict(self)
35719    def to_dict(self):
35720        return {
35721            'bind_interface': self.bind_interface,
35722            'egress_filter': self.egress_filter,
35723            'healthy': self.healthy,
35724            'hostname': self.hostname,
35725            'id': self.id,
35726            'name': self.name,
35727            'password': self.password,
35728            'port': self.port,
35729            'port_override': self.port_override,
35730            'proxy_cluster_id': self.proxy_cluster_id,
35731            'secret_store_id': self.secret_store_id,
35732            'subdomain': self.subdomain,
35733            'tags': self.tags,
35734            'tls_required': self.tls_required,
35735            'username': self.username,
35736        }
@classmethod
def from_dict(cls, d)
35738    @classmethod
35739    def from_dict(cls, d):
35740        return cls(
35741            bind_interface=d.get('bind_interface'),
35742            egress_filter=d.get('egress_filter'),
35743            healthy=d.get('healthy'),
35744            hostname=d.get('hostname'),
35745            id=d.get('id'),
35746            name=d.get('name'),
35747            password=d.get('password'),
35748            port=d.get('port'),
35749            port_override=d.get('port_override'),
35750            proxy_cluster_id=d.get('proxy_cluster_id'),
35751            secret_store_id=d.get('secret_store_id'),
35752            subdomain=d.get('subdomain'),
35753            tags=d.get('tags'),
35754            tls_required=d.get('tls_required'),
35755            username=d.get('username'),
35756        )
class UpdateResponseMetadata:
35759class UpdateResponseMetadata:
35760    '''
35761         UpdateResponseMetadata is reserved for future use.
35762    '''
35763    __slots__ = []
35764
35765    def __init__(self, ):
35766        pass
35767
35768    def __repr__(self):
35769        return '<sdm.UpdateResponseMetadata ' + \
35770            '>'
35771
35772    def to_dict(self):
35773        return {}
35774
35775    @classmethod
35776    def from_dict(cls, d):
35777        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
35765    def __init__(self, ):
35766        pass
def to_dict(self)
35772    def to_dict(self):
35773        return {}
@classmethod
def from_dict(cls, d)
35775    @classmethod
35776    def from_dict(cls, d):
35777        return cls()
class User:
35780class User:
35781    '''
35782         A User can connect to resources they are granted directly, or granted
35783     via roles.
35784    '''
35785    __slots__ = [
35786        'scim',
35787        'created_at',
35788        'email',
35789        'employee_number',
35790        'external_id',
35791        'first_name',
35792        'id',
35793        'last_name',
35794        'managed_by',
35795        'manager_id',
35796        'password',
35797        'permission_level',
35798        'resolved_manager_id',
35799        'suspended',
35800        'tags',
35801    ]
35802
35803    def __init__(
35804        self,
35805        scim=None,
35806        created_at=None,
35807        email=None,
35808        employee_number=None,
35809        external_id=None,
35810        first_name=None,
35811        id=None,
35812        last_name=None,
35813        managed_by=None,
35814        manager_id=None,
35815        password=None,
35816        permission_level=None,
35817        resolved_manager_id=None,
35818        suspended=None,
35819        tags=None,
35820    ):
35821        self.scim = scim if scim is not None else ''
35822        '''
35823         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
35824        '''
35825        self.created_at = created_at if created_at is not None else None
35826        '''
35827         CreatedAt is the timestamp when the user was created
35828        '''
35829        self.email = email if email is not None else ''
35830        '''
35831         The User's email address. Must be unique.
35832        '''
35833        self.employee_number = employee_number if employee_number is not None else ''
35834        '''
35835         Internal employee ID used to identify the user.
35836        '''
35837        self.external_id = external_id if external_id is not None else ''
35838        '''
35839         External ID is an alternative unique ID this user is represented by within an external service.
35840        '''
35841        self.first_name = first_name if first_name is not None else ''
35842        '''
35843         The User's first name.
35844        '''
35845        self.id = id if id is not None else ''
35846        '''
35847         Unique identifier of the User.
35848        '''
35849        self.last_name = last_name if last_name is not None else ''
35850        '''
35851         The User's last name.
35852        '''
35853        self.managed_by = managed_by if managed_by is not None else ''
35854        '''
35855         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
35856        '''
35857        self.manager_id = manager_id if manager_id is not None else ''
35858        '''
35859         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
35860        '''
35861        self.password = password if password is not None else ''
35862        '''
35863         Password is a write-only field that can be used to set the user's password.
35864         Currently only supported for update.
35865        '''
35866        self.permission_level = permission_level if permission_level is not None else ''
35867        '''
35868         PermissionLevel is the user's permission level e.g. admin, DBA, user.
35869        '''
35870        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
35871        '''
35872         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
35873         if present, or from the SCIM metadata.
35874         This is a read-only field that's only populated for get and list.
35875        '''
35876        self.suspended = suspended if suspended is not None else False
35877        '''
35878         Suspended is a read only field for the User's suspended state.
35879        '''
35880        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35881        '''
35882         Tags is a map of key, value pairs.
35883        '''
35884
35885    def __repr__(self):
35886        return '<sdm.User ' + \
35887            'scim: ' + repr(self.scim) + ' ' +\
35888            'created_at: ' + repr(self.created_at) + ' ' +\
35889            'email: ' + repr(self.email) + ' ' +\
35890            'employee_number: ' + repr(self.employee_number) + ' ' +\
35891            'external_id: ' + repr(self.external_id) + ' ' +\
35892            'first_name: ' + repr(self.first_name) + ' ' +\
35893            'id: ' + repr(self.id) + ' ' +\
35894            'last_name: ' + repr(self.last_name) + ' ' +\
35895            'managed_by: ' + repr(self.managed_by) + ' ' +\
35896            'manager_id: ' + repr(self.manager_id) + ' ' +\
35897            'password: ' + repr(self.password) + ' ' +\
35898            'permission_level: ' + repr(self.permission_level) + ' ' +\
35899            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
35900            'suspended: ' + repr(self.suspended) + ' ' +\
35901            'tags: ' + repr(self.tags) + ' ' +\
35902            '>'
35903
35904    def to_dict(self):
35905        return {
35906            'scim': self.scim,
35907            'created_at': self.created_at,
35908            'email': self.email,
35909            'employee_number': self.employee_number,
35910            'external_id': self.external_id,
35911            'first_name': self.first_name,
35912            'id': self.id,
35913            'last_name': self.last_name,
35914            'managed_by': self.managed_by,
35915            'manager_id': self.manager_id,
35916            'password': self.password,
35917            'permission_level': self.permission_level,
35918            'resolved_manager_id': self.resolved_manager_id,
35919            'suspended': self.suspended,
35920            'tags': self.tags,
35921        }
35922
35923    @classmethod
35924    def from_dict(cls, d):
35925        return cls(
35926            scim=d.get('scim'),
35927            created_at=d.get('created_at'),
35928            email=d.get('email'),
35929            employee_number=d.get('employee_number'),
35930            external_id=d.get('external_id'),
35931            first_name=d.get('first_name'),
35932            id=d.get('id'),
35933            last_name=d.get('last_name'),
35934            managed_by=d.get('managed_by'),
35935            manager_id=d.get('manager_id'),
35936            password=d.get('password'),
35937            permission_level=d.get('permission_level'),
35938            resolved_manager_id=d.get('resolved_manager_id'),
35939            suspended=d.get('suspended'),
35940            tags=d.get('tags'),
35941        )

A User can connect to resources they are granted directly, or granted via roles.

User( scim=None, created_at=None, email=None, employee_number=None, external_id=None, first_name=None, id=None, last_name=None, managed_by=None, manager_id=None, password=None, permission_level=None, resolved_manager_id=None, suspended=None, tags=None)
35803    def __init__(
35804        self,
35805        scim=None,
35806        created_at=None,
35807        email=None,
35808        employee_number=None,
35809        external_id=None,
35810        first_name=None,
35811        id=None,
35812        last_name=None,
35813        managed_by=None,
35814        manager_id=None,
35815        password=None,
35816        permission_level=None,
35817        resolved_manager_id=None,
35818        suspended=None,
35819        tags=None,
35820    ):
35821        self.scim = scim if scim is not None else ''
35822        '''
35823         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
35824        '''
35825        self.created_at = created_at if created_at is not None else None
35826        '''
35827         CreatedAt is the timestamp when the user was created
35828        '''
35829        self.email = email if email is not None else ''
35830        '''
35831         The User's email address. Must be unique.
35832        '''
35833        self.employee_number = employee_number if employee_number is not None else ''
35834        '''
35835         Internal employee ID used to identify the user.
35836        '''
35837        self.external_id = external_id if external_id is not None else ''
35838        '''
35839         External ID is an alternative unique ID this user is represented by within an external service.
35840        '''
35841        self.first_name = first_name if first_name is not None else ''
35842        '''
35843         The User's first name.
35844        '''
35845        self.id = id if id is not None else ''
35846        '''
35847         Unique identifier of the User.
35848        '''
35849        self.last_name = last_name if last_name is not None else ''
35850        '''
35851         The User's last name.
35852        '''
35853        self.managed_by = managed_by if managed_by is not None else ''
35854        '''
35855         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
35856        '''
35857        self.manager_id = manager_id if manager_id is not None else ''
35858        '''
35859         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
35860        '''
35861        self.password = password if password is not None else ''
35862        '''
35863         Password is a write-only field that can be used to set the user's password.
35864         Currently only supported for update.
35865        '''
35866        self.permission_level = permission_level if permission_level is not None else ''
35867        '''
35868         PermissionLevel is the user's permission level e.g. admin, DBA, user.
35869        '''
35870        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
35871        '''
35872         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
35873         if present, or from the SCIM metadata.
35874         This is a read-only field that's only populated for get and list.
35875        '''
35876        self.suspended = suspended if suspended is not None else False
35877        '''
35878         Suspended is a read only field for the User's suspended state.
35879        '''
35880        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35881        '''
35882         Tags is a map of key, value pairs.
35883        '''
scim

SCIM contains the raw SCIM metadata for the user. This is a read-only field.

created_at

CreatedAt is the timestamp when the user was created

email

The User's email address. Must be unique.

employee_number

Internal employee ID used to identify the user.

external_id

External ID is an alternative unique ID this user is represented by within an external service.

first_name

The User's first name.

id

Unique identifier of the User.

last_name

The User's last name.

managed_by

Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.

manager_id

Manager ID is the ID of the user's manager. This field is empty when the user has no manager.

password

Password is a write-only field that can be used to set the user's password. Currently only supported for update.

permission_level

PermissionLevel is the user's permission level e.g. admin, DBA, user.

resolved_manager_id

Resolved Manager ID is the ID of the user's manager derived from the manager_id, if present, or from the SCIM metadata. This is a read-only field that's only populated for get and list.

suspended

Suspended is a read only field for the User's suspended state.

tags

Tags is a map of key, value pairs.

def to_dict(self)
35904    def to_dict(self):
35905        return {
35906            'scim': self.scim,
35907            'created_at': self.created_at,
35908            'email': self.email,
35909            'employee_number': self.employee_number,
35910            'external_id': self.external_id,
35911            'first_name': self.first_name,
35912            'id': self.id,
35913            'last_name': self.last_name,
35914            'managed_by': self.managed_by,
35915            'manager_id': self.manager_id,
35916            'password': self.password,
35917            'permission_level': self.permission_level,
35918            'resolved_manager_id': self.resolved_manager_id,
35919            'suspended': self.suspended,
35920            'tags': self.tags,
35921        }
@classmethod
def from_dict(cls, d)
35923    @classmethod
35924    def from_dict(cls, d):
35925        return cls(
35926            scim=d.get('scim'),
35927            created_at=d.get('created_at'),
35928            email=d.get('email'),
35929            employee_number=d.get('employee_number'),
35930            external_id=d.get('external_id'),
35931            first_name=d.get('first_name'),
35932            id=d.get('id'),
35933            last_name=d.get('last_name'),
35934            managed_by=d.get('managed_by'),
35935            manager_id=d.get('manager_id'),
35936            password=d.get('password'),
35937            permission_level=d.get('permission_level'),
35938            resolved_manager_id=d.get('resolved_manager_id'),
35939            suspended=d.get('suspended'),
35940            tags=d.get('tags'),
35941        )
class VaultAWSEC2CertSSHStore:
35944class VaultAWSEC2CertSSHStore:
35945    __slots__ = [
35946        'id',
35947        'issuedcertttlminutes',
35948        'name',
35949        'namespace',
35950        'server_address',
35951        'signing_role',
35952        'ssh_mount_point',
35953        'tags',
35954    ]
35955
35956    def __init__(
35957        self,
35958        id=None,
35959        issuedcertttlminutes=None,
35960        name=None,
35961        namespace=None,
35962        server_address=None,
35963        signing_role=None,
35964        ssh_mount_point=None,
35965        tags=None,
35966    ):
35967        self.id = id if id is not None else ''
35968        '''
35969         Unique identifier of the SecretStore.
35970        '''
35971        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
35972        '''
35973         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
35974        '''
35975        self.name = name if name is not None else ''
35976        '''
35977         Unique human-readable name of the SecretStore.
35978        '''
35979        self.namespace = namespace if namespace is not None else ''
35980        '''
35981         The namespace to make requests within
35982        '''
35983        self.server_address = server_address if server_address is not None else ''
35984        '''
35985         The URL of the Vault to target
35986        '''
35987        self.signing_role = signing_role if signing_role is not None else ''
35988        '''
35989         The signing role to be used for signing certificates
35990        '''
35991        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
35992        '''
35993         The mount point of the SSH engine configured with the desired CA
35994        '''
35995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35996        '''
35997         Tags is a map of key, value pairs.
35998        '''
35999
36000    def __repr__(self):
36001        return '<sdm.VaultAWSEC2CertSSHStore ' + \
36002            'id: ' + repr(self.id) + ' ' +\
36003            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36004            'name: ' + repr(self.name) + ' ' +\
36005            'namespace: ' + repr(self.namespace) + ' ' +\
36006            'server_address: ' + repr(self.server_address) + ' ' +\
36007            'signing_role: ' + repr(self.signing_role) + ' ' +\
36008            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36009            'tags: ' + repr(self.tags) + ' ' +\
36010            '>'
36011
36012    def to_dict(self):
36013        return {
36014            'id': self.id,
36015            'issuedcertttlminutes': self.issuedcertttlminutes,
36016            'name': self.name,
36017            'namespace': self.namespace,
36018            'server_address': self.server_address,
36019            'signing_role': self.signing_role,
36020            'ssh_mount_point': self.ssh_mount_point,
36021            'tags': self.tags,
36022        }
36023
36024    @classmethod
36025    def from_dict(cls, d):
36026        return cls(
36027            id=d.get('id'),
36028            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36029            name=d.get('name'),
36030            namespace=d.get('namespace'),
36031            server_address=d.get('server_address'),
36032            signing_role=d.get('signing_role'),
36033            ssh_mount_point=d.get('ssh_mount_point'),
36034            tags=d.get('tags'),
36035        )
VaultAWSEC2CertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
35956    def __init__(
35957        self,
35958        id=None,
35959        issuedcertttlminutes=None,
35960        name=None,
35961        namespace=None,
35962        server_address=None,
35963        signing_role=None,
35964        ssh_mount_point=None,
35965        tags=None,
35966    ):
35967        self.id = id if id is not None else ''
35968        '''
35969         Unique identifier of the SecretStore.
35970        '''
35971        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
35972        '''
35973         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
35974        '''
35975        self.name = name if name is not None else ''
35976        '''
35977         Unique human-readable name of the SecretStore.
35978        '''
35979        self.namespace = namespace if namespace is not None else ''
35980        '''
35981         The namespace to make requests within
35982        '''
35983        self.server_address = server_address if server_address is not None else ''
35984        '''
35985         The URL of the Vault to target
35986        '''
35987        self.signing_role = signing_role if signing_role is not None else ''
35988        '''
35989         The signing role to be used for signing certificates
35990        '''
35991        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
35992        '''
35993         The mount point of the SSH engine configured with the desired CA
35994        '''
35995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
35996        '''
35997         Tags is a map of key, value pairs.
35998        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA in minutes. Recommended value is 5.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

ssh_mount_point

The mount point of the SSH engine configured with the desired CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
36012    def to_dict(self):
36013        return {
36014            'id': self.id,
36015            'issuedcertttlminutes': self.issuedcertttlminutes,
36016            'name': self.name,
36017            'namespace': self.namespace,
36018            'server_address': self.server_address,
36019            'signing_role': self.signing_role,
36020            'ssh_mount_point': self.ssh_mount_point,
36021            'tags': self.tags,
36022        }
@classmethod
def from_dict(cls, d)
36024    @classmethod
36025    def from_dict(cls, d):
36026        return cls(
36027            id=d.get('id'),
36028            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36029            name=d.get('name'),
36030            namespace=d.get('namespace'),
36031            server_address=d.get('server_address'),
36032            signing_role=d.get('signing_role'),
36033            ssh_mount_point=d.get('ssh_mount_point'),
36034            tags=d.get('tags'),
36035        )
class VaultAWSEC2CertX509Store:
36038class VaultAWSEC2CertX509Store:
36039    __slots__ = [
36040        'id',
36041        'issuedcertttlminutes',
36042        'name',
36043        'namespace',
36044        'pki_mount_point',
36045        'server_address',
36046        'signing_role',
36047        'tags',
36048    ]
36049
36050    def __init__(
36051        self,
36052        id=None,
36053        issuedcertttlminutes=None,
36054        name=None,
36055        namespace=None,
36056        pki_mount_point=None,
36057        server_address=None,
36058        signing_role=None,
36059        tags=None,
36060    ):
36061        self.id = id if id is not None else ''
36062        '''
36063         Unique identifier of the SecretStore.
36064        '''
36065        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36066        '''
36067         The lifetime of certificates issued by this CA represented in minutes.
36068        '''
36069        self.name = name if name is not None else ''
36070        '''
36071         Unique human-readable name of the SecretStore.
36072        '''
36073        self.namespace = namespace if namespace is not None else ''
36074        '''
36075         The namespace to make requests within
36076        '''
36077        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36078        '''
36079         The mount point of the PKI engine configured with the desired CA
36080        '''
36081        self.server_address = server_address if server_address is not None else ''
36082        '''
36083         The URL of the Vault to target
36084        '''
36085        self.signing_role = signing_role if signing_role is not None else ''
36086        '''
36087         The signing role to be used for signing certificates
36088        '''
36089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36090        '''
36091         Tags is a map of key, value pairs.
36092        '''
36093
36094    def __repr__(self):
36095        return '<sdm.VaultAWSEC2CertX509Store ' + \
36096            'id: ' + repr(self.id) + ' ' +\
36097            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36098            'name: ' + repr(self.name) + ' ' +\
36099            'namespace: ' + repr(self.namespace) + ' ' +\
36100            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36101            'server_address: ' + repr(self.server_address) + ' ' +\
36102            'signing_role: ' + repr(self.signing_role) + ' ' +\
36103            'tags: ' + repr(self.tags) + ' ' +\
36104            '>'
36105
36106    def to_dict(self):
36107        return {
36108            'id': self.id,
36109            'issuedcertttlminutes': self.issuedcertttlminutes,
36110            'name': self.name,
36111            'namespace': self.namespace,
36112            'pki_mount_point': self.pki_mount_point,
36113            'server_address': self.server_address,
36114            'signing_role': self.signing_role,
36115            'tags': self.tags,
36116        }
36117
36118    @classmethod
36119    def from_dict(cls, d):
36120        return cls(
36121            id=d.get('id'),
36122            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36123            name=d.get('name'),
36124            namespace=d.get('namespace'),
36125            pki_mount_point=d.get('pki_mount_point'),
36126            server_address=d.get('server_address'),
36127            signing_role=d.get('signing_role'),
36128            tags=d.get('tags'),
36129        )
VaultAWSEC2CertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
36050    def __init__(
36051        self,
36052        id=None,
36053        issuedcertttlminutes=None,
36054        name=None,
36055        namespace=None,
36056        pki_mount_point=None,
36057        server_address=None,
36058        signing_role=None,
36059        tags=None,
36060    ):
36061        self.id = id if id is not None else ''
36062        '''
36063         Unique identifier of the SecretStore.
36064        '''
36065        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36066        '''
36067         The lifetime of certificates issued by this CA represented in minutes.
36068        '''
36069        self.name = name if name is not None else ''
36070        '''
36071         Unique human-readable name of the SecretStore.
36072        '''
36073        self.namespace = namespace if namespace is not None else ''
36074        '''
36075         The namespace to make requests within
36076        '''
36077        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36078        '''
36079         The mount point of the PKI engine configured with the desired CA
36080        '''
36081        self.server_address = server_address if server_address is not None else ''
36082        '''
36083         The URL of the Vault to target
36084        '''
36085        self.signing_role = signing_role if signing_role is not None else ''
36086        '''
36087         The signing role to be used for signing certificates
36088        '''
36089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36090        '''
36091         Tags is a map of key, value pairs.
36092        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

pki_mount_point

The mount point of the PKI engine configured with the desired CA

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

tags

Tags is a map of key, value pairs.

def to_dict(self)
36106    def to_dict(self):
36107        return {
36108            'id': self.id,
36109            'issuedcertttlminutes': self.issuedcertttlminutes,
36110            'name': self.name,
36111            'namespace': self.namespace,
36112            'pki_mount_point': self.pki_mount_point,
36113            'server_address': self.server_address,
36114            'signing_role': self.signing_role,
36115            'tags': self.tags,
36116        }
@classmethod
def from_dict(cls, d)
36118    @classmethod
36119    def from_dict(cls, d):
36120        return cls(
36121            id=d.get('id'),
36122            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36123            name=d.get('name'),
36124            namespace=d.get('namespace'),
36125            pki_mount_point=d.get('pki_mount_point'),
36126            server_address=d.get('server_address'),
36127            signing_role=d.get('signing_role'),
36128            tags=d.get('tags'),
36129        )
class VaultAWSEC2Store:
36132class VaultAWSEC2Store:
36133    __slots__ = [
36134        'id',
36135        'name',
36136        'namespace',
36137        'server_address',
36138        'tags',
36139    ]
36140
36141    def __init__(
36142        self,
36143        id=None,
36144        name=None,
36145        namespace=None,
36146        server_address=None,
36147        tags=None,
36148    ):
36149        self.id = id if id is not None else ''
36150        '''
36151         Unique identifier of the SecretStore.
36152        '''
36153        self.name = name if name is not None else ''
36154        '''
36155         Unique human-readable name of the SecretStore.
36156        '''
36157        self.namespace = namespace if namespace is not None else ''
36158        '''
36159         The namespace to make requests within
36160        '''
36161        self.server_address = server_address if server_address is not None else ''
36162        '''
36163         The URL of the Vault to target
36164        '''
36165        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36166        '''
36167         Tags is a map of key, value pairs.
36168        '''
36169
36170    def __repr__(self):
36171        return '<sdm.VaultAWSEC2Store ' + \
36172            'id: ' + repr(self.id) + ' ' +\
36173            'name: ' + repr(self.name) + ' ' +\
36174            'namespace: ' + repr(self.namespace) + ' ' +\
36175            'server_address: ' + repr(self.server_address) + ' ' +\
36176            'tags: ' + repr(self.tags) + ' ' +\
36177            '>'
36178
36179    def to_dict(self):
36180        return {
36181            'id': self.id,
36182            'name': self.name,
36183            'namespace': self.namespace,
36184            'server_address': self.server_address,
36185            'tags': self.tags,
36186        }
36187
36188    @classmethod
36189    def from_dict(cls, d):
36190        return cls(
36191            id=d.get('id'),
36192            name=d.get('name'),
36193            namespace=d.get('namespace'),
36194            server_address=d.get('server_address'),
36195            tags=d.get('tags'),
36196        )
VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
36141    def __init__(
36142        self,
36143        id=None,
36144        name=None,
36145        namespace=None,
36146        server_address=None,
36147        tags=None,
36148    ):
36149        self.id = id if id is not None else ''
36150        '''
36151         Unique identifier of the SecretStore.
36152        '''
36153        self.name = name if name is not None else ''
36154        '''
36155         Unique human-readable name of the SecretStore.
36156        '''
36157        self.namespace = namespace if namespace is not None else ''
36158        '''
36159         The namespace to make requests within
36160        '''
36161        self.server_address = server_address if server_address is not None else ''
36162        '''
36163         The URL of the Vault to target
36164        '''
36165        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36166        '''
36167         Tags is a map of key, value pairs.
36168        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

tags

Tags is a map of key, value pairs.

def to_dict(self)
36179    def to_dict(self):
36180        return {
36181            'id': self.id,
36182            'name': self.name,
36183            'namespace': self.namespace,
36184            'server_address': self.server_address,
36185            'tags': self.tags,
36186        }
@classmethod
def from_dict(cls, d)
36188    @classmethod
36189    def from_dict(cls, d):
36190        return cls(
36191            id=d.get('id'),
36192            name=d.get('name'),
36193            namespace=d.get('namespace'),
36194            server_address=d.get('server_address'),
36195            tags=d.get('tags'),
36196        )
class VaultAWSIAMCertSSHStore:
36199class VaultAWSIAMCertSSHStore:
36200    __slots__ = [
36201        'id',
36202        'issuedcertttlminutes',
36203        'name',
36204        'namespace',
36205        'server_address',
36206        'signing_role',
36207        'ssh_mount_point',
36208        'tags',
36209    ]
36210
36211    def __init__(
36212        self,
36213        id=None,
36214        issuedcertttlminutes=None,
36215        name=None,
36216        namespace=None,
36217        server_address=None,
36218        signing_role=None,
36219        ssh_mount_point=None,
36220        tags=None,
36221    ):
36222        self.id = id if id is not None else ''
36223        '''
36224         Unique identifier of the SecretStore.
36225        '''
36226        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36227        '''
36228         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
36229        '''
36230        self.name = name if name is not None else ''
36231        '''
36232         Unique human-readable name of the SecretStore.
36233        '''
36234        self.namespace = namespace if namespace is not None else ''
36235        '''
36236         The namespace to make requests within
36237        '''
36238        self.server_address = server_address if server_address is not None else ''
36239        '''
36240         The URL of the Vault to target
36241        '''
36242        self.signing_role = signing_role if signing_role is not None else ''
36243        '''
36244         The signing role to be used for signing certificates
36245        '''
36246        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36247        '''
36248         The mount point of the SSH engine configured with the desired CA
36249        '''
36250        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36251        '''
36252         Tags is a map of key, value pairs.
36253        '''
36254
36255    def __repr__(self):
36256        return '<sdm.VaultAWSIAMCertSSHStore ' + \
36257            'id: ' + repr(self.id) + ' ' +\
36258            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36259            'name: ' + repr(self.name) + ' ' +\
36260            'namespace: ' + repr(self.namespace) + ' ' +\
36261            'server_address: ' + repr(self.server_address) + ' ' +\
36262            'signing_role: ' + repr(self.signing_role) + ' ' +\
36263            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36264            'tags: ' + repr(self.tags) + ' ' +\
36265            '>'
36266
36267    def to_dict(self):
36268        return {
36269            'id': self.id,
36270            'issuedcertttlminutes': self.issuedcertttlminutes,
36271            'name': self.name,
36272            'namespace': self.namespace,
36273            'server_address': self.server_address,
36274            'signing_role': self.signing_role,
36275            'ssh_mount_point': self.ssh_mount_point,
36276            'tags': self.tags,
36277        }
36278
36279    @classmethod
36280    def from_dict(cls, d):
36281        return cls(
36282            id=d.get('id'),
36283            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36284            name=d.get('name'),
36285            namespace=d.get('namespace'),
36286            server_address=d.get('server_address'),
36287            signing_role=d.get('signing_role'),
36288            ssh_mount_point=d.get('ssh_mount_point'),
36289            tags=d.get('tags'),
36290        )
VaultAWSIAMCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
36211    def __init__(
36212        self,
36213        id=None,
36214        issuedcertttlminutes=None,
36215        name=None,
36216        namespace=None,
36217        server_address=None,
36218        signing_role=None,
36219        ssh_mount_point=None,
36220        tags=None,
36221    ):
36222        self.id = id if id is not None else ''
36223        '''
36224         Unique identifier of the SecretStore.
36225        '''
36226        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36227        '''
36228         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
36229        '''
36230        self.name = name if name is not None else ''
36231        '''
36232         Unique human-readable name of the SecretStore.
36233        '''
36234        self.namespace = namespace if namespace is not None else ''
36235        '''
36236         The namespace to make requests within
36237        '''
36238        self.server_address = server_address if server_address is not None else ''
36239        '''
36240         The URL of the Vault to target
36241        '''
36242        self.signing_role = signing_role if signing_role is not None else ''
36243        '''
36244         The signing role to be used for signing certificates
36245        '''
36246        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36247        '''
36248         The mount point of the SSH engine configured with the desired CA
36249        '''
36250        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36251        '''
36252         Tags is a map of key, value pairs.
36253        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA in minutes. Recommended value is 5.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

ssh_mount_point

The mount point of the SSH engine configured with the desired CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
36267    def to_dict(self):
36268        return {
36269            'id': self.id,
36270            'issuedcertttlminutes': self.issuedcertttlminutes,
36271            'name': self.name,
36272            'namespace': self.namespace,
36273            'server_address': self.server_address,
36274            'signing_role': self.signing_role,
36275            'ssh_mount_point': self.ssh_mount_point,
36276            'tags': self.tags,
36277        }
@classmethod
def from_dict(cls, d)
36279    @classmethod
36280    def from_dict(cls, d):
36281        return cls(
36282            id=d.get('id'),
36283            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36284            name=d.get('name'),
36285            namespace=d.get('namespace'),
36286            server_address=d.get('server_address'),
36287            signing_role=d.get('signing_role'),
36288            ssh_mount_point=d.get('ssh_mount_point'),
36289            tags=d.get('tags'),
36290        )
class VaultAWSIAMCertX509Store:
36293class VaultAWSIAMCertX509Store:
36294    __slots__ = [
36295        'id',
36296        'issuedcertttlminutes',
36297        'name',
36298        'namespace',
36299        'pki_mount_point',
36300        'server_address',
36301        'signing_role',
36302        'tags',
36303    ]
36304
36305    def __init__(
36306        self,
36307        id=None,
36308        issuedcertttlminutes=None,
36309        name=None,
36310        namespace=None,
36311        pki_mount_point=None,
36312        server_address=None,
36313        signing_role=None,
36314        tags=None,
36315    ):
36316        self.id = id if id is not None else ''
36317        '''
36318         Unique identifier of the SecretStore.
36319        '''
36320        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36321        '''
36322         The lifetime of certificates issued by this CA represented in minutes.
36323        '''
36324        self.name = name if name is not None else ''
36325        '''
36326         Unique human-readable name of the SecretStore.
36327        '''
36328        self.namespace = namespace if namespace is not None else ''
36329        '''
36330         The namespace to make requests within
36331        '''
36332        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36333        '''
36334         The mount point of the PKI engine configured with the desired CA
36335        '''
36336        self.server_address = server_address if server_address is not None else ''
36337        '''
36338         The URL of the Vault to target
36339        '''
36340        self.signing_role = signing_role if signing_role is not None else ''
36341        '''
36342         The signing role to be used for signing certificates
36343        '''
36344        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36345        '''
36346         Tags is a map of key, value pairs.
36347        '''
36348
36349    def __repr__(self):
36350        return '<sdm.VaultAWSIAMCertX509Store ' + \
36351            'id: ' + repr(self.id) + ' ' +\
36352            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36353            'name: ' + repr(self.name) + ' ' +\
36354            'namespace: ' + repr(self.namespace) + ' ' +\
36355            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36356            'server_address: ' + repr(self.server_address) + ' ' +\
36357            'signing_role: ' + repr(self.signing_role) + ' ' +\
36358            'tags: ' + repr(self.tags) + ' ' +\
36359            '>'
36360
36361    def to_dict(self):
36362        return {
36363            'id': self.id,
36364            'issuedcertttlminutes': self.issuedcertttlminutes,
36365            'name': self.name,
36366            'namespace': self.namespace,
36367            'pki_mount_point': self.pki_mount_point,
36368            'server_address': self.server_address,
36369            'signing_role': self.signing_role,
36370            'tags': self.tags,
36371        }
36372
36373    @classmethod
36374    def from_dict(cls, d):
36375        return cls(
36376            id=d.get('id'),
36377            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36378            name=d.get('name'),
36379            namespace=d.get('namespace'),
36380            pki_mount_point=d.get('pki_mount_point'),
36381            server_address=d.get('server_address'),
36382            signing_role=d.get('signing_role'),
36383            tags=d.get('tags'),
36384        )
VaultAWSIAMCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
36305    def __init__(
36306        self,
36307        id=None,
36308        issuedcertttlminutes=None,
36309        name=None,
36310        namespace=None,
36311        pki_mount_point=None,
36312        server_address=None,
36313        signing_role=None,
36314        tags=None,
36315    ):
36316        self.id = id if id is not None else ''
36317        '''
36318         Unique identifier of the SecretStore.
36319        '''
36320        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36321        '''
36322         The lifetime of certificates issued by this CA represented in minutes.
36323        '''
36324        self.name = name if name is not None else ''
36325        '''
36326         Unique human-readable name of the SecretStore.
36327        '''
36328        self.namespace = namespace if namespace is not None else ''
36329        '''
36330         The namespace to make requests within
36331        '''
36332        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36333        '''
36334         The mount point of the PKI engine configured with the desired CA
36335        '''
36336        self.server_address = server_address if server_address is not None else ''
36337        '''
36338         The URL of the Vault to target
36339        '''
36340        self.signing_role = signing_role if signing_role is not None else ''
36341        '''
36342         The signing role to be used for signing certificates
36343        '''
36344        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36345        '''
36346         Tags is a map of key, value pairs.
36347        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

pki_mount_point

The mount point of the PKI engine configured with the desired CA

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

tags

Tags is a map of key, value pairs.

def to_dict(self)
36361    def to_dict(self):
36362        return {
36363            'id': self.id,
36364            'issuedcertttlminutes': self.issuedcertttlminutes,
36365            'name': self.name,
36366            'namespace': self.namespace,
36367            'pki_mount_point': self.pki_mount_point,
36368            'server_address': self.server_address,
36369            'signing_role': self.signing_role,
36370            'tags': self.tags,
36371        }
@classmethod
def from_dict(cls, d)
36373    @classmethod
36374    def from_dict(cls, d):
36375        return cls(
36376            id=d.get('id'),
36377            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36378            name=d.get('name'),
36379            namespace=d.get('namespace'),
36380            pki_mount_point=d.get('pki_mount_point'),
36381            server_address=d.get('server_address'),
36382            signing_role=d.get('signing_role'),
36383            tags=d.get('tags'),
36384        )
class VaultAWSIAMStore:
36387class VaultAWSIAMStore:
36388    __slots__ = [
36389        'id',
36390        'name',
36391        'namespace',
36392        'server_address',
36393        'tags',
36394    ]
36395
36396    def __init__(
36397        self,
36398        id=None,
36399        name=None,
36400        namespace=None,
36401        server_address=None,
36402        tags=None,
36403    ):
36404        self.id = id if id is not None else ''
36405        '''
36406         Unique identifier of the SecretStore.
36407        '''
36408        self.name = name if name is not None else ''
36409        '''
36410         Unique human-readable name of the SecretStore.
36411        '''
36412        self.namespace = namespace if namespace is not None else ''
36413        '''
36414         The namespace to make requests within
36415        '''
36416        self.server_address = server_address if server_address is not None else ''
36417        '''
36418         The URL of the Vault to target
36419        '''
36420        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36421        '''
36422         Tags is a map of key, value pairs.
36423        '''
36424
36425    def __repr__(self):
36426        return '<sdm.VaultAWSIAMStore ' + \
36427            'id: ' + repr(self.id) + ' ' +\
36428            'name: ' + repr(self.name) + ' ' +\
36429            'namespace: ' + repr(self.namespace) + ' ' +\
36430            'server_address: ' + repr(self.server_address) + ' ' +\
36431            'tags: ' + repr(self.tags) + ' ' +\
36432            '>'
36433
36434    def to_dict(self):
36435        return {
36436            'id': self.id,
36437            'name': self.name,
36438            'namespace': self.namespace,
36439            'server_address': self.server_address,
36440            'tags': self.tags,
36441        }
36442
36443    @classmethod
36444    def from_dict(cls, d):
36445        return cls(
36446            id=d.get('id'),
36447            name=d.get('name'),
36448            namespace=d.get('namespace'),
36449            server_address=d.get('server_address'),
36450            tags=d.get('tags'),
36451        )
VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
36396    def __init__(
36397        self,
36398        id=None,
36399        name=None,
36400        namespace=None,
36401        server_address=None,
36402        tags=None,
36403    ):
36404        self.id = id if id is not None else ''
36405        '''
36406         Unique identifier of the SecretStore.
36407        '''
36408        self.name = name if name is not None else ''
36409        '''
36410         Unique human-readable name of the SecretStore.
36411        '''
36412        self.namespace = namespace if namespace is not None else ''
36413        '''
36414         The namespace to make requests within
36415        '''
36416        self.server_address = server_address if server_address is not None else ''
36417        '''
36418         The URL of the Vault to target
36419        '''
36420        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36421        '''
36422         Tags is a map of key, value pairs.
36423        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

tags

Tags is a map of key, value pairs.

def to_dict(self)
36434    def to_dict(self):
36435        return {
36436            'id': self.id,
36437            'name': self.name,
36438            'namespace': self.namespace,
36439            'server_address': self.server_address,
36440            'tags': self.tags,
36441        }
@classmethod
def from_dict(cls, d)
36443    @classmethod
36444    def from_dict(cls, d):
36445        return cls(
36446            id=d.get('id'),
36447            name=d.get('name'),
36448            namespace=d.get('namespace'),
36449            server_address=d.get('server_address'),
36450            tags=d.get('tags'),
36451        )
class VaultAppRoleCertSSHStore:
36454class VaultAppRoleCertSSHStore:
36455    __slots__ = [
36456        'id',
36457        'issuedcertttlminutes',
36458        'name',
36459        'namespace',
36460        'server_address',
36461        'signing_role',
36462        'ssh_mount_point',
36463        'tags',
36464    ]
36465
36466    def __init__(
36467        self,
36468        id=None,
36469        issuedcertttlminutes=None,
36470        name=None,
36471        namespace=None,
36472        server_address=None,
36473        signing_role=None,
36474        ssh_mount_point=None,
36475        tags=None,
36476    ):
36477        self.id = id if id is not None else ''
36478        '''
36479         Unique identifier of the SecretStore.
36480        '''
36481        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36482        '''
36483         The lifetime of certificates issued by this CA represented in minutes.
36484        '''
36485        self.name = name if name is not None else ''
36486        '''
36487         Unique human-readable name of the SecretStore.
36488        '''
36489        self.namespace = namespace if namespace is not None else ''
36490        '''
36491         The namespace to make requests within
36492        '''
36493        self.server_address = server_address if server_address is not None else ''
36494        '''
36495         The URL of the Vault to target
36496        '''
36497        self.signing_role = signing_role if signing_role is not None else ''
36498        '''
36499         The signing role to be used for signing certificates
36500        '''
36501        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36502        '''
36503         The mount point of the SSH engine configured with the desired CA
36504        '''
36505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36506        '''
36507         Tags is a map of key, value pairs.
36508        '''
36509
36510    def __repr__(self):
36511        return '<sdm.VaultAppRoleCertSSHStore ' + \
36512            'id: ' + repr(self.id) + ' ' +\
36513            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36514            'name: ' + repr(self.name) + ' ' +\
36515            'namespace: ' + repr(self.namespace) + ' ' +\
36516            'server_address: ' + repr(self.server_address) + ' ' +\
36517            'signing_role: ' + repr(self.signing_role) + ' ' +\
36518            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36519            'tags: ' + repr(self.tags) + ' ' +\
36520            '>'
36521
36522    def to_dict(self):
36523        return {
36524            'id': self.id,
36525            'issuedcertttlminutes': self.issuedcertttlminutes,
36526            'name': self.name,
36527            'namespace': self.namespace,
36528            'server_address': self.server_address,
36529            'signing_role': self.signing_role,
36530            'ssh_mount_point': self.ssh_mount_point,
36531            'tags': self.tags,
36532        }
36533
36534    @classmethod
36535    def from_dict(cls, d):
36536        return cls(
36537            id=d.get('id'),
36538            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36539            name=d.get('name'),
36540            namespace=d.get('namespace'),
36541            server_address=d.get('server_address'),
36542            signing_role=d.get('signing_role'),
36543            ssh_mount_point=d.get('ssh_mount_point'),
36544            tags=d.get('tags'),
36545        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
36466    def __init__(
36467        self,
36468        id=None,
36469        issuedcertttlminutes=None,
36470        name=None,
36471        namespace=None,
36472        server_address=None,
36473        signing_role=None,
36474        ssh_mount_point=None,
36475        tags=None,
36476    ):
36477        self.id = id if id is not None else ''
36478        '''
36479         Unique identifier of the SecretStore.
36480        '''
36481        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36482        '''
36483         The lifetime of certificates issued by this CA represented in minutes.
36484        '''
36485        self.name = name if name is not None else ''
36486        '''
36487         Unique human-readable name of the SecretStore.
36488        '''
36489        self.namespace = namespace if namespace is not None else ''
36490        '''
36491         The namespace to make requests within
36492        '''
36493        self.server_address = server_address if server_address is not None else ''
36494        '''
36495         The URL of the Vault to target
36496        '''
36497        self.signing_role = signing_role if signing_role is not None else ''
36498        '''
36499         The signing role to be used for signing certificates
36500        '''
36501        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36502        '''
36503         The mount point of the SSH engine configured with the desired CA
36504        '''
36505        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36506        '''
36507         Tags is a map of key, value pairs.
36508        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

ssh_mount_point

The mount point of the SSH engine configured with the desired CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
36522    def to_dict(self):
36523        return {
36524            'id': self.id,
36525            'issuedcertttlminutes': self.issuedcertttlminutes,
36526            'name': self.name,
36527            'namespace': self.namespace,
36528            'server_address': self.server_address,
36529            'signing_role': self.signing_role,
36530            'ssh_mount_point': self.ssh_mount_point,
36531            'tags': self.tags,
36532        }
@classmethod
def from_dict(cls, d)
36534    @classmethod
36535    def from_dict(cls, d):
36536        return cls(
36537            id=d.get('id'),
36538            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36539            name=d.get('name'),
36540            namespace=d.get('namespace'),
36541            server_address=d.get('server_address'),
36542            signing_role=d.get('signing_role'),
36543            ssh_mount_point=d.get('ssh_mount_point'),
36544            tags=d.get('tags'),
36545        )
class VaultAppRoleCertX509Store:
36548class VaultAppRoleCertX509Store:
36549    __slots__ = [
36550        'id',
36551        'issuedcertttlminutes',
36552        'name',
36553        'namespace',
36554        'pki_mount_point',
36555        'server_address',
36556        'signing_role',
36557        'tags',
36558    ]
36559
36560    def __init__(
36561        self,
36562        id=None,
36563        issuedcertttlminutes=None,
36564        name=None,
36565        namespace=None,
36566        pki_mount_point=None,
36567        server_address=None,
36568        signing_role=None,
36569        tags=None,
36570    ):
36571        self.id = id if id is not None else ''
36572        '''
36573         Unique identifier of the SecretStore.
36574        '''
36575        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36576        '''
36577         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
36578        '''
36579        self.name = name if name is not None else ''
36580        '''
36581         Unique human-readable name of the SecretStore.
36582        '''
36583        self.namespace = namespace if namespace is not None else ''
36584        '''
36585         The namespace to make requests within
36586        '''
36587        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36588        '''
36589         The mount point of the PKI engine configured with the desired CA
36590        '''
36591        self.server_address = server_address if server_address is not None else ''
36592        '''
36593         The URL of the Vault to target
36594        '''
36595        self.signing_role = signing_role if signing_role is not None else ''
36596        '''
36597         The signing role to be used for signing certificates
36598        '''
36599        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36600        '''
36601         Tags is a map of key, value pairs.
36602        '''
36603
36604    def __repr__(self):
36605        return '<sdm.VaultAppRoleCertX509Store ' + \
36606            'id: ' + repr(self.id) + ' ' +\
36607            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36608            'name: ' + repr(self.name) + ' ' +\
36609            'namespace: ' + repr(self.namespace) + ' ' +\
36610            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36611            'server_address: ' + repr(self.server_address) + ' ' +\
36612            'signing_role: ' + repr(self.signing_role) + ' ' +\
36613            'tags: ' + repr(self.tags) + ' ' +\
36614            '>'
36615
36616    def to_dict(self):
36617        return {
36618            'id': self.id,
36619            'issuedcertttlminutes': self.issuedcertttlminutes,
36620            'name': self.name,
36621            'namespace': self.namespace,
36622            'pki_mount_point': self.pki_mount_point,
36623            'server_address': self.server_address,
36624            'signing_role': self.signing_role,
36625            'tags': self.tags,
36626        }
36627
36628    @classmethod
36629    def from_dict(cls, d):
36630        return cls(
36631            id=d.get('id'),
36632            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36633            name=d.get('name'),
36634            namespace=d.get('namespace'),
36635            pki_mount_point=d.get('pki_mount_point'),
36636            server_address=d.get('server_address'),
36637            signing_role=d.get('signing_role'),
36638            tags=d.get('tags'),
36639        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
36560    def __init__(
36561        self,
36562        id=None,
36563        issuedcertttlminutes=None,
36564        name=None,
36565        namespace=None,
36566        pki_mount_point=None,
36567        server_address=None,
36568        signing_role=None,
36569        tags=None,
36570    ):
36571        self.id = id if id is not None else ''
36572        '''
36573         Unique identifier of the SecretStore.
36574        '''
36575        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36576        '''
36577         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
36578        '''
36579        self.name = name if name is not None else ''
36580        '''
36581         Unique human-readable name of the SecretStore.
36582        '''
36583        self.namespace = namespace if namespace is not None else ''
36584        '''
36585         The namespace to make requests within
36586        '''
36587        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36588        '''
36589         The mount point of the PKI engine configured with the desired CA
36590        '''
36591        self.server_address = server_address if server_address is not None else ''
36592        '''
36593         The URL of the Vault to target
36594        '''
36595        self.signing_role = signing_role if signing_role is not None else ''
36596        '''
36597         The signing role to be used for signing certificates
36598        '''
36599        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36600        '''
36601         Tags is a map of key, value pairs.
36602        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA in minutes. Recommended value is 5.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

pki_mount_point

The mount point of the PKI engine configured with the desired CA

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

tags

Tags is a map of key, value pairs.

def to_dict(self)
36616    def to_dict(self):
36617        return {
36618            'id': self.id,
36619            'issuedcertttlminutes': self.issuedcertttlminutes,
36620            'name': self.name,
36621            'namespace': self.namespace,
36622            'pki_mount_point': self.pki_mount_point,
36623            'server_address': self.server_address,
36624            'signing_role': self.signing_role,
36625            'tags': self.tags,
36626        }
@classmethod
def from_dict(cls, d)
36628    @classmethod
36629    def from_dict(cls, d):
36630        return cls(
36631            id=d.get('id'),
36632            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36633            name=d.get('name'),
36634            namespace=d.get('namespace'),
36635            pki_mount_point=d.get('pki_mount_point'),
36636            server_address=d.get('server_address'),
36637            signing_role=d.get('signing_role'),
36638            tags=d.get('tags'),
36639        )
class VaultAppRoleStore:
36642class VaultAppRoleStore:
36643    __slots__ = [
36644        'id',
36645        'name',
36646        'namespace',
36647        'server_address',
36648        'tags',
36649    ]
36650
36651    def __init__(
36652        self,
36653        id=None,
36654        name=None,
36655        namespace=None,
36656        server_address=None,
36657        tags=None,
36658    ):
36659        self.id = id if id is not None else ''
36660        '''
36661         Unique identifier of the SecretStore.
36662        '''
36663        self.name = name if name is not None else ''
36664        '''
36665         Unique human-readable name of the SecretStore.
36666        '''
36667        self.namespace = namespace if namespace is not None else ''
36668        '''
36669         The namespace to make requests within
36670        '''
36671        self.server_address = server_address if server_address is not None else ''
36672        '''
36673         The URL of the Vault to target
36674        '''
36675        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36676        '''
36677         Tags is a map of key, value pairs.
36678        '''
36679
36680    def __repr__(self):
36681        return '<sdm.VaultAppRoleStore ' + \
36682            'id: ' + repr(self.id) + ' ' +\
36683            'name: ' + repr(self.name) + ' ' +\
36684            'namespace: ' + repr(self.namespace) + ' ' +\
36685            'server_address: ' + repr(self.server_address) + ' ' +\
36686            'tags: ' + repr(self.tags) + ' ' +\
36687            '>'
36688
36689    def to_dict(self):
36690        return {
36691            'id': self.id,
36692            'name': self.name,
36693            'namespace': self.namespace,
36694            'server_address': self.server_address,
36695            'tags': self.tags,
36696        }
36697
36698    @classmethod
36699    def from_dict(cls, d):
36700        return cls(
36701            id=d.get('id'),
36702            name=d.get('name'),
36703            namespace=d.get('namespace'),
36704            server_address=d.get('server_address'),
36705            tags=d.get('tags'),
36706        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
36651    def __init__(
36652        self,
36653        id=None,
36654        name=None,
36655        namespace=None,
36656        server_address=None,
36657        tags=None,
36658    ):
36659        self.id = id if id is not None else ''
36660        '''
36661         Unique identifier of the SecretStore.
36662        '''
36663        self.name = name if name is not None else ''
36664        '''
36665         Unique human-readable name of the SecretStore.
36666        '''
36667        self.namespace = namespace if namespace is not None else ''
36668        '''
36669         The namespace to make requests within
36670        '''
36671        self.server_address = server_address if server_address is not None else ''
36672        '''
36673         The URL of the Vault to target
36674        '''
36675        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36676        '''
36677         Tags is a map of key, value pairs.
36678        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

tags

Tags is a map of key, value pairs.

def to_dict(self)
36689    def to_dict(self):
36690        return {
36691            'id': self.id,
36692            'name': self.name,
36693            'namespace': self.namespace,
36694            'server_address': self.server_address,
36695            'tags': self.tags,
36696        }
@classmethod
def from_dict(cls, d)
36698    @classmethod
36699    def from_dict(cls, d):
36700        return cls(
36701            id=d.get('id'),
36702            name=d.get('name'),
36703            namespace=d.get('namespace'),
36704            server_address=d.get('server_address'),
36705            tags=d.get('tags'),
36706        )
class VaultTLSCertSSHStore:
36709class VaultTLSCertSSHStore:
36710    __slots__ = [
36711        'ca_cert_path',
36712        'client_cert_path',
36713        'client_key_path',
36714        'id',
36715        'issuedcertttlminutes',
36716        'name',
36717        'namespace',
36718        'server_address',
36719        'signing_role',
36720        'ssh_mount_point',
36721        'tags',
36722    ]
36723
36724    def __init__(
36725        self,
36726        ca_cert_path=None,
36727        client_cert_path=None,
36728        client_key_path=None,
36729        id=None,
36730        issuedcertttlminutes=None,
36731        name=None,
36732        namespace=None,
36733        server_address=None,
36734        signing_role=None,
36735        ssh_mount_point=None,
36736        tags=None,
36737    ):
36738        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36739        '''
36740         A path to a CA file accessible by a Node
36741        '''
36742        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36743        '''
36744         A path to a client certificate file accessible by a Node
36745        '''
36746        self.client_key_path = client_key_path if client_key_path is not None else ''
36747        '''
36748         A path to a client key file accessible by a Node
36749        '''
36750        self.id = id if id is not None else ''
36751        '''
36752         Unique identifier of the SecretStore.
36753        '''
36754        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36755        '''
36756         The lifetime of certificates issued by this CA represented in minutes.
36757        '''
36758        self.name = name if name is not None else ''
36759        '''
36760         Unique human-readable name of the SecretStore.
36761        '''
36762        self.namespace = namespace if namespace is not None else ''
36763        '''
36764         The namespace to make requests within
36765        '''
36766        self.server_address = server_address if server_address is not None else ''
36767        '''
36768         The URL of the Vault to target
36769        '''
36770        self.signing_role = signing_role if signing_role is not None else ''
36771        '''
36772         The signing role to be used for signing certificates
36773        '''
36774        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36775        '''
36776         The mount point of the SSH engine configured with the desired CA
36777        '''
36778        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36779        '''
36780         Tags is a map of key, value pairs.
36781        '''
36782
36783    def __repr__(self):
36784        return '<sdm.VaultTLSCertSSHStore ' + \
36785            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
36786            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
36787            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
36788            'id: ' + repr(self.id) + ' ' +\
36789            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36790            'name: ' + repr(self.name) + ' ' +\
36791            'namespace: ' + repr(self.namespace) + ' ' +\
36792            'server_address: ' + repr(self.server_address) + ' ' +\
36793            'signing_role: ' + repr(self.signing_role) + ' ' +\
36794            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
36795            'tags: ' + repr(self.tags) + ' ' +\
36796            '>'
36797
36798    def to_dict(self):
36799        return {
36800            'ca_cert_path': self.ca_cert_path,
36801            'client_cert_path': self.client_cert_path,
36802            'client_key_path': self.client_key_path,
36803            'id': self.id,
36804            'issuedcertttlminutes': self.issuedcertttlminutes,
36805            'name': self.name,
36806            'namespace': self.namespace,
36807            'server_address': self.server_address,
36808            'signing_role': self.signing_role,
36809            'ssh_mount_point': self.ssh_mount_point,
36810            'tags': self.tags,
36811        }
36812
36813    @classmethod
36814    def from_dict(cls, d):
36815        return cls(
36816            ca_cert_path=d.get('ca_cert_path'),
36817            client_cert_path=d.get('client_cert_path'),
36818            client_key_path=d.get('client_key_path'),
36819            id=d.get('id'),
36820            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36821            name=d.get('name'),
36822            namespace=d.get('namespace'),
36823            server_address=d.get('server_address'),
36824            signing_role=d.get('signing_role'),
36825            ssh_mount_point=d.get('ssh_mount_point'),
36826            tags=d.get('tags'),
36827        )
VaultTLSCertSSHStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
36724    def __init__(
36725        self,
36726        ca_cert_path=None,
36727        client_cert_path=None,
36728        client_key_path=None,
36729        id=None,
36730        issuedcertttlminutes=None,
36731        name=None,
36732        namespace=None,
36733        server_address=None,
36734        signing_role=None,
36735        ssh_mount_point=None,
36736        tags=None,
36737    ):
36738        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36739        '''
36740         A path to a CA file accessible by a Node
36741        '''
36742        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36743        '''
36744         A path to a client certificate file accessible by a Node
36745        '''
36746        self.client_key_path = client_key_path if client_key_path is not None else ''
36747        '''
36748         A path to a client key file accessible by a Node
36749        '''
36750        self.id = id if id is not None else ''
36751        '''
36752         Unique identifier of the SecretStore.
36753        '''
36754        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36755        '''
36756         The lifetime of certificates issued by this CA represented in minutes.
36757        '''
36758        self.name = name if name is not None else ''
36759        '''
36760         Unique human-readable name of the SecretStore.
36761        '''
36762        self.namespace = namespace if namespace is not None else ''
36763        '''
36764         The namespace to make requests within
36765        '''
36766        self.server_address = server_address if server_address is not None else ''
36767        '''
36768         The URL of the Vault to target
36769        '''
36770        self.signing_role = signing_role if signing_role is not None else ''
36771        '''
36772         The signing role to be used for signing certificates
36773        '''
36774        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
36775        '''
36776         The mount point of the SSH engine configured with the desired CA
36777        '''
36778        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36779        '''
36780         Tags is a map of key, value pairs.
36781        '''
ca_cert_path

A path to a CA file accessible by a Node

client_cert_path

A path to a client certificate file accessible by a Node

client_key_path

A path to a client key file accessible by a Node

id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

ssh_mount_point

The mount point of the SSH engine configured with the desired CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
36798    def to_dict(self):
36799        return {
36800            'ca_cert_path': self.ca_cert_path,
36801            'client_cert_path': self.client_cert_path,
36802            'client_key_path': self.client_key_path,
36803            'id': self.id,
36804            'issuedcertttlminutes': self.issuedcertttlminutes,
36805            'name': self.name,
36806            'namespace': self.namespace,
36807            'server_address': self.server_address,
36808            'signing_role': self.signing_role,
36809            'ssh_mount_point': self.ssh_mount_point,
36810            'tags': self.tags,
36811        }
@classmethod
def from_dict(cls, d)
36813    @classmethod
36814    def from_dict(cls, d):
36815        return cls(
36816            ca_cert_path=d.get('ca_cert_path'),
36817            client_cert_path=d.get('client_cert_path'),
36818            client_key_path=d.get('client_key_path'),
36819            id=d.get('id'),
36820            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36821            name=d.get('name'),
36822            namespace=d.get('namespace'),
36823            server_address=d.get('server_address'),
36824            signing_role=d.get('signing_role'),
36825            ssh_mount_point=d.get('ssh_mount_point'),
36826            tags=d.get('tags'),
36827        )
class VaultTLSCertX509Store:
36830class VaultTLSCertX509Store:
36831    __slots__ = [
36832        'ca_cert_path',
36833        'client_cert_path',
36834        'client_key_path',
36835        'id',
36836        'issuedcertttlminutes',
36837        'name',
36838        'namespace',
36839        'pki_mount_point',
36840        'server_address',
36841        'signing_role',
36842        'tags',
36843    ]
36844
36845    def __init__(
36846        self,
36847        ca_cert_path=None,
36848        client_cert_path=None,
36849        client_key_path=None,
36850        id=None,
36851        issuedcertttlminutes=None,
36852        name=None,
36853        namespace=None,
36854        pki_mount_point=None,
36855        server_address=None,
36856        signing_role=None,
36857        tags=None,
36858    ):
36859        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36860        '''
36861         A path to a CA file accessible by a Node
36862        '''
36863        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36864        '''
36865         A path to a client certificate file accessible by a Node
36866        '''
36867        self.client_key_path = client_key_path if client_key_path is not None else ''
36868        '''
36869         A path to a client key file accessible by a Node
36870        '''
36871        self.id = id if id is not None else ''
36872        '''
36873         Unique identifier of the SecretStore.
36874        '''
36875        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36876        '''
36877         The lifetime of certificates issued by this CA represented in minutes.
36878        '''
36879        self.name = name if name is not None else ''
36880        '''
36881         Unique human-readable name of the SecretStore.
36882        '''
36883        self.namespace = namespace if namespace is not None else ''
36884        '''
36885         The namespace to make requests within
36886        '''
36887        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36888        '''
36889         The mount point of the PKI engine configured with the desired CA
36890        '''
36891        self.server_address = server_address if server_address is not None else ''
36892        '''
36893         The URL of the Vault to target
36894        '''
36895        self.signing_role = signing_role if signing_role is not None else ''
36896        '''
36897         The signing role to be used for signing certificates
36898        '''
36899        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36900        '''
36901         Tags is a map of key, value pairs.
36902        '''
36903
36904    def __repr__(self):
36905        return '<sdm.VaultTLSCertX509Store ' + \
36906            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
36907            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
36908            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
36909            'id: ' + repr(self.id) + ' ' +\
36910            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
36911            'name: ' + repr(self.name) + ' ' +\
36912            'namespace: ' + repr(self.namespace) + ' ' +\
36913            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
36914            'server_address: ' + repr(self.server_address) + ' ' +\
36915            'signing_role: ' + repr(self.signing_role) + ' ' +\
36916            'tags: ' + repr(self.tags) + ' ' +\
36917            '>'
36918
36919    def to_dict(self):
36920        return {
36921            'ca_cert_path': self.ca_cert_path,
36922            'client_cert_path': self.client_cert_path,
36923            'client_key_path': self.client_key_path,
36924            'id': self.id,
36925            'issuedcertttlminutes': self.issuedcertttlminutes,
36926            'name': self.name,
36927            'namespace': self.namespace,
36928            'pki_mount_point': self.pki_mount_point,
36929            'server_address': self.server_address,
36930            'signing_role': self.signing_role,
36931            'tags': self.tags,
36932        }
36933
36934    @classmethod
36935    def from_dict(cls, d):
36936        return cls(
36937            ca_cert_path=d.get('ca_cert_path'),
36938            client_cert_path=d.get('client_cert_path'),
36939            client_key_path=d.get('client_key_path'),
36940            id=d.get('id'),
36941            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36942            name=d.get('name'),
36943            namespace=d.get('namespace'),
36944            pki_mount_point=d.get('pki_mount_point'),
36945            server_address=d.get('server_address'),
36946            signing_role=d.get('signing_role'),
36947            tags=d.get('tags'),
36948        )
VaultTLSCertX509Store( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
36845    def __init__(
36846        self,
36847        ca_cert_path=None,
36848        client_cert_path=None,
36849        client_key_path=None,
36850        id=None,
36851        issuedcertttlminutes=None,
36852        name=None,
36853        namespace=None,
36854        pki_mount_point=None,
36855        server_address=None,
36856        signing_role=None,
36857        tags=None,
36858    ):
36859        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36860        '''
36861         A path to a CA file accessible by a Node
36862        '''
36863        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36864        '''
36865         A path to a client certificate file accessible by a Node
36866        '''
36867        self.client_key_path = client_key_path if client_key_path is not None else ''
36868        '''
36869         A path to a client key file accessible by a Node
36870        '''
36871        self.id = id if id is not None else ''
36872        '''
36873         Unique identifier of the SecretStore.
36874        '''
36875        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
36876        '''
36877         The lifetime of certificates issued by this CA represented in minutes.
36878        '''
36879        self.name = name if name is not None else ''
36880        '''
36881         Unique human-readable name of the SecretStore.
36882        '''
36883        self.namespace = namespace if namespace is not None else ''
36884        '''
36885         The namespace to make requests within
36886        '''
36887        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
36888        '''
36889         The mount point of the PKI engine configured with the desired CA
36890        '''
36891        self.server_address = server_address if server_address is not None else ''
36892        '''
36893         The URL of the Vault to target
36894        '''
36895        self.signing_role = signing_role if signing_role is not None else ''
36896        '''
36897         The signing role to be used for signing certificates
36898        '''
36899        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
36900        '''
36901         Tags is a map of key, value pairs.
36902        '''
ca_cert_path

A path to a CA file accessible by a Node

client_cert_path

A path to a client certificate file accessible by a Node

client_key_path

A path to a client key file accessible by a Node

id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

pki_mount_point

The mount point of the PKI engine configured with the desired CA

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

tags

Tags is a map of key, value pairs.

def to_dict(self)
36919    def to_dict(self):
36920        return {
36921            'ca_cert_path': self.ca_cert_path,
36922            'client_cert_path': self.client_cert_path,
36923            'client_key_path': self.client_key_path,
36924            'id': self.id,
36925            'issuedcertttlminutes': self.issuedcertttlminutes,
36926            'name': self.name,
36927            'namespace': self.namespace,
36928            'pki_mount_point': self.pki_mount_point,
36929            'server_address': self.server_address,
36930            'signing_role': self.signing_role,
36931            'tags': self.tags,
36932        }
@classmethod
def from_dict(cls, d)
36934    @classmethod
36935    def from_dict(cls, d):
36936        return cls(
36937            ca_cert_path=d.get('ca_cert_path'),
36938            client_cert_path=d.get('client_cert_path'),
36939            client_key_path=d.get('client_key_path'),
36940            id=d.get('id'),
36941            issuedcertttlminutes=d.get('issuedcertttlminutes'),
36942            name=d.get('name'),
36943            namespace=d.get('namespace'),
36944            pki_mount_point=d.get('pki_mount_point'),
36945            server_address=d.get('server_address'),
36946            signing_role=d.get('signing_role'),
36947            tags=d.get('tags'),
36948        )
class VaultTLSStore:
36951class VaultTLSStore:
36952    __slots__ = [
36953        'ca_cert_path',
36954        'client_cert_path',
36955        'client_key_path',
36956        'id',
36957        'name',
36958        'namespace',
36959        'server_address',
36960        'tags',
36961    ]
36962
36963    def __init__(
36964        self,
36965        ca_cert_path=None,
36966        client_cert_path=None,
36967        client_key_path=None,
36968        id=None,
36969        name=None,
36970        namespace=None,
36971        server_address=None,
36972        tags=None,
36973    ):
36974        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36975        '''
36976         A path to a CA file accessible by a Node
36977        '''
36978        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36979        '''
36980         A path to a client certificate file accessible by a Node
36981        '''
36982        self.client_key_path = client_key_path if client_key_path is not None else ''
36983        '''
36984         A path to a client key file accessible by a Node
36985        '''
36986        self.id = id if id is not None else ''
36987        '''
36988         Unique identifier of the SecretStore.
36989        '''
36990        self.name = name if name is not None else ''
36991        '''
36992         Unique human-readable name of the SecretStore.
36993        '''
36994        self.namespace = namespace if namespace is not None else ''
36995        '''
36996         The namespace to make requests within
36997        '''
36998        self.server_address = server_address if server_address is not None else ''
36999        '''
37000         The URL of the Vault to target
37001        '''
37002        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37003        '''
37004         Tags is a map of key, value pairs.
37005        '''
37006
37007    def __repr__(self):
37008        return '<sdm.VaultTLSStore ' + \
37009            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
37010            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
37011            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
37012            'id: ' + repr(self.id) + ' ' +\
37013            'name: ' + repr(self.name) + ' ' +\
37014            'namespace: ' + repr(self.namespace) + ' ' +\
37015            'server_address: ' + repr(self.server_address) + ' ' +\
37016            'tags: ' + repr(self.tags) + ' ' +\
37017            '>'
37018
37019    def to_dict(self):
37020        return {
37021            'ca_cert_path': self.ca_cert_path,
37022            'client_cert_path': self.client_cert_path,
37023            'client_key_path': self.client_key_path,
37024            'id': self.id,
37025            'name': self.name,
37026            'namespace': self.namespace,
37027            'server_address': self.server_address,
37028            'tags': self.tags,
37029        }
37030
37031    @classmethod
37032    def from_dict(cls, d):
37033        return cls(
37034            ca_cert_path=d.get('ca_cert_path'),
37035            client_cert_path=d.get('client_cert_path'),
37036            client_key_path=d.get('client_key_path'),
37037            id=d.get('id'),
37038            name=d.get('name'),
37039            namespace=d.get('namespace'),
37040            server_address=d.get('server_address'),
37041            tags=d.get('tags'),
37042        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
36963    def __init__(
36964        self,
36965        ca_cert_path=None,
36966        client_cert_path=None,
36967        client_key_path=None,
36968        id=None,
36969        name=None,
36970        namespace=None,
36971        server_address=None,
36972        tags=None,
36973    ):
36974        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
36975        '''
36976         A path to a CA file accessible by a Node
36977        '''
36978        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
36979        '''
36980         A path to a client certificate file accessible by a Node
36981        '''
36982        self.client_key_path = client_key_path if client_key_path is not None else ''
36983        '''
36984         A path to a client key file accessible by a Node
36985        '''
36986        self.id = id if id is not None else ''
36987        '''
36988         Unique identifier of the SecretStore.
36989        '''
36990        self.name = name if name is not None else ''
36991        '''
36992         Unique human-readable name of the SecretStore.
36993        '''
36994        self.namespace = namespace if namespace is not None else ''
36995        '''
36996         The namespace to make requests within
36997        '''
36998        self.server_address = server_address if server_address is not None else ''
36999        '''
37000         The URL of the Vault to target
37001        '''
37002        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37003        '''
37004         Tags is a map of key, value pairs.
37005        '''
ca_cert_path

A path to a CA file accessible by a Node

client_cert_path

A path to a client certificate file accessible by a Node

client_key_path

A path to a client key file accessible by a Node

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

tags

Tags is a map of key, value pairs.

def to_dict(self)
37019    def to_dict(self):
37020        return {
37021            'ca_cert_path': self.ca_cert_path,
37022            'client_cert_path': self.client_cert_path,
37023            'client_key_path': self.client_key_path,
37024            'id': self.id,
37025            'name': self.name,
37026            'namespace': self.namespace,
37027            'server_address': self.server_address,
37028            'tags': self.tags,
37029        }
@classmethod
def from_dict(cls, d)
37031    @classmethod
37032    def from_dict(cls, d):
37033        return cls(
37034            ca_cert_path=d.get('ca_cert_path'),
37035            client_cert_path=d.get('client_cert_path'),
37036            client_key_path=d.get('client_key_path'),
37037            id=d.get('id'),
37038            name=d.get('name'),
37039            namespace=d.get('namespace'),
37040            server_address=d.get('server_address'),
37041            tags=d.get('tags'),
37042        )
class VaultTokenCertSSHStore:
37045class VaultTokenCertSSHStore:
37046    __slots__ = [
37047        'id',
37048        'issuedcertttlminutes',
37049        'name',
37050        'namespace',
37051        'server_address',
37052        'signing_role',
37053        'ssh_mount_point',
37054        'tags',
37055    ]
37056
37057    def __init__(
37058        self,
37059        id=None,
37060        issuedcertttlminutes=None,
37061        name=None,
37062        namespace=None,
37063        server_address=None,
37064        signing_role=None,
37065        ssh_mount_point=None,
37066        tags=None,
37067    ):
37068        self.id = id if id is not None else ''
37069        '''
37070         Unique identifier of the SecretStore.
37071        '''
37072        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
37073        '''
37074         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
37075        '''
37076        self.name = name if name is not None else ''
37077        '''
37078         Unique human-readable name of the SecretStore.
37079        '''
37080        self.namespace = namespace if namespace is not None else ''
37081        '''
37082         The namespace to make requests within
37083        '''
37084        self.server_address = server_address if server_address is not None else ''
37085        '''
37086         The URL of the Vault to target
37087        '''
37088        self.signing_role = signing_role if signing_role is not None else ''
37089        '''
37090         The signing role to be used for signing certificates
37091        '''
37092        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
37093        '''
37094         The mount point of the SSH engine configured with the desired CA
37095        '''
37096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37097        '''
37098         Tags is a map of key, value pairs.
37099        '''
37100
37101    def __repr__(self):
37102        return '<sdm.VaultTokenCertSSHStore ' + \
37103            'id: ' + repr(self.id) + ' ' +\
37104            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
37105            'name: ' + repr(self.name) + ' ' +\
37106            'namespace: ' + repr(self.namespace) + ' ' +\
37107            'server_address: ' + repr(self.server_address) + ' ' +\
37108            'signing_role: ' + repr(self.signing_role) + ' ' +\
37109            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
37110            'tags: ' + repr(self.tags) + ' ' +\
37111            '>'
37112
37113    def to_dict(self):
37114        return {
37115            'id': self.id,
37116            'issuedcertttlminutes': self.issuedcertttlminutes,
37117            'name': self.name,
37118            'namespace': self.namespace,
37119            'server_address': self.server_address,
37120            'signing_role': self.signing_role,
37121            'ssh_mount_point': self.ssh_mount_point,
37122            'tags': self.tags,
37123        }
37124
37125    @classmethod
37126    def from_dict(cls, d):
37127        return cls(
37128            id=d.get('id'),
37129            issuedcertttlminutes=d.get('issuedcertttlminutes'),
37130            name=d.get('name'),
37131            namespace=d.get('namespace'),
37132            server_address=d.get('server_address'),
37133            signing_role=d.get('signing_role'),
37134            ssh_mount_point=d.get('ssh_mount_point'),
37135            tags=d.get('tags'),
37136        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
37057    def __init__(
37058        self,
37059        id=None,
37060        issuedcertttlminutes=None,
37061        name=None,
37062        namespace=None,
37063        server_address=None,
37064        signing_role=None,
37065        ssh_mount_point=None,
37066        tags=None,
37067    ):
37068        self.id = id if id is not None else ''
37069        '''
37070         Unique identifier of the SecretStore.
37071        '''
37072        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
37073        '''
37074         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
37075        '''
37076        self.name = name if name is not None else ''
37077        '''
37078         Unique human-readable name of the SecretStore.
37079        '''
37080        self.namespace = namespace if namespace is not None else ''
37081        '''
37082         The namespace to make requests within
37083        '''
37084        self.server_address = server_address if server_address is not None else ''
37085        '''
37086         The URL of the Vault to target
37087        '''
37088        self.signing_role = signing_role if signing_role is not None else ''
37089        '''
37090         The signing role to be used for signing certificates
37091        '''
37092        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
37093        '''
37094         The mount point of the SSH engine configured with the desired CA
37095        '''
37096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37097        '''
37098         Tags is a map of key, value pairs.
37099        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA in minutes. Recommended value is 5.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

ssh_mount_point

The mount point of the SSH engine configured with the desired CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
37113    def to_dict(self):
37114        return {
37115            'id': self.id,
37116            'issuedcertttlminutes': self.issuedcertttlminutes,
37117            'name': self.name,
37118            'namespace': self.namespace,
37119            'server_address': self.server_address,
37120            'signing_role': self.signing_role,
37121            'ssh_mount_point': self.ssh_mount_point,
37122            'tags': self.tags,
37123        }
@classmethod
def from_dict(cls, d)
37125    @classmethod
37126    def from_dict(cls, d):
37127        return cls(
37128            id=d.get('id'),
37129            issuedcertttlminutes=d.get('issuedcertttlminutes'),
37130            name=d.get('name'),
37131            namespace=d.get('namespace'),
37132            server_address=d.get('server_address'),
37133            signing_role=d.get('signing_role'),
37134            ssh_mount_point=d.get('ssh_mount_point'),
37135            tags=d.get('tags'),
37136        )
class VaultTokenCertX509Store:
37139class VaultTokenCertX509Store:
37140    __slots__ = [
37141        'id',
37142        'issuedcertttlminutes',
37143        'name',
37144        'namespace',
37145        'pki_mount_point',
37146        'server_address',
37147        'signing_role',
37148        'tags',
37149    ]
37150
37151    def __init__(
37152        self,
37153        id=None,
37154        issuedcertttlminutes=None,
37155        name=None,
37156        namespace=None,
37157        pki_mount_point=None,
37158        server_address=None,
37159        signing_role=None,
37160        tags=None,
37161    ):
37162        self.id = id if id is not None else ''
37163        '''
37164         Unique identifier of the SecretStore.
37165        '''
37166        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
37167        '''
37168         The lifetime of certificates issued by this CA represented in minutes.
37169        '''
37170        self.name = name if name is not None else ''
37171        '''
37172         Unique human-readable name of the SecretStore.
37173        '''
37174        self.namespace = namespace if namespace is not None else ''
37175        '''
37176         The namespace to make requests within
37177        '''
37178        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
37179        '''
37180         The mount point of the PKI engine configured with the desired CA
37181        '''
37182        self.server_address = server_address if server_address is not None else ''
37183        '''
37184         The URL of the Vault to target
37185        '''
37186        self.signing_role = signing_role if signing_role is not None else ''
37187        '''
37188         The signing role to be used for signing certificates
37189        '''
37190        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37191        '''
37192         Tags is a map of key, value pairs.
37193        '''
37194
37195    def __repr__(self):
37196        return '<sdm.VaultTokenCertX509Store ' + \
37197            'id: ' + repr(self.id) + ' ' +\
37198            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
37199            'name: ' + repr(self.name) + ' ' +\
37200            'namespace: ' + repr(self.namespace) + ' ' +\
37201            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
37202            'server_address: ' + repr(self.server_address) + ' ' +\
37203            'signing_role: ' + repr(self.signing_role) + ' ' +\
37204            'tags: ' + repr(self.tags) + ' ' +\
37205            '>'
37206
37207    def to_dict(self):
37208        return {
37209            'id': self.id,
37210            'issuedcertttlminutes': self.issuedcertttlminutes,
37211            'name': self.name,
37212            'namespace': self.namespace,
37213            'pki_mount_point': self.pki_mount_point,
37214            'server_address': self.server_address,
37215            'signing_role': self.signing_role,
37216            'tags': self.tags,
37217        }
37218
37219    @classmethod
37220    def from_dict(cls, d):
37221        return cls(
37222            id=d.get('id'),
37223            issuedcertttlminutes=d.get('issuedcertttlminutes'),
37224            name=d.get('name'),
37225            namespace=d.get('namespace'),
37226            pki_mount_point=d.get('pki_mount_point'),
37227            server_address=d.get('server_address'),
37228            signing_role=d.get('signing_role'),
37229            tags=d.get('tags'),
37230        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
37151    def __init__(
37152        self,
37153        id=None,
37154        issuedcertttlminutes=None,
37155        name=None,
37156        namespace=None,
37157        pki_mount_point=None,
37158        server_address=None,
37159        signing_role=None,
37160        tags=None,
37161    ):
37162        self.id = id if id is not None else ''
37163        '''
37164         Unique identifier of the SecretStore.
37165        '''
37166        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
37167        '''
37168         The lifetime of certificates issued by this CA represented in minutes.
37169        '''
37170        self.name = name if name is not None else ''
37171        '''
37172         Unique human-readable name of the SecretStore.
37173        '''
37174        self.namespace = namespace if namespace is not None else ''
37175        '''
37176         The namespace to make requests within
37177        '''
37178        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
37179        '''
37180         The mount point of the PKI engine configured with the desired CA
37181        '''
37182        self.server_address = server_address if server_address is not None else ''
37183        '''
37184         The URL of the Vault to target
37185        '''
37186        self.signing_role = signing_role if signing_role is not None else ''
37187        '''
37188         The signing role to be used for signing certificates
37189        '''
37190        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37191        '''
37192         Tags is a map of key, value pairs.
37193        '''
id

Unique identifier of the SecretStore.

issuedcertttlminutes

The lifetime of certificates issued by this CA represented in minutes.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

pki_mount_point

The mount point of the PKI engine configured with the desired CA

server_address

The URL of the Vault to target

signing_role

The signing role to be used for signing certificates

tags

Tags is a map of key, value pairs.

def to_dict(self)
37207    def to_dict(self):
37208        return {
37209            'id': self.id,
37210            'issuedcertttlminutes': self.issuedcertttlminutes,
37211            'name': self.name,
37212            'namespace': self.namespace,
37213            'pki_mount_point': self.pki_mount_point,
37214            'server_address': self.server_address,
37215            'signing_role': self.signing_role,
37216            'tags': self.tags,
37217        }
@classmethod
def from_dict(cls, d)
37219    @classmethod
37220    def from_dict(cls, d):
37221        return cls(
37222            id=d.get('id'),
37223            issuedcertttlminutes=d.get('issuedcertttlminutes'),
37224            name=d.get('name'),
37225            namespace=d.get('namespace'),
37226            pki_mount_point=d.get('pki_mount_point'),
37227            server_address=d.get('server_address'),
37228            signing_role=d.get('signing_role'),
37229            tags=d.get('tags'),
37230        )
class VaultTokenStore:
37233class VaultTokenStore:
37234    __slots__ = [
37235        'id',
37236        'name',
37237        'namespace',
37238        'server_address',
37239        'tags',
37240    ]
37241
37242    def __init__(
37243        self,
37244        id=None,
37245        name=None,
37246        namespace=None,
37247        server_address=None,
37248        tags=None,
37249    ):
37250        self.id = id if id is not None else ''
37251        '''
37252         Unique identifier of the SecretStore.
37253        '''
37254        self.name = name if name is not None else ''
37255        '''
37256         Unique human-readable name of the SecretStore.
37257        '''
37258        self.namespace = namespace if namespace is not None else ''
37259        '''
37260         The namespace to make requests within
37261        '''
37262        self.server_address = server_address if server_address is not None else ''
37263        '''
37264         The URL of the Vault to target
37265        '''
37266        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37267        '''
37268         Tags is a map of key, value pairs.
37269        '''
37270
37271    def __repr__(self):
37272        return '<sdm.VaultTokenStore ' + \
37273            'id: ' + repr(self.id) + ' ' +\
37274            'name: ' + repr(self.name) + ' ' +\
37275            'namespace: ' + repr(self.namespace) + ' ' +\
37276            'server_address: ' + repr(self.server_address) + ' ' +\
37277            'tags: ' + repr(self.tags) + ' ' +\
37278            '>'
37279
37280    def to_dict(self):
37281        return {
37282            'id': self.id,
37283            'name': self.name,
37284            'namespace': self.namespace,
37285            'server_address': self.server_address,
37286            'tags': self.tags,
37287        }
37288
37289    @classmethod
37290    def from_dict(cls, d):
37291        return cls(
37292            id=d.get('id'),
37293            name=d.get('name'),
37294            namespace=d.get('namespace'),
37295            server_address=d.get('server_address'),
37296            tags=d.get('tags'),
37297        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
37242    def __init__(
37243        self,
37244        id=None,
37245        name=None,
37246        namespace=None,
37247        server_address=None,
37248        tags=None,
37249    ):
37250        self.id = id if id is not None else ''
37251        '''
37252         Unique identifier of the SecretStore.
37253        '''
37254        self.name = name if name is not None else ''
37255        '''
37256         Unique human-readable name of the SecretStore.
37257        '''
37258        self.namespace = namespace if namespace is not None else ''
37259        '''
37260         The namespace to make requests within
37261        '''
37262        self.server_address = server_address if server_address is not None else ''
37263        '''
37264         The URL of the Vault to target
37265        '''
37266        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37267        '''
37268         Tags is a map of key, value pairs.
37269        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

namespace

The namespace to make requests within

server_address

The URL of the Vault to target

tags

Tags is a map of key, value pairs.

def to_dict(self)
37280    def to_dict(self):
37281        return {
37282            'id': self.id,
37283            'name': self.name,
37284            'namespace': self.namespace,
37285            'server_address': self.server_address,
37286            'tags': self.tags,
37287        }
@classmethod
def from_dict(cls, d)
37289    @classmethod
37290    def from_dict(cls, d):
37291        return cls(
37292            id=d.get('id'),
37293            name=d.get('name'),
37294            namespace=d.get('namespace'),
37295            server_address=d.get('server_address'),
37296            tags=d.get('tags'),
37297        )
class Vertica:
37300class Vertica:
37301    __slots__ = [
37302        'bind_interface',
37303        'database',
37304        'egress_filter',
37305        'healthy',
37306        'hostname',
37307        'id',
37308        'name',
37309        'password',
37310        'port',
37311        'port_override',
37312        'proxy_cluster_id',
37313        'secret_store_id',
37314        'subdomain',
37315        'tags',
37316        'username',
37317    ]
37318
37319    def __init__(
37320        self,
37321        bind_interface=None,
37322        database=None,
37323        egress_filter=None,
37324        healthy=None,
37325        hostname=None,
37326        id=None,
37327        name=None,
37328        password=None,
37329        port=None,
37330        port_override=None,
37331        proxy_cluster_id=None,
37332        secret_store_id=None,
37333        subdomain=None,
37334        tags=None,
37335        username=None,
37336    ):
37337        self.bind_interface = bind_interface if bind_interface is not None else ''
37338        '''
37339         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
37340        '''
37341        self.database = database if database is not None else ''
37342        '''
37343         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
37344        '''
37345        self.egress_filter = egress_filter if egress_filter is not None else ''
37346        '''
37347         A filter applied to the routing logic to pin datasource to nodes.
37348        '''
37349        self.healthy = healthy if healthy is not None else False
37350        '''
37351         True if the datasource is reachable and the credentials are valid.
37352        '''
37353        self.hostname = hostname if hostname is not None else ''
37354        '''
37355         The host to dial to initiate a connection from the egress node to this resource.
37356        '''
37357        self.id = id if id is not None else ''
37358        '''
37359         Unique identifier of the Resource.
37360        '''
37361        self.name = name if name is not None else ''
37362        '''
37363         Unique human-readable name of the Resource.
37364        '''
37365        self.password = password if password is not None else ''
37366        '''
37367         The password to authenticate with.
37368        '''
37369        self.port = port if port is not None else 0
37370        '''
37371         The port to dial to initiate a connection from the egress node to this resource.
37372        '''
37373        self.port_override = port_override if port_override is not None else 0
37374        '''
37375         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
37376        '''
37377        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
37378        '''
37379         ID of the proxy cluster for this resource, if any.
37380        '''
37381        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
37382        '''
37383         ID of the secret store containing credentials for this resource, if any.
37384        '''
37385        self.subdomain = subdomain if subdomain is not None else ''
37386        '''
37387         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
37388        '''
37389        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37390        '''
37391         Tags is a map of key, value pairs.
37392        '''
37393        self.username = username if username is not None else ''
37394        '''
37395         The username to authenticate with.
37396        '''
37397
37398    def __repr__(self):
37399        return '<sdm.Vertica ' + \
37400            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
37401            'database: ' + repr(self.database) + ' ' +\
37402            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
37403            'healthy: ' + repr(self.healthy) + ' ' +\
37404            'hostname: ' + repr(self.hostname) + ' ' +\
37405            'id: ' + repr(self.id) + ' ' +\
37406            'name: ' + repr(self.name) + ' ' +\
37407            'password: ' + repr(self.password) + ' ' +\
37408            'port: ' + repr(self.port) + ' ' +\
37409            'port_override: ' + repr(self.port_override) + ' ' +\
37410            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
37411            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
37412            'subdomain: ' + repr(self.subdomain) + ' ' +\
37413            'tags: ' + repr(self.tags) + ' ' +\
37414            'username: ' + repr(self.username) + ' ' +\
37415            '>'
37416
37417    def to_dict(self):
37418        return {
37419            'bind_interface': self.bind_interface,
37420            'database': self.database,
37421            'egress_filter': self.egress_filter,
37422            'healthy': self.healthy,
37423            'hostname': self.hostname,
37424            'id': self.id,
37425            'name': self.name,
37426            'password': self.password,
37427            'port': self.port,
37428            'port_override': self.port_override,
37429            'proxy_cluster_id': self.proxy_cluster_id,
37430            'secret_store_id': self.secret_store_id,
37431            'subdomain': self.subdomain,
37432            'tags': self.tags,
37433            'username': self.username,
37434        }
37435
37436    @classmethod
37437    def from_dict(cls, d):
37438        return cls(
37439            bind_interface=d.get('bind_interface'),
37440            database=d.get('database'),
37441            egress_filter=d.get('egress_filter'),
37442            healthy=d.get('healthy'),
37443            hostname=d.get('hostname'),
37444            id=d.get('id'),
37445            name=d.get('name'),
37446            password=d.get('password'),
37447            port=d.get('port'),
37448            port_override=d.get('port_override'),
37449            proxy_cluster_id=d.get('proxy_cluster_id'),
37450            secret_store_id=d.get('secret_store_id'),
37451            subdomain=d.get('subdomain'),
37452            tags=d.get('tags'),
37453            username=d.get('username'),
37454        )
Vertica( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
37319    def __init__(
37320        self,
37321        bind_interface=None,
37322        database=None,
37323        egress_filter=None,
37324        healthy=None,
37325        hostname=None,
37326        id=None,
37327        name=None,
37328        password=None,
37329        port=None,
37330        port_override=None,
37331        proxy_cluster_id=None,
37332        secret_store_id=None,
37333        subdomain=None,
37334        tags=None,
37335        username=None,
37336    ):
37337        self.bind_interface = bind_interface if bind_interface is not None else ''
37338        '''
37339         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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
37340        '''
37341        self.database = database if database is not None else ''
37342        '''
37343         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
37344        '''
37345        self.egress_filter = egress_filter if egress_filter is not None else ''
37346        '''
37347         A filter applied to the routing logic to pin datasource to nodes.
37348        '''
37349        self.healthy = healthy if healthy is not None else False
37350        '''
37351         True if the datasource is reachable and the credentials are valid.
37352        '''
37353        self.hostname = hostname if hostname is not None else ''
37354        '''
37355         The host to dial to initiate a connection from the egress node to this resource.
37356        '''
37357        self.id = id if id is not None else ''
37358        '''
37359         Unique identifier of the Resource.
37360        '''
37361        self.name = name if name is not None else ''
37362        '''
37363         Unique human-readable name of the Resource.
37364        '''
37365        self.password = password if password is not None else ''
37366        '''
37367         The password to authenticate with.
37368        '''
37369        self.port = port if port is not None else 0
37370        '''
37371         The port to dial to initiate a connection from the egress node to this resource.
37372        '''
37373        self.port_override = port_override if port_override is not None else 0
37374        '''
37375         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
37376        '''
37377        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
37378        '''
37379         ID of the proxy cluster for this resource, if any.
37380        '''
37381        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
37382        '''
37383         ID of the secret store containing credentials for this resource, if any.
37384        '''
37385        self.subdomain = subdomain if subdomain is not None else ''
37386        '''
37387         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
37388        '''
37389        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
37390        '''
37391         Tags is a map of key, value pairs.
37392        '''
37393        self.username = username if username is not None else ''
37394        '''
37395         The username to authenticate with.
37396        '''
bind_interface

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
37417    def to_dict(self):
37418        return {
37419            'bind_interface': self.bind_interface,
37420            'database': self.database,
37421            'egress_filter': self.egress_filter,
37422            'healthy': self.healthy,
37423            'hostname': self.hostname,
37424            'id': self.id,
37425            'name': self.name,
37426            'password': self.password,
37427            'port': self.port,
37428            'port_override': self.port_override,
37429            'proxy_cluster_id': self.proxy_cluster_id,
37430            'secret_store_id': self.secret_store_id,
37431            'subdomain': self.subdomain,
37432            'tags': self.tags,
37433            'username': self.username,
37434        }
@classmethod
def from_dict(cls, d)
37436    @classmethod
37437    def from_dict(cls, d):
37438        return cls(
37439            bind_interface=d.get('bind_interface'),
37440            database=d.get('database'),
37441            egress_filter=d.get('egress_filter'),
37442            healthy=d.get('healthy'),
37443            hostname=d.get('hostname'),
37444            id=d.get('id'),
37445            name=d.get('name'),
37446            password=d.get('password'),
37447            port=d.get('port'),
37448            port_override=d.get('port_override'),
37449            proxy_cluster_id=d.get('proxy_cluster_id'),
37450            secret_store_id=d.get('secret_store_id'),
37451            subdomain=d.get('subdomain'),
37452            tags=d.get('tags'),
37453            username=d.get('username'),
37454        )
class Workflow:
37457class Workflow:
37458    '''
37459         Workflows are the collection of rules that define the resources to which access can be requested,
37460     the users that can request that access, and the mechanism for approving those requests which can either
37461     but automatic approval or a set of users authorized to approve the requests.
37462    '''
37463    __slots__ = [
37464        'access_request_fixed_duration',
37465        'access_request_max_duration',
37466        'access_rules',
37467        'approval_flow_id',
37468        'auto_grant',
37469        'description',
37470        'enabled',
37471        'id',
37472        'name',
37473        'weight',
37474    ]
37475
37476    def __init__(
37477        self,
37478        access_request_fixed_duration=None,
37479        access_request_max_duration=None,
37480        access_rules=None,
37481        approval_flow_id=None,
37482        auto_grant=None,
37483        description=None,
37484        enabled=None,
37485        id=None,
37486        name=None,
37487        weight=None,
37488    ):
37489        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
37490        '''
37491         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
37492         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
37493        '''
37494        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
37495        '''
37496         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
37497         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
37498        '''
37499        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
37500        )
37501        '''
37502         AccessRules is a list of access rules defining the resources this Workflow provides access to.
37503        '''
37504        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
37505        '''
37506         Optional approval flow ID identifies an approval flow that linked to the workflow
37507        '''
37508        self.auto_grant = auto_grant if auto_grant is not None else False
37509        '''
37510         Optional auto grant setting to automatically approve requests or not, defaults to false.
37511        '''
37512        self.description = description if description is not None else ''
37513        '''
37514         Optional description of the Workflow.
37515        '''
37516        self.enabled = enabled if enabled is not None else False
37517        '''
37518         Optional enabled state for workflow. This setting may be overridden by the system if
37519         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
37520         enabling the workflow. The requirements to enable a workflow are that the workflow must be
37521         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
37522         the workflow.
37523        '''
37524        self.id = id if id is not None else ''
37525        '''
37526         Unique identifier of the Workflow.
37527        '''
37528        self.name = name if name is not None else ''
37529        '''
37530         Unique human-readable name of the Workflow.
37531        '''
37532        self.weight = weight if weight is not None else 0
37533        '''
37534         Optional weight for workflow to specify it's priority in matching a request.
37535        '''
37536
37537    def __repr__(self):
37538        return '<sdm.Workflow ' + \
37539            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
37540            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
37541            'access_rules: ' + repr(self.access_rules) + ' ' +\
37542            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
37543            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
37544            'description: ' + repr(self.description) + ' ' +\
37545            'enabled: ' + repr(self.enabled) + ' ' +\
37546            'id: ' + repr(self.id) + ' ' +\
37547            'name: ' + repr(self.name) + ' ' +\
37548            'weight: ' + repr(self.weight) + ' ' +\
37549            '>'
37550
37551    def to_dict(self):
37552        return {
37553            'access_request_fixed_duration':
37554            self.access_request_fixed_duration,
37555            'access_request_max_duration': self.access_request_max_duration,
37556            'access_rules': self.access_rules,
37557            'approval_flow_id': self.approval_flow_id,
37558            'auto_grant': self.auto_grant,
37559            'description': self.description,
37560            'enabled': self.enabled,
37561            'id': self.id,
37562            'name': self.name,
37563            'weight': self.weight,
37564        }
37565
37566    @classmethod
37567    def from_dict(cls, d):
37568        return cls(
37569            access_request_fixed_duration=d.get(
37570                'access_request_fixed_duration'),
37571            access_request_max_duration=d.get('access_request_max_duration'),
37572            access_rules=d.get('access_rules'),
37573            approval_flow_id=d.get('approval_flow_id'),
37574            auto_grant=d.get('auto_grant'),
37575            description=d.get('description'),
37576            enabled=d.get('enabled'),
37577            id=d.get('id'),
37578            name=d.get('name'),
37579            weight=d.get('weight'),
37580        )

Workflows are the collection of rules that define the resources to which access can be requested, the users that can request that access, and the mechanism for approving those requests which can either but automatic approval or a set of users authorized to approve the requests.

Workflow( access_request_fixed_duration=None, access_request_max_duration=None, access_rules=None, approval_flow_id=None, auto_grant=None, description=None, enabled=None, id=None, name=None, weight=None)
37476    def __init__(
37477        self,
37478        access_request_fixed_duration=None,
37479        access_request_max_duration=None,
37480        access_rules=None,
37481        approval_flow_id=None,
37482        auto_grant=None,
37483        description=None,
37484        enabled=None,
37485        id=None,
37486        name=None,
37487        weight=None,
37488    ):
37489        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
37490        '''
37491         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
37492         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
37493        '''
37494        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
37495        '''
37496         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
37497         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
37498        '''
37499        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
37500        )
37501        '''
37502         AccessRules is a list of access rules defining the resources this Workflow provides access to.
37503        '''
37504        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
37505        '''
37506         Optional approval flow ID identifies an approval flow that linked to the workflow
37507        '''
37508        self.auto_grant = auto_grant if auto_grant is not None else False
37509        '''
37510         Optional auto grant setting to automatically approve requests or not, defaults to false.
37511        '''
37512        self.description = description if description is not None else ''
37513        '''
37514         Optional description of the Workflow.
37515        '''
37516        self.enabled = enabled if enabled is not None else False
37517        '''
37518         Optional enabled state for workflow. This setting may be overridden by the system if
37519         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
37520         enabling the workflow. The requirements to enable a workflow are that the workflow must be
37521         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
37522         the workflow.
37523        '''
37524        self.id = id if id is not None else ''
37525        '''
37526         Unique identifier of the Workflow.
37527        '''
37528        self.name = name if name is not None else ''
37529        '''
37530         Unique human-readable name of the Workflow.
37531        '''
37532        self.weight = weight if weight is not None else 0
37533        '''
37534         Optional weight for workflow to specify it's priority in matching a request.
37535        '''
access_request_fixed_duration

Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.

access_request_max_duration

Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.

access_rules

AccessRules is a list of access rules defining the resources this Workflow provides access to.

approval_flow_id

Optional approval flow ID identifies an approval flow that linked to the workflow

auto_grant

Optional auto grant setting to automatically approve requests or not, defaults to false.

description

Optional description of the Workflow.

enabled

Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.

id

Unique identifier of the Workflow.

name

Unique human-readable name of the Workflow.

weight

Optional weight for workflow to specify it's priority in matching a request.

def to_dict(self)
37551    def to_dict(self):
37552        return {
37553            'access_request_fixed_duration':
37554            self.access_request_fixed_duration,
37555            'access_request_max_duration': self.access_request_max_duration,
37556            'access_rules': self.access_rules,
37557            'approval_flow_id': self.approval_flow_id,
37558            'auto_grant': self.auto_grant,
37559            'description': self.description,
37560            'enabled': self.enabled,
37561            'id': self.id,
37562            'name': self.name,
37563            'weight': self.weight,
37564        }
@classmethod
def from_dict(cls, d)
37566    @classmethod
37567    def from_dict(cls, d):
37568        return cls(
37569            access_request_fixed_duration=d.get(
37570                'access_request_fixed_duration'),
37571            access_request_max_duration=d.get('access_request_max_duration'),
37572            access_rules=d.get('access_rules'),
37573            approval_flow_id=d.get('approval_flow_id'),
37574            auto_grant=d.get('auto_grant'),
37575            description=d.get('description'),
37576            enabled=d.get('enabled'),
37577            id=d.get('id'),
37578            name=d.get('name'),
37579            weight=d.get('weight'),
37580        )
class WorkflowApprover:
37583class WorkflowApprover:
37584    '''
37585         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
37586    WorkflowApprover is deprecated, see docs for more info.
37587    '''
37588    __slots__ = [
37589        'account_id',
37590        'id',
37591        'role_id',
37592        'workflow_id',
37593    ]
37594
37595    def __init__(
37596        self,
37597        account_id=None,
37598        id=None,
37599        role_id=None,
37600        workflow_id=None,
37601    ):
37602        self.account_id = account_id if account_id is not None else ''
37603        '''
37604         The approver account id.
37605        '''
37606        self.id = id if id is not None else ''
37607        '''
37608         Unique identifier of the WorkflowApprover.
37609        '''
37610        self.role_id = role_id if role_id is not None else ''
37611        '''
37612         The approver role id
37613        '''
37614        self.workflow_id = workflow_id if workflow_id is not None else ''
37615        '''
37616         The workflow id.
37617        '''
37618
37619    def __repr__(self):
37620        return '<sdm.WorkflowApprover ' + \
37621            'account_id: ' + repr(self.account_id) + ' ' +\
37622            'id: ' + repr(self.id) + ' ' +\
37623            'role_id: ' + repr(self.role_id) + ' ' +\
37624            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
37625            '>'
37626
37627    def to_dict(self):
37628        return {
37629            'account_id': self.account_id,
37630            'id': self.id,
37631            'role_id': self.role_id,
37632            'workflow_id': self.workflow_id,
37633        }
37634
37635    @classmethod
37636    def from_dict(cls, d):
37637        return cls(
37638            account_id=d.get('account_id'),
37639            id=d.get('id'),
37640            role_id=d.get('role_id'),
37641            workflow_id=d.get('workflow_id'),
37642        )

WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow. WorkflowApprover is deprecated, see docs for more info.

WorkflowApprover(account_id=None, id=None, role_id=None, workflow_id=None)
37595    def __init__(
37596        self,
37597        account_id=None,
37598        id=None,
37599        role_id=None,
37600        workflow_id=None,
37601    ):
37602        self.account_id = account_id if account_id is not None else ''
37603        '''
37604         The approver account id.
37605        '''
37606        self.id = id if id is not None else ''
37607        '''
37608         Unique identifier of the WorkflowApprover.
37609        '''
37610        self.role_id = role_id if role_id is not None else ''
37611        '''
37612         The approver role id
37613        '''
37614        self.workflow_id = workflow_id if workflow_id is not None else ''
37615        '''
37616         The workflow id.
37617        '''
account_id

The approver account id.

id

Unique identifier of the WorkflowApprover.

role_id

The approver role id

workflow_id

The workflow id.

def to_dict(self)
37627    def to_dict(self):
37628        return {
37629            'account_id': self.account_id,
37630            'id': self.id,
37631            'role_id': self.role_id,
37632            'workflow_id': self.workflow_id,
37633        }
@classmethod
def from_dict(cls, d)
37635    @classmethod
37636    def from_dict(cls, d):
37637        return cls(
37638            account_id=d.get('account_id'),
37639            id=d.get('id'),
37640            role_id=d.get('role_id'),
37641            workflow_id=d.get('workflow_id'),
37642        )
class WorkflowApproverGetResponse:
37645class WorkflowApproverGetResponse:
37646    '''
37647         WorkflowApproverGetResponse returns a requested WorkflowApprover.
37648    '''
37649    __slots__ = [
37650        'meta',
37651        'rate_limit',
37652        'workflow_approver',
37653    ]
37654
37655    def __init__(
37656        self,
37657        meta=None,
37658        rate_limit=None,
37659        workflow_approver=None,
37660    ):
37661        self.meta = meta if meta is not None else None
37662        '''
37663         Reserved for future use.
37664        '''
37665        self.rate_limit = rate_limit if rate_limit is not None else None
37666        '''
37667         Rate limit information.
37668        '''
37669        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37670        '''
37671         The requested WorkflowApprover.
37672        '''
37673
37674    def __repr__(self):
37675        return '<sdm.WorkflowApproverGetResponse ' + \
37676            'meta: ' + repr(self.meta) + ' ' +\
37677            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37678            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37679            '>'
37680
37681    def to_dict(self):
37682        return {
37683            'meta': self.meta,
37684            'rate_limit': self.rate_limit,
37685            'workflow_approver': self.workflow_approver,
37686        }
37687
37688    @classmethod
37689    def from_dict(cls, d):
37690        return cls(
37691            meta=d.get('meta'),
37692            rate_limit=d.get('rate_limit'),
37693            workflow_approver=d.get('workflow_approver'),
37694        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
37655    def __init__(
37656        self,
37657        meta=None,
37658        rate_limit=None,
37659        workflow_approver=None,
37660    ):
37661        self.meta = meta if meta is not None else None
37662        '''
37663         Reserved for future use.
37664        '''
37665        self.rate_limit = rate_limit if rate_limit is not None else None
37666        '''
37667         Rate limit information.
37668        '''
37669        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37670        '''
37671         The requested WorkflowApprover.
37672        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
37681    def to_dict(self):
37682        return {
37683            'meta': self.meta,
37684            'rate_limit': self.rate_limit,
37685            'workflow_approver': self.workflow_approver,
37686        }
@classmethod
def from_dict(cls, d)
37688    @classmethod
37689    def from_dict(cls, d):
37690        return cls(
37691            meta=d.get('meta'),
37692            rate_limit=d.get('rate_limit'),
37693            workflow_approver=d.get('workflow_approver'),
37694        )
class WorkflowApproverHistory:
37697class WorkflowApproverHistory:
37698    '''
37699         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
37700    '''
37701    __slots__ = [
37702        'activity_id',
37703        'deleted_at',
37704        'timestamp',
37705        'workflow_approver',
37706    ]
37707
37708    def __init__(
37709        self,
37710        activity_id=None,
37711        deleted_at=None,
37712        timestamp=None,
37713        workflow_approver=None,
37714    ):
37715        self.activity_id = activity_id if activity_id is not None else ''
37716        '''
37717         The unique identifier of the Activity that produced this change to the WorkflowApprover.
37718         May be empty for some system-initiated updates.
37719        '''
37720        self.deleted_at = deleted_at if deleted_at is not None else None
37721        '''
37722         If this WorkflowApprover was deleted, the time it was deleted.
37723        '''
37724        self.timestamp = timestamp if timestamp is not None else None
37725        '''
37726         The time at which the WorkflowApprover state was recorded.
37727        '''
37728        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37729        '''
37730         The complete WorkflowApprover state at this time.
37731        '''
37732
37733    def __repr__(self):
37734        return '<sdm.WorkflowApproverHistory ' + \
37735            'activity_id: ' + repr(self.activity_id) + ' ' +\
37736            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
37737            'timestamp: ' + repr(self.timestamp) + ' ' +\
37738            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37739            '>'
37740
37741    def to_dict(self):
37742        return {
37743            'activity_id': self.activity_id,
37744            'deleted_at': self.deleted_at,
37745            'timestamp': self.timestamp,
37746            'workflow_approver': self.workflow_approver,
37747        }
37748
37749    @classmethod
37750    def from_dict(cls, d):
37751        return cls(
37752            activity_id=d.get('activity_id'),
37753            deleted_at=d.get('deleted_at'),
37754            timestamp=d.get('timestamp'),
37755            workflow_approver=d.get('workflow_approver'),
37756        )

WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
37708    def __init__(
37709        self,
37710        activity_id=None,
37711        deleted_at=None,
37712        timestamp=None,
37713        workflow_approver=None,
37714    ):
37715        self.activity_id = activity_id if activity_id is not None else ''
37716        '''
37717         The unique identifier of the Activity that produced this change to the WorkflowApprover.
37718         May be empty for some system-initiated updates.
37719        '''
37720        self.deleted_at = deleted_at if deleted_at is not None else None
37721        '''
37722         If this WorkflowApprover was deleted, the time it was deleted.
37723        '''
37724        self.timestamp = timestamp if timestamp is not None else None
37725        '''
37726         The time at which the WorkflowApprover state was recorded.
37727        '''
37728        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37729        '''
37730         The complete WorkflowApprover state at this time.
37731        '''
activity_id

The unique identifier of the Activity that produced this change to the WorkflowApprover. May be empty for some system-initiated updates.

deleted_at

If this WorkflowApprover was deleted, the time it was deleted.

timestamp

The time at which the WorkflowApprover state was recorded.

workflow_approver

The complete WorkflowApprover state at this time.

def to_dict(self)
37741    def to_dict(self):
37742        return {
37743            'activity_id': self.activity_id,
37744            'deleted_at': self.deleted_at,
37745            'timestamp': self.timestamp,
37746            'workflow_approver': self.workflow_approver,
37747        }
@classmethod
def from_dict(cls, d)
37749    @classmethod
37750    def from_dict(cls, d):
37751        return cls(
37752            activity_id=d.get('activity_id'),
37753            deleted_at=d.get('deleted_at'),
37754            timestamp=d.get('timestamp'),
37755            workflow_approver=d.get('workflow_approver'),
37756        )
class WorkflowApproversCreateRequest:
37759class WorkflowApproversCreateRequest:
37760    '''
37761         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
37762     workflow approver to be created.
37763    '''
37764    __slots__ = [
37765        'workflow_approver',
37766    ]
37767
37768    def __init__(
37769        self,
37770        workflow_approver=None,
37771    ):
37772        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37773        '''
37774         Parameters to define the new WorkflowApprover.
37775        '''
37776
37777    def __repr__(self):
37778        return '<sdm.WorkflowApproversCreateRequest ' + \
37779            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37780            '>'
37781
37782    def to_dict(self):
37783        return {
37784            'workflow_approver': self.workflow_approver,
37785        }
37786
37787    @classmethod
37788    def from_dict(cls, d):
37789        return cls(workflow_approver=d.get('workflow_approver'), )

WorkflowApproversCreateRequest specifies the workflowID and approverID of a new workflow approver to be created.

WorkflowApproversCreateRequest(workflow_approver=None)
37768    def __init__(
37769        self,
37770        workflow_approver=None,
37771    ):
37772        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37773        '''
37774         Parameters to define the new WorkflowApprover.
37775        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
37782    def to_dict(self):
37783        return {
37784            'workflow_approver': self.workflow_approver,
37785        }
@classmethod
def from_dict(cls, d)
37787    @classmethod
37788    def from_dict(cls, d):
37789        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
37792class WorkflowApproversCreateResponse:
37793    '''
37794         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
37795    '''
37796    __slots__ = [
37797        'rate_limit',
37798        'workflow_approver',
37799    ]
37800
37801    def __init__(
37802        self,
37803        rate_limit=None,
37804        workflow_approver=None,
37805    ):
37806        self.rate_limit = rate_limit if rate_limit is not None else None
37807        '''
37808         Rate limit information.
37809        '''
37810        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37811        '''
37812         The created workflow approver.
37813        '''
37814
37815    def __repr__(self):
37816        return '<sdm.WorkflowApproversCreateResponse ' + \
37817            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37818            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
37819            '>'
37820
37821    def to_dict(self):
37822        return {
37823            'rate_limit': self.rate_limit,
37824            'workflow_approver': self.workflow_approver,
37825        }
37826
37827    @classmethod
37828    def from_dict(cls, d):
37829        return cls(
37830            rate_limit=d.get('rate_limit'),
37831            workflow_approver=d.get('workflow_approver'),
37832        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
37801    def __init__(
37802        self,
37803        rate_limit=None,
37804        workflow_approver=None,
37805    ):
37806        self.rate_limit = rate_limit if rate_limit is not None else None
37807        '''
37808         Rate limit information.
37809        '''
37810        self.workflow_approver = workflow_approver if workflow_approver is not None else None
37811        '''
37812         The created workflow approver.
37813        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
37821    def to_dict(self):
37822        return {
37823            'rate_limit': self.rate_limit,
37824            'workflow_approver': self.workflow_approver,
37825        }
@classmethod
def from_dict(cls, d)
37827    @classmethod
37828    def from_dict(cls, d):
37829        return cls(
37830            rate_limit=d.get('rate_limit'),
37831            workflow_approver=d.get('workflow_approver'),
37832        )
class WorkflowApproversDeleteRequest:
37835class WorkflowApproversDeleteRequest:
37836    '''
37837         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
37838    '''
37839    __slots__ = [
37840        'id',
37841    ]
37842
37843    def __init__(
37844        self,
37845        id=None,
37846    ):
37847        self.id = id if id is not None else ''
37848        '''
37849         The unique identifier of the WorkflowApprover to delete.
37850        '''
37851
37852    def __repr__(self):
37853        return '<sdm.WorkflowApproversDeleteRequest ' + \
37854            'id: ' + repr(self.id) + ' ' +\
37855            '>'
37856
37857    def to_dict(self):
37858        return {
37859            'id': self.id,
37860        }
37861
37862    @classmethod
37863    def from_dict(cls, d):
37864        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
37843    def __init__(
37844        self,
37845        id=None,
37846    ):
37847        self.id = id if id is not None else ''
37848        '''
37849         The unique identifier of the WorkflowApprover to delete.
37850        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
37857    def to_dict(self):
37858        return {
37859            'id': self.id,
37860        }
@classmethod
def from_dict(cls, d)
37862    @classmethod
37863    def from_dict(cls, d):
37864        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
37867class WorkflowApproversDeleteResponse:
37868    '''
37869         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
37870    '''
37871    __slots__ = [
37872        'rate_limit',
37873    ]
37874
37875    def __init__(
37876        self,
37877        rate_limit=None,
37878    ):
37879        self.rate_limit = rate_limit if rate_limit is not None else None
37880        '''
37881         Rate limit information.
37882        '''
37883
37884    def __repr__(self):
37885        return '<sdm.WorkflowApproversDeleteResponse ' + \
37886            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37887            '>'
37888
37889    def to_dict(self):
37890        return {
37891            'rate_limit': self.rate_limit,
37892        }
37893
37894    @classmethod
37895    def from_dict(cls, d):
37896        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
37875    def __init__(
37876        self,
37877        rate_limit=None,
37878    ):
37879        self.rate_limit = rate_limit if rate_limit is not None else None
37880        '''
37881         Rate limit information.
37882        '''
rate_limit

Rate limit information.

def to_dict(self)
37889    def to_dict(self):
37890        return {
37891            'rate_limit': self.rate_limit,
37892        }
@classmethod
def from_dict(cls, d)
37894    @classmethod
37895    def from_dict(cls, d):
37896        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
37899class WorkflowApproversListRequest:
37900    '''
37901         WorkflowApproversListRequest specifies criteria for retrieving a list of
37902     WorkflowApprover records
37903    '''
37904    __slots__ = [
37905        'filter',
37906    ]
37907
37908    def __init__(
37909        self,
37910        filter=None,
37911    ):
37912        self.filter = filter if filter is not None else ''
37913        '''
37914         A human-readable filter query string.
37915        '''
37916
37917    def __repr__(self):
37918        return '<sdm.WorkflowApproversListRequest ' + \
37919            'filter: ' + repr(self.filter) + ' ' +\
37920            '>'
37921
37922    def to_dict(self):
37923        return {
37924            'filter': self.filter,
37925        }
37926
37927    @classmethod
37928    def from_dict(cls, d):
37929        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
37908    def __init__(
37909        self,
37910        filter=None,
37911    ):
37912        self.filter = filter if filter is not None else ''
37913        '''
37914         A human-readable filter query string.
37915        '''
filter

A human-readable filter query string.

def to_dict(self)
37922    def to_dict(self):
37923        return {
37924            'filter': self.filter,
37925        }
@classmethod
def from_dict(cls, d)
37927    @classmethod
37928    def from_dict(cls, d):
37929        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
37932class WorkflowApproversListResponse:
37933    '''
37934         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
37935     the criteria of a WorkflowApproversListRequest.
37936    '''
37937    __slots__ = [
37938        'rate_limit',
37939    ]
37940
37941    def __init__(
37942        self,
37943        rate_limit=None,
37944    ):
37945        self.rate_limit = rate_limit if rate_limit is not None else None
37946        '''
37947         Rate limit information.
37948        '''
37949
37950    def __repr__(self):
37951        return '<sdm.WorkflowApproversListResponse ' + \
37952            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37953            '>'
37954
37955    def to_dict(self):
37956        return {
37957            'rate_limit': self.rate_limit,
37958        }
37959
37960    @classmethod
37961    def from_dict(cls, d):
37962        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversListResponse returns a list of WorkflowApprover records that meet the criteria of a WorkflowApproversListRequest.

WorkflowApproversListResponse(rate_limit=None)
37941    def __init__(
37942        self,
37943        rate_limit=None,
37944    ):
37945        self.rate_limit = rate_limit if rate_limit is not None else None
37946        '''
37947         Rate limit information.
37948        '''
rate_limit

Rate limit information.

def to_dict(self)
37955    def to_dict(self):
37956        return {
37957            'rate_limit': self.rate_limit,
37958        }
@classmethod
def from_dict(cls, d)
37960    @classmethod
37961    def from_dict(cls, d):
37962        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
37965class WorkflowCreateResponse:
37966    '''
37967         WorkflowCreateResponse reports how the Workflow was created in the system.
37968    '''
37969    __slots__ = [
37970        'rate_limit',
37971        'workflow',
37972    ]
37973
37974    def __init__(
37975        self,
37976        rate_limit=None,
37977        workflow=None,
37978    ):
37979        self.rate_limit = rate_limit if rate_limit is not None else None
37980        '''
37981         Rate limit information.
37982        '''
37983        self.workflow = workflow if workflow is not None else None
37984        '''
37985         The created workflow.
37986        '''
37987
37988    def __repr__(self):
37989        return '<sdm.WorkflowCreateResponse ' + \
37990            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
37991            'workflow: ' + repr(self.workflow) + ' ' +\
37992            '>'
37993
37994    def to_dict(self):
37995        return {
37996            'rate_limit': self.rate_limit,
37997            'workflow': self.workflow,
37998        }
37999
38000    @classmethod
38001    def from_dict(cls, d):
38002        return cls(
38003            rate_limit=d.get('rate_limit'),
38004            workflow=d.get('workflow'),
38005        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
37974    def __init__(
37975        self,
37976        rate_limit=None,
37977        workflow=None,
37978    ):
37979        self.rate_limit = rate_limit if rate_limit is not None else None
37980        '''
37981         Rate limit information.
37982        '''
37983        self.workflow = workflow if workflow is not None else None
37984        '''
37985         The created workflow.
37986        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
37994    def to_dict(self):
37995        return {
37996            'rate_limit': self.rate_limit,
37997            'workflow': self.workflow,
37998        }
@classmethod
def from_dict(cls, d)
38000    @classmethod
38001    def from_dict(cls, d):
38002        return cls(
38003            rate_limit=d.get('rate_limit'),
38004            workflow=d.get('workflow'),
38005        )
class WorkflowDeleteResponse:
38008class WorkflowDeleteResponse:
38009    '''
38010         WorkflowDeleteResponse returns information about a Workflow that was deleted.
38011    '''
38012    __slots__ = [
38013        'id',
38014        'rate_limit',
38015    ]
38016
38017    def __init__(
38018        self,
38019        id=None,
38020        rate_limit=None,
38021    ):
38022        self.id = id if id is not None else ''
38023        '''
38024         The deleted workflow id.
38025        '''
38026        self.rate_limit = rate_limit if rate_limit is not None else None
38027        '''
38028         Rate limit information.
38029        '''
38030
38031    def __repr__(self):
38032        return '<sdm.WorkflowDeleteResponse ' + \
38033            'id: ' + repr(self.id) + ' ' +\
38034            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38035            '>'
38036
38037    def to_dict(self):
38038        return {
38039            'id': self.id,
38040            'rate_limit': self.rate_limit,
38041        }
38042
38043    @classmethod
38044    def from_dict(cls, d):
38045        return cls(
38046            id=d.get('id'),
38047            rate_limit=d.get('rate_limit'),
38048        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
38017    def __init__(
38018        self,
38019        id=None,
38020        rate_limit=None,
38021    ):
38022        self.id = id if id is not None else ''
38023        '''
38024         The deleted workflow id.
38025        '''
38026        self.rate_limit = rate_limit if rate_limit is not None else None
38027        '''
38028         Rate limit information.
38029        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
38037    def to_dict(self):
38038        return {
38039            'id': self.id,
38040            'rate_limit': self.rate_limit,
38041        }
@classmethod
def from_dict(cls, d)
38043    @classmethod
38044    def from_dict(cls, d):
38045        return cls(
38046            id=d.get('id'),
38047            rate_limit=d.get('rate_limit'),
38048        )
class WorkflowGetResponse:
38051class WorkflowGetResponse:
38052    '''
38053         WorkflowGetResponse returns a requested Workflow.
38054    '''
38055    __slots__ = [
38056        'meta',
38057        'rate_limit',
38058        'workflow',
38059    ]
38060
38061    def __init__(
38062        self,
38063        meta=None,
38064        rate_limit=None,
38065        workflow=None,
38066    ):
38067        self.meta = meta if meta is not None else None
38068        '''
38069         Reserved for future use.
38070        '''
38071        self.rate_limit = rate_limit if rate_limit is not None else None
38072        '''
38073         Rate limit information.
38074        '''
38075        self.workflow = workflow if workflow is not None else None
38076        '''
38077         The requested Workflow.
38078        '''
38079
38080    def __repr__(self):
38081        return '<sdm.WorkflowGetResponse ' + \
38082            'meta: ' + repr(self.meta) + ' ' +\
38083            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38084            'workflow: ' + repr(self.workflow) + ' ' +\
38085            '>'
38086
38087    def to_dict(self):
38088        return {
38089            'meta': self.meta,
38090            'rate_limit': self.rate_limit,
38091            'workflow': self.workflow,
38092        }
38093
38094    @classmethod
38095    def from_dict(cls, d):
38096        return cls(
38097            meta=d.get('meta'),
38098            rate_limit=d.get('rate_limit'),
38099            workflow=d.get('workflow'),
38100        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
38061    def __init__(
38062        self,
38063        meta=None,
38064        rate_limit=None,
38065        workflow=None,
38066    ):
38067        self.meta = meta if meta is not None else None
38068        '''
38069         Reserved for future use.
38070        '''
38071        self.rate_limit = rate_limit if rate_limit is not None else None
38072        '''
38073         Rate limit information.
38074        '''
38075        self.workflow = workflow if workflow is not None else None
38076        '''
38077         The requested Workflow.
38078        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
38087    def to_dict(self):
38088        return {
38089            'meta': self.meta,
38090            'rate_limit': self.rate_limit,
38091            'workflow': self.workflow,
38092        }
@classmethod
def from_dict(cls, d)
38094    @classmethod
38095    def from_dict(cls, d):
38096        return cls(
38097            meta=d.get('meta'),
38098            rate_limit=d.get('rate_limit'),
38099            workflow=d.get('workflow'),
38100        )
class WorkflowHistory:
38103class WorkflowHistory:
38104    '''
38105         WorkflowsHistory provides records of all changes to the state of a Workflow.
38106    '''
38107    __slots__ = [
38108        'activity_id',
38109        'deleted_at',
38110        'timestamp',
38111        'workflow',
38112    ]
38113
38114    def __init__(
38115        self,
38116        activity_id=None,
38117        deleted_at=None,
38118        timestamp=None,
38119        workflow=None,
38120    ):
38121        self.activity_id = activity_id if activity_id is not None else ''
38122        '''
38123         The unique identifier of the Activity that produced this change to the Workflow.
38124         May be empty for some system-initiated updates.
38125        '''
38126        self.deleted_at = deleted_at if deleted_at is not None else None
38127        '''
38128         If this Workflow was deleted, the time it was deleted.
38129        '''
38130        self.timestamp = timestamp if timestamp is not None else None
38131        '''
38132         The time at which the Workflow state was recorded.
38133        '''
38134        self.workflow = workflow if workflow is not None else None
38135        '''
38136         The complete Workflow state at this time.
38137        '''
38138
38139    def __repr__(self):
38140        return '<sdm.WorkflowHistory ' + \
38141            'activity_id: ' + repr(self.activity_id) + ' ' +\
38142            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
38143            'timestamp: ' + repr(self.timestamp) + ' ' +\
38144            'workflow: ' + repr(self.workflow) + ' ' +\
38145            '>'
38146
38147    def to_dict(self):
38148        return {
38149            'activity_id': self.activity_id,
38150            'deleted_at': self.deleted_at,
38151            'timestamp': self.timestamp,
38152            'workflow': self.workflow,
38153        }
38154
38155    @classmethod
38156    def from_dict(cls, d):
38157        return cls(
38158            activity_id=d.get('activity_id'),
38159            deleted_at=d.get('deleted_at'),
38160            timestamp=d.get('timestamp'),
38161            workflow=d.get('workflow'),
38162        )

WorkflowsHistory provides records of all changes to the state of a Workflow.

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
38114    def __init__(
38115        self,
38116        activity_id=None,
38117        deleted_at=None,
38118        timestamp=None,
38119        workflow=None,
38120    ):
38121        self.activity_id = activity_id if activity_id is not None else ''
38122        '''
38123         The unique identifier of the Activity that produced this change to the Workflow.
38124         May be empty for some system-initiated updates.
38125        '''
38126        self.deleted_at = deleted_at if deleted_at is not None else None
38127        '''
38128         If this Workflow was deleted, the time it was deleted.
38129        '''
38130        self.timestamp = timestamp if timestamp is not None else None
38131        '''
38132         The time at which the Workflow state was recorded.
38133        '''
38134        self.workflow = workflow if workflow is not None else None
38135        '''
38136         The complete Workflow state at this time.
38137        '''
activity_id

The unique identifier of the Activity that produced this change to the Workflow. May be empty for some system-initiated updates.

deleted_at

If this Workflow was deleted, the time it was deleted.

timestamp

The time at which the Workflow state was recorded.

workflow

The complete Workflow state at this time.

def to_dict(self)
38147    def to_dict(self):
38148        return {
38149            'activity_id': self.activity_id,
38150            'deleted_at': self.deleted_at,
38151            'timestamp': self.timestamp,
38152            'workflow': self.workflow,
38153        }
@classmethod
def from_dict(cls, d)
38155    @classmethod
38156    def from_dict(cls, d):
38157        return cls(
38158            activity_id=d.get('activity_id'),
38159            deleted_at=d.get('deleted_at'),
38160            timestamp=d.get('timestamp'),
38161            workflow=d.get('workflow'),
38162        )
class WorkflowListResponse:
38165class WorkflowListResponse:
38166    '''
38167         WorkflowListResponse returns a list of Workflow records that meet
38168     the criteria of a WorkflowListRequest.
38169    '''
38170    __slots__ = [
38171        'rate_limit',
38172    ]
38173
38174    def __init__(
38175        self,
38176        rate_limit=None,
38177    ):
38178        self.rate_limit = rate_limit if rate_limit is not None else None
38179        '''
38180         Rate limit information.
38181        '''
38182
38183    def __repr__(self):
38184        return '<sdm.WorkflowListResponse ' + \
38185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38186            '>'
38187
38188    def to_dict(self):
38189        return {
38190            'rate_limit': self.rate_limit,
38191        }
38192
38193    @classmethod
38194    def from_dict(cls, d):
38195        return cls(rate_limit=d.get('rate_limit'), )

WorkflowListResponse returns a list of Workflow records that meet the criteria of a WorkflowListRequest.

WorkflowListResponse(rate_limit=None)
38174    def __init__(
38175        self,
38176        rate_limit=None,
38177    ):
38178        self.rate_limit = rate_limit if rate_limit is not None else None
38179        '''
38180         Rate limit information.
38181        '''
rate_limit

Rate limit information.

def to_dict(self)
38188    def to_dict(self):
38189        return {
38190            'rate_limit': self.rate_limit,
38191        }
@classmethod
def from_dict(cls, d)
38193    @classmethod
38194    def from_dict(cls, d):
38195        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
38198class WorkflowRole:
38199    '''
38200         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
38201     to request access to a resource via the workflow.
38202    '''
38203    __slots__ = [
38204        'id',
38205        'role_id',
38206        'workflow_id',
38207    ]
38208
38209    def __init__(
38210        self,
38211        id=None,
38212        role_id=None,
38213        workflow_id=None,
38214    ):
38215        self.id = id if id is not None else ''
38216        '''
38217         Unique identifier of the WorkflowRole.
38218        '''
38219        self.role_id = role_id if role_id is not None else ''
38220        '''
38221         The role id.
38222        '''
38223        self.workflow_id = workflow_id if workflow_id is not None else ''
38224        '''
38225         The workflow id.
38226        '''
38227
38228    def __repr__(self):
38229        return '<sdm.WorkflowRole ' + \
38230            'id: ' + repr(self.id) + ' ' +\
38231            'role_id: ' + repr(self.role_id) + ' ' +\
38232            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
38233            '>'
38234
38235    def to_dict(self):
38236        return {
38237            'id': self.id,
38238            'role_id': self.role_id,
38239            'workflow_id': self.workflow_id,
38240        }
38241
38242    @classmethod
38243    def from_dict(cls, d):
38244        return cls(
38245            id=d.get('id'),
38246            role_id=d.get('role_id'),
38247            workflow_id=d.get('workflow_id'),
38248        )

WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of to request access to a resource via the workflow.

WorkflowRole(id=None, role_id=None, workflow_id=None)
38209    def __init__(
38210        self,
38211        id=None,
38212        role_id=None,
38213        workflow_id=None,
38214    ):
38215        self.id = id if id is not None else ''
38216        '''
38217         Unique identifier of the WorkflowRole.
38218        '''
38219        self.role_id = role_id if role_id is not None else ''
38220        '''
38221         The role id.
38222        '''
38223        self.workflow_id = workflow_id if workflow_id is not None else ''
38224        '''
38225         The workflow id.
38226        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
38235    def to_dict(self):
38236        return {
38237            'id': self.id,
38238            'role_id': self.role_id,
38239            'workflow_id': self.workflow_id,
38240        }
@classmethod
def from_dict(cls, d)
38242    @classmethod
38243    def from_dict(cls, d):
38244        return cls(
38245            id=d.get('id'),
38246            role_id=d.get('role_id'),
38247            workflow_id=d.get('workflow_id'),
38248        )
class WorkflowRoleGetResponse:
38251class WorkflowRoleGetResponse:
38252    '''
38253         WorkflowRoleGetResponse returns a requested WorkflowRole.
38254    '''
38255    __slots__ = [
38256        'meta',
38257        'rate_limit',
38258        'workflow_role',
38259    ]
38260
38261    def __init__(
38262        self,
38263        meta=None,
38264        rate_limit=None,
38265        workflow_role=None,
38266    ):
38267        self.meta = meta if meta is not None else None
38268        '''
38269         Reserved for future use.
38270        '''
38271        self.rate_limit = rate_limit if rate_limit is not None else None
38272        '''
38273         Rate limit information.
38274        '''
38275        self.workflow_role = workflow_role if workflow_role is not None else None
38276        '''
38277         The requested WorkflowRole.
38278        '''
38279
38280    def __repr__(self):
38281        return '<sdm.WorkflowRoleGetResponse ' + \
38282            'meta: ' + repr(self.meta) + ' ' +\
38283            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38284            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38285            '>'
38286
38287    def to_dict(self):
38288        return {
38289            'meta': self.meta,
38290            'rate_limit': self.rate_limit,
38291            'workflow_role': self.workflow_role,
38292        }
38293
38294    @classmethod
38295    def from_dict(cls, d):
38296        return cls(
38297            meta=d.get('meta'),
38298            rate_limit=d.get('rate_limit'),
38299            workflow_role=d.get('workflow_role'),
38300        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
38261    def __init__(
38262        self,
38263        meta=None,
38264        rate_limit=None,
38265        workflow_role=None,
38266    ):
38267        self.meta = meta if meta is not None else None
38268        '''
38269         Reserved for future use.
38270        '''
38271        self.rate_limit = rate_limit if rate_limit is not None else None
38272        '''
38273         Rate limit information.
38274        '''
38275        self.workflow_role = workflow_role if workflow_role is not None else None
38276        '''
38277         The requested WorkflowRole.
38278        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
38287    def to_dict(self):
38288        return {
38289            'meta': self.meta,
38290            'rate_limit': self.rate_limit,
38291            'workflow_role': self.workflow_role,
38292        }
@classmethod
def from_dict(cls, d)
38294    @classmethod
38295    def from_dict(cls, d):
38296        return cls(
38297            meta=d.get('meta'),
38298            rate_limit=d.get('rate_limit'),
38299            workflow_role=d.get('workflow_role'),
38300        )
class WorkflowRoleHistory:
38303class WorkflowRoleHistory:
38304    '''
38305         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
38306    '''
38307    __slots__ = [
38308        'activity_id',
38309        'deleted_at',
38310        'timestamp',
38311        'workflow_role',
38312    ]
38313
38314    def __init__(
38315        self,
38316        activity_id=None,
38317        deleted_at=None,
38318        timestamp=None,
38319        workflow_role=None,
38320    ):
38321        self.activity_id = activity_id if activity_id is not None else ''
38322        '''
38323         The unique identifier of the Activity that produced this change to the WorkflowRole.
38324         May be empty for some system-initiated updates.
38325        '''
38326        self.deleted_at = deleted_at if deleted_at is not None else None
38327        '''
38328         If this WorkflowRole was deleted, the time it was deleted.
38329        '''
38330        self.timestamp = timestamp if timestamp is not None else None
38331        '''
38332         The time at which the WorkflowRole state was recorded.
38333        '''
38334        self.workflow_role = workflow_role if workflow_role is not None else None
38335        '''
38336         The complete WorkflowRole state at this time.
38337        '''
38338
38339    def __repr__(self):
38340        return '<sdm.WorkflowRoleHistory ' + \
38341            'activity_id: ' + repr(self.activity_id) + ' ' +\
38342            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
38343            'timestamp: ' + repr(self.timestamp) + ' ' +\
38344            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38345            '>'
38346
38347    def to_dict(self):
38348        return {
38349            'activity_id': self.activity_id,
38350            'deleted_at': self.deleted_at,
38351            'timestamp': self.timestamp,
38352            'workflow_role': self.workflow_role,
38353        }
38354
38355    @classmethod
38356    def from_dict(cls, d):
38357        return cls(
38358            activity_id=d.get('activity_id'),
38359            deleted_at=d.get('deleted_at'),
38360            timestamp=d.get('timestamp'),
38361            workflow_role=d.get('workflow_role'),
38362        )

WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
38314    def __init__(
38315        self,
38316        activity_id=None,
38317        deleted_at=None,
38318        timestamp=None,
38319        workflow_role=None,
38320    ):
38321        self.activity_id = activity_id if activity_id is not None else ''
38322        '''
38323         The unique identifier of the Activity that produced this change to the WorkflowRole.
38324         May be empty for some system-initiated updates.
38325        '''
38326        self.deleted_at = deleted_at if deleted_at is not None else None
38327        '''
38328         If this WorkflowRole was deleted, the time it was deleted.
38329        '''
38330        self.timestamp = timestamp if timestamp is not None else None
38331        '''
38332         The time at which the WorkflowRole state was recorded.
38333        '''
38334        self.workflow_role = workflow_role if workflow_role is not None else None
38335        '''
38336         The complete WorkflowRole state at this time.
38337        '''
activity_id

The unique identifier of the Activity that produced this change to the WorkflowRole. May be empty for some system-initiated updates.

deleted_at

If this WorkflowRole was deleted, the time it was deleted.

timestamp

The time at which the WorkflowRole state was recorded.

workflow_role

The complete WorkflowRole state at this time.

def to_dict(self)
38347    def to_dict(self):
38348        return {
38349            'activity_id': self.activity_id,
38350            'deleted_at': self.deleted_at,
38351            'timestamp': self.timestamp,
38352            'workflow_role': self.workflow_role,
38353        }
@classmethod
def from_dict(cls, d)
38355    @classmethod
38356    def from_dict(cls, d):
38357        return cls(
38358            activity_id=d.get('activity_id'),
38359            deleted_at=d.get('deleted_at'),
38360            timestamp=d.get('timestamp'),
38361            workflow_role=d.get('workflow_role'),
38362        )
class WorkflowRolesCreateRequest:
38365class WorkflowRolesCreateRequest:
38366    '''
38367         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
38368     workflow role to be created.
38369    '''
38370    __slots__ = [
38371        'workflow_role',
38372    ]
38373
38374    def __init__(
38375        self,
38376        workflow_role=None,
38377    ):
38378        self.workflow_role = workflow_role if workflow_role is not None else None
38379        '''
38380         Parameters to define the new WorkflowRole.
38381        '''
38382
38383    def __repr__(self):
38384        return '<sdm.WorkflowRolesCreateRequest ' + \
38385            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38386            '>'
38387
38388    def to_dict(self):
38389        return {
38390            'workflow_role': self.workflow_role,
38391        }
38392
38393    @classmethod
38394    def from_dict(cls, d):
38395        return cls(workflow_role=d.get('workflow_role'), )

WorkflowRolesCreateRequest specifies the workflowID and roleID of a new workflow role to be created.

WorkflowRolesCreateRequest(workflow_role=None)
38374    def __init__(
38375        self,
38376        workflow_role=None,
38377    ):
38378        self.workflow_role = workflow_role if workflow_role is not None else None
38379        '''
38380         Parameters to define the new WorkflowRole.
38381        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
38388    def to_dict(self):
38389        return {
38390            'workflow_role': self.workflow_role,
38391        }
@classmethod
def from_dict(cls, d)
38393    @classmethod
38394    def from_dict(cls, d):
38395        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
38398class WorkflowRolesCreateResponse:
38399    '''
38400         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
38401    '''
38402    __slots__ = [
38403        'rate_limit',
38404        'workflow_role',
38405    ]
38406
38407    def __init__(
38408        self,
38409        rate_limit=None,
38410        workflow_role=None,
38411    ):
38412        self.rate_limit = rate_limit if rate_limit is not None else None
38413        '''
38414         Rate limit information.
38415        '''
38416        self.workflow_role = workflow_role if workflow_role is not None else None
38417        '''
38418         The created workflow role.
38419        '''
38420
38421    def __repr__(self):
38422        return '<sdm.WorkflowRolesCreateResponse ' + \
38423            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38424            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
38425            '>'
38426
38427    def to_dict(self):
38428        return {
38429            'rate_limit': self.rate_limit,
38430            'workflow_role': self.workflow_role,
38431        }
38432
38433    @classmethod
38434    def from_dict(cls, d):
38435        return cls(
38436            rate_limit=d.get('rate_limit'),
38437            workflow_role=d.get('workflow_role'),
38438        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
38407    def __init__(
38408        self,
38409        rate_limit=None,
38410        workflow_role=None,
38411    ):
38412        self.rate_limit = rate_limit if rate_limit is not None else None
38413        '''
38414         Rate limit information.
38415        '''
38416        self.workflow_role = workflow_role if workflow_role is not None else None
38417        '''
38418         The created workflow role.
38419        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
38427    def to_dict(self):
38428        return {
38429            'rate_limit': self.rate_limit,
38430            'workflow_role': self.workflow_role,
38431        }
@classmethod
def from_dict(cls, d)
38433    @classmethod
38434    def from_dict(cls, d):
38435        return cls(
38436            rate_limit=d.get('rate_limit'),
38437            workflow_role=d.get('workflow_role'),
38438        )
class WorkflowRolesDeleteRequest:
38441class WorkflowRolesDeleteRequest:
38442    '''
38443         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
38444    '''
38445    __slots__ = [
38446        'id',
38447    ]
38448
38449    def __init__(
38450        self,
38451        id=None,
38452    ):
38453        self.id = id if id is not None else ''
38454        '''
38455         The unique identifier of the WorkflowRole to delete.
38456        '''
38457
38458    def __repr__(self):
38459        return '<sdm.WorkflowRolesDeleteRequest ' + \
38460            'id: ' + repr(self.id) + ' ' +\
38461            '>'
38462
38463    def to_dict(self):
38464        return {
38465            'id': self.id,
38466        }
38467
38468    @classmethod
38469    def from_dict(cls, d):
38470        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
38449    def __init__(
38450        self,
38451        id=None,
38452    ):
38453        self.id = id if id is not None else ''
38454        '''
38455         The unique identifier of the WorkflowRole to delete.
38456        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
38463    def to_dict(self):
38464        return {
38465            'id': self.id,
38466        }
@classmethod
def from_dict(cls, d)
38468    @classmethod
38469    def from_dict(cls, d):
38470        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
38473class WorkflowRolesDeleteResponse:
38474    '''
38475         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
38476    '''
38477    __slots__ = [
38478        'rate_limit',
38479    ]
38480
38481    def __init__(
38482        self,
38483        rate_limit=None,
38484    ):
38485        self.rate_limit = rate_limit if rate_limit is not None else None
38486        '''
38487         Rate limit information.
38488        '''
38489
38490    def __repr__(self):
38491        return '<sdm.WorkflowRolesDeleteResponse ' + \
38492            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38493            '>'
38494
38495    def to_dict(self):
38496        return {
38497            'rate_limit': self.rate_limit,
38498        }
38499
38500    @classmethod
38501    def from_dict(cls, d):
38502        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
38481    def __init__(
38482        self,
38483        rate_limit=None,
38484    ):
38485        self.rate_limit = rate_limit if rate_limit is not None else None
38486        '''
38487         Rate limit information.
38488        '''
rate_limit

Rate limit information.

def to_dict(self)
38495    def to_dict(self):
38496        return {
38497            'rate_limit': self.rate_limit,
38498        }
@classmethod
def from_dict(cls, d)
38500    @classmethod
38501    def from_dict(cls, d):
38502        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
38505class WorkflowRolesListRequest:
38506    '''
38507         WorkflowRolesListRequest specifies criteria for retrieving a list of
38508     WorkflowRole records
38509    '''
38510    __slots__ = [
38511        'filter',
38512    ]
38513
38514    def __init__(
38515        self,
38516        filter=None,
38517    ):
38518        self.filter = filter if filter is not None else ''
38519        '''
38520         A human-readable filter query string.
38521        '''
38522
38523    def __repr__(self):
38524        return '<sdm.WorkflowRolesListRequest ' + \
38525            'filter: ' + repr(self.filter) + ' ' +\
38526            '>'
38527
38528    def to_dict(self):
38529        return {
38530            'filter': self.filter,
38531        }
38532
38533    @classmethod
38534    def from_dict(cls, d):
38535        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
38514    def __init__(
38515        self,
38516        filter=None,
38517    ):
38518        self.filter = filter if filter is not None else ''
38519        '''
38520         A human-readable filter query string.
38521        '''
filter

A human-readable filter query string.

def to_dict(self)
38528    def to_dict(self):
38529        return {
38530            'filter': self.filter,
38531        }
@classmethod
def from_dict(cls, d)
38533    @classmethod
38534    def from_dict(cls, d):
38535        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
38538class WorkflowRolesListResponse:
38539    '''
38540         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
38541     the criteria of a WorkflowRolesListRequest.
38542    '''
38543    __slots__ = [
38544        'rate_limit',
38545    ]
38546
38547    def __init__(
38548        self,
38549        rate_limit=None,
38550    ):
38551        self.rate_limit = rate_limit if rate_limit is not None else None
38552        '''
38553         Rate limit information.
38554        '''
38555
38556    def __repr__(self):
38557        return '<sdm.WorkflowRolesListResponse ' + \
38558            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38559            '>'
38560
38561    def to_dict(self):
38562        return {
38563            'rate_limit': self.rate_limit,
38564        }
38565
38566    @classmethod
38567    def from_dict(cls, d):
38568        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesListResponse returns a list of WorkflowRole records that meet the criteria of a WorkflowRolesListRequest.

WorkflowRolesListResponse(rate_limit=None)
38547    def __init__(
38548        self,
38549        rate_limit=None,
38550    ):
38551        self.rate_limit = rate_limit if rate_limit is not None else None
38552        '''
38553         Rate limit information.
38554        '''
rate_limit

Rate limit information.

def to_dict(self)
38561    def to_dict(self):
38562        return {
38563            'rate_limit': self.rate_limit,
38564        }
@classmethod
def from_dict(cls, d)
38566    @classmethod
38567    def from_dict(cls, d):
38568        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
38571class WorkflowUpdateResponse:
38572    '''
38573         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
38574     a WorkflowUpdateRequest.
38575    '''
38576    __slots__ = [
38577        'rate_limit',
38578        'workflow',
38579    ]
38580
38581    def __init__(
38582        self,
38583        rate_limit=None,
38584        workflow=None,
38585    ):
38586        self.rate_limit = rate_limit if rate_limit is not None else None
38587        '''
38588         Rate limit information.
38589        '''
38590        self.workflow = workflow if workflow is not None else None
38591        '''
38592         The updated workflow.
38593        '''
38594
38595    def __repr__(self):
38596        return '<sdm.WorkflowUpdateResponse ' + \
38597            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
38598            'workflow: ' + repr(self.workflow) + ' ' +\
38599            '>'
38600
38601    def to_dict(self):
38602        return {
38603            'rate_limit': self.rate_limit,
38604            'workflow': self.workflow,
38605        }
38606
38607    @classmethod
38608    def from_dict(cls, d):
38609        return cls(
38610            rate_limit=d.get('rate_limit'),
38611            workflow=d.get('workflow'),
38612        )

WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by a WorkflowUpdateRequest.

WorkflowUpdateResponse(rate_limit=None, workflow=None)
38581    def __init__(
38582        self,
38583        rate_limit=None,
38584        workflow=None,
38585    ):
38586        self.rate_limit = rate_limit if rate_limit is not None else None
38587        '''
38588         Rate limit information.
38589        '''
38590        self.workflow = workflow if workflow is not None else None
38591        '''
38592         The updated workflow.
38593        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
38601    def to_dict(self):
38602        return {
38603            'rate_limit': self.rate_limit,
38604            'workflow': self.workflow,
38605        }
@classmethod
def from_dict(cls, d)
38607    @classmethod
38608    def from_dict(cls, d):
38609        return cls(
38610            rate_limit=d.get('rate_limit'),
38611            workflow=d.get('workflow'),
38612        )